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 a 69node 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: Must inclide "fsl,bman-fbpr" 79 80The following constraints are relevant to the FBPR private memory: 81 - The size must be 2^(size + 1), with size = 11..33. That is 4 KiB to 82 16 GiB 83 - The alignment must be a muliptle of the memory size 84 85The size of the FBPR must be chosen by observing the hardware features configured 86via the Reset Configuration Word (RCW) and that are relevant to a specific board 87(e.g. number of MAC(s) pinned-out, number of offline/host command FMan ports, 88etc.). The size configured in the DT must reflect the hardware capabilities and 89not the specific needs of an application 90 91For additional details about reserved memory regions see reserved-memory.txt 92 93EXAMPLE 94 95The example below shows a BMan FBPR dynamic allocation memory node 96 97 reserved-memory { 98 #address-cells = <2>; 99 #size-cells = <2>; 100 ranges; 101 102 bman_fbpr: bman-fbpr { 103 compatible = "fsl,bman-fbpr"; 104 alloc-ranges = <0 0 0x10 0>; 105 size = <0 0x1000000>; 106 alignment = <0 0x1000000>; 107 }; 108 }; 109 110The example below shows a (P4080) BMan CCSR-space node 111 112 bportals: bman-portals@ff4000000 { 113 ... 114 }; 115 116 crypto@300000 { 117 ... 118 fsl,bman = <&bman, 2>; 119 ... 120 }; 121 122 bman: bman@31a000 { 123 compatible = "fsl,bman"; 124 reg = <0x31a000 0x1000>; 125 interrupts = <16 2 1 2>; 126 fsl,liodn = <0x17>; 127 fsl,bman-portals = <&bportals>; 128 memory-region = <&bman_fbpr>; 129 }; 130 131 fman@400000 { 132 ... 133 fsl,bman = <&bman, 0>; 134 ... 135 }; 136