bman.txt 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. QorIQ DPAA Buffer Manager Device Tree Bindings
  2. Copyright (C) 2008 - 2014 Freescale Semiconductor Inc.
  3. CONTENTS
  4. - BMan Node
  5. - BMan Private Memory Node
  6. - Example
  7. BMan Node
  8. The Buffer Manager is part of the Data-Path Acceleration Architecture (DPAA).
  9. BMan supports hardware allocation and deallocation of buffers belonging to pools
  10. originally created by software with configurable depletion thresholds. This
  11. binding covers the CCSR space programming model
  12. PROPERTIES
  13. - compatible
  14. Usage: Required
  15. Value type: <stringlist>
  16. Definition: Must include "fsl,bman"
  17. May include "fsl,<SoC>-bman"
  18. - reg
  19. Usage: Required
  20. Value type: <prop-encoded-array>
  21. Definition: Registers region within the CCSR address space
  22. The BMan revision information is located in the BMAN_IP_REV_1/2 registers which
  23. are located at offsets 0xbf8 and 0xbfc
  24. - interrupts
  25. Usage: Required
  26. Value type: <prop-encoded-array>
  27. Definition: Standard property. The error interrupt
  28. - fsl,bman-portals
  29. Usage: Required
  30. Value type: <phandle>
  31. Definition: Phandle to this BMan instance's portals
  32. - fsl,liodn
  33. Usage: See pamu.txt
  34. Value type: <prop-encoded-array>
  35. Definition: PAMU property used for static LIODN assignment
  36. - fsl,iommu-parent
  37. Usage: See pamu.txt
  38. Value type: <phandle>
  39. Definition: PAMU property used for dynamic LIODN assignment
  40. For additional details about the PAMU/LIODN binding(s) see pamu.txt
  41. Devices connected to a BMan instance via Direct Connect Portals (DCP) must link
  42. to the respective BMan instance
  43. - fsl,bman
  44. Usage: Required
  45. Value type: <prop-encoded-array>
  46. Description: List of phandle and DCP index pairs, to the BMan instance
  47. to which this device is connected via the DCP
  48. BMan Private Memory Node
  49. BMan requires a contiguous range of physical memory used for the backing store
  50. for BMan Free Buffer Proxy Records (FBPR). This memory is reserved/allocated as
  51. a node under the /reserved-memory node.
  52. The BMan FBPR memory node must be named "bman-fbpr"
  53. PROPERTIES
  54. - compatible
  55. Usage: required
  56. Value type: <stringlist>
  57. Definition: PPC platforms: Must include "fsl,bman-fbpr"
  58. ARM platforms: Must include "shared-dma-pool"
  59. as well as the "no-map" property
  60. The following constraints are relevant to the FBPR private memory:
  61. - The size must be 2^(size + 1), with size = 11..33. That is 4 KiB to
  62. 16 GiB
  63. - The alignment must be a muliptle of the memory size
  64. The size of the FBPR must be chosen by observing the hardware features configured
  65. via the Reset Configuration Word (RCW) and that are relevant to a specific board
  66. (e.g. number of MAC(s) pinned-out, number of offline/host command FMan ports,
  67. etc.). The size configured in the DT must reflect the hardware capabilities and
  68. not the specific needs of an application
  69. For additional details about reserved memory regions see reserved-memory.txt
  70. EXAMPLE
  71. The example below shows a BMan FBPR dynamic allocation memory node
  72. reserved-memory {
  73. #address-cells = <2>;
  74. #size-cells = <2>;
  75. ranges;
  76. bman_fbpr: bman-fbpr {
  77. compatible = "shared-mem-pool";
  78. size = <0 0x1000000>;
  79. alignment = <0 0x1000000>;
  80. no-map;
  81. };
  82. };
  83. The example below shows a (P4080) BMan CCSR-space node
  84. bportals: bman-portals@ff4000000 {
  85. ...
  86. };
  87. crypto@300000 {
  88. ...
  89. fsl,bman = <&bman, 2>;
  90. ...
  91. };
  92. bman: bman@31a000 {
  93. compatible = "fsl,bman";
  94. reg = <0x31a000 0x1000>;
  95. interrupts = <16 2 1 2>;
  96. fsl,liodn = <0x17>;
  97. fsl,bman-portals = <&bportals>;
  98. memory-region = <&bman_fbpr>;
  99. };
  100. fman@400000 {
  101. ...
  102. fsl,bman = <&bman, 0>;
  103. ...
  104. };