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