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