1*c66ec88fSEmmanuel VadotQorIQ DPAA Queue Manager Portals Device Tree Binding 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotCopyright (C) 2008 - 2014 Freescale Semiconductor Inc. 4*c66ec88fSEmmanuel Vadot 5*c66ec88fSEmmanuel VadotCONTENTS 6*c66ec88fSEmmanuel Vadot 7*c66ec88fSEmmanuel Vadot - QMan Portal 8*c66ec88fSEmmanuel Vadot - Example 9*c66ec88fSEmmanuel Vadot 10*c66ec88fSEmmanuel VadotQMan Portal Node 11*c66ec88fSEmmanuel Vadot 12*c66ec88fSEmmanuel VadotPortals are memory mapped interfaces to QMan that allow low-latency, lock-less 13*c66ec88fSEmmanuel Vadotinteraction by software running on processor cores, accelerators and network 14*c66ec88fSEmmanuel Vadotinterfaces with the QMan 15*c66ec88fSEmmanuel Vadot 16*c66ec88fSEmmanuel VadotPROPERTIES 17*c66ec88fSEmmanuel Vadot 18*c66ec88fSEmmanuel Vadot- compatible 19*c66ec88fSEmmanuel Vadot Usage: Required 20*c66ec88fSEmmanuel Vadot Value type: <stringlist> 21*c66ec88fSEmmanuel Vadot Definition: Must include "fsl,qman-portal-<hardware revision>" 22*c66ec88fSEmmanuel Vadot May include "fsl,<SoC>-qman-portal" or "fsl,qman-portal" 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel Vadot- reg 25*c66ec88fSEmmanuel Vadot Usage: Required 26*c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 27*c66ec88fSEmmanuel Vadot Definition: Two regions. The first is the cache-enabled region of 28*c66ec88fSEmmanuel Vadot the portal. The second is the cache-inhibited region of 29*c66ec88fSEmmanuel Vadot the portal 30*c66ec88fSEmmanuel Vadot 31*c66ec88fSEmmanuel Vadot- interrupts 32*c66ec88fSEmmanuel Vadot Usage: Required 33*c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 34*c66ec88fSEmmanuel Vadot Definition: Standard property 35*c66ec88fSEmmanuel Vadot 36*c66ec88fSEmmanuel Vadot- fsl,liodn 37*c66ec88fSEmmanuel Vadot Usage: See pamu.txt 38*c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 39*c66ec88fSEmmanuel Vadot Definition: Two LIODN(s). DQRR LIODN (DLIODN) and Frame LIODN 40*c66ec88fSEmmanuel Vadot (FLIODN) 41*c66ec88fSEmmanuel Vadot 42*c66ec88fSEmmanuel Vadot- fsl,iommu-parent 43*c66ec88fSEmmanuel Vadot Usage: See pamu.txt 44*c66ec88fSEmmanuel Vadot Value type: <phandle> 45*c66ec88fSEmmanuel Vadot Definition: PAMU property used for dynamic LIODN assignment 46*c66ec88fSEmmanuel Vadot 47*c66ec88fSEmmanuel Vadot For additional details about the PAMU/LIODN binding(s) see pamu.txt 48*c66ec88fSEmmanuel Vadot 49*c66ec88fSEmmanuel Vadot- cell-index 50*c66ec88fSEmmanuel Vadot Usage: Required 51*c66ec88fSEmmanuel Vadot Value type: <u32> 52*c66ec88fSEmmanuel Vadot Definition: The hardware index of the channel. This can also be 53*c66ec88fSEmmanuel Vadot determined by dividing any of the channel's 8 work queue 54*c66ec88fSEmmanuel Vadot IDs by 8 55*c66ec88fSEmmanuel Vadot 56*c66ec88fSEmmanuel VadotIn addition to these properties the qman-portals should have sub-nodes to 57*c66ec88fSEmmanuel Vadotrepresent the HW devices/portals that are connected to the software portal 58*c66ec88fSEmmanuel Vadotdescribed here 59*c66ec88fSEmmanuel Vadot 60*c66ec88fSEmmanuel VadotThe currently supported sub-nodes are: 61*c66ec88fSEmmanuel Vadot * fman0 62*c66ec88fSEmmanuel Vadot * fman1 63*c66ec88fSEmmanuel Vadot * pme 64*c66ec88fSEmmanuel Vadot * crypto 65*c66ec88fSEmmanuel Vadot 66*c66ec88fSEmmanuel VadotThese subnodes should have the following properties: 67*c66ec88fSEmmanuel Vadot 68*c66ec88fSEmmanuel Vadot- fsl,liodn 69*c66ec88fSEmmanuel Vadot Usage: See pamu.txt 70*c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 71*c66ec88fSEmmanuel Vadot Definition: PAMU property used for static LIODN assignment 72*c66ec88fSEmmanuel Vadot 73*c66ec88fSEmmanuel Vadot- fsl,iommu-parent 74*c66ec88fSEmmanuel Vadot Usage: See pamu.txt 75*c66ec88fSEmmanuel Vadot Value type: <phandle> 76*c66ec88fSEmmanuel Vadot Definition: PAMU property used for dynamic LIODN assignment 77*c66ec88fSEmmanuel Vadot 78*c66ec88fSEmmanuel Vadot- dev-handle 79*c66ec88fSEmmanuel Vadot Usage: Required 80*c66ec88fSEmmanuel Vadot Value type: <phandle> 81*c66ec88fSEmmanuel Vadot Definition: The phandle to the particular hardware device that this 82*c66ec88fSEmmanuel Vadot portal is connected to. 83*c66ec88fSEmmanuel Vadot 84*c66ec88fSEmmanuel VadotEXAMPLE 85*c66ec88fSEmmanuel Vadot 86*c66ec88fSEmmanuel VadotThe example below shows a (P4080) QMan portals container/bus node with two portals 87*c66ec88fSEmmanuel Vadot 88*c66ec88fSEmmanuel Vadot qman-portals@ff4200000 { 89*c66ec88fSEmmanuel Vadot #address-cells = <1>; 90*c66ec88fSEmmanuel Vadot #size-cells = <1>; 91*c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 92*c66ec88fSEmmanuel Vadot ranges = <0 0xf 0xf4200000 0x200000>; 93*c66ec88fSEmmanuel Vadot 94*c66ec88fSEmmanuel Vadot qman-portal@0 { 95*c66ec88fSEmmanuel Vadot compatible = "fsl,qman-portal-1.2.0", "fsl,qman-portal"; 96*c66ec88fSEmmanuel Vadot reg = <0 0x4000>, <0x100000 0x1000>; 97*c66ec88fSEmmanuel Vadot interrupts = <104 2 0 0>; 98*c66ec88fSEmmanuel Vadot fsl,liodn = <1 2>; 99*c66ec88fSEmmanuel Vadot fsl,qman-channel-id = <0>; 100*c66ec88fSEmmanuel Vadot 101*c66ec88fSEmmanuel Vadot fman0 { 102*c66ec88fSEmmanuel Vadot fsl,liodn = <0x21>; 103*c66ec88fSEmmanuel Vadot dev-handle = <&fman0>; 104*c66ec88fSEmmanuel Vadot }; 105*c66ec88fSEmmanuel Vadot fman1 { 106*c66ec88fSEmmanuel Vadot fsl,liodn = <0xa1>; 107*c66ec88fSEmmanuel Vadot dev-handle = <&fman1>; 108*c66ec88fSEmmanuel Vadot }; 109*c66ec88fSEmmanuel Vadot crypto { 110*c66ec88fSEmmanuel Vadot fsl,liodn = <0x41 0x66>; 111*c66ec88fSEmmanuel Vadot dev-handle = <&crypto>; 112*c66ec88fSEmmanuel Vadot }; 113*c66ec88fSEmmanuel Vadot }; 114*c66ec88fSEmmanuel Vadot qman-portal@4000 { 115*c66ec88fSEmmanuel Vadot compatible = "fsl,qman-portal-1.2.0", "fsl,qman-portal"; 116*c66ec88fSEmmanuel Vadot reg = <0x4000 0x4000>, <0x101000 0x1000>; 117*c66ec88fSEmmanuel Vadot interrupts = <106 2 0 0>; 118*c66ec88fSEmmanuel Vadot fsl,liodn = <3 4>; 119*c66ec88fSEmmanuel Vadot cell-index = <1>; 120*c66ec88fSEmmanuel Vadot 121*c66ec88fSEmmanuel Vadot fman0 { 122*c66ec88fSEmmanuel Vadot fsl,liodn = <0x22>; 123*c66ec88fSEmmanuel Vadot dev-handle = <&fman0>; 124*c66ec88fSEmmanuel Vadot }; 125*c66ec88fSEmmanuel Vadot fman1 { 126*c66ec88fSEmmanuel Vadot fsl,liodn = <0xa2>; 127*c66ec88fSEmmanuel Vadot dev-handle = <&fman1>; 128*c66ec88fSEmmanuel Vadot }; 129*c66ec88fSEmmanuel Vadot crypto { 130*c66ec88fSEmmanuel Vadot fsl,liodn = <0x42 0x67>; 131*c66ec88fSEmmanuel Vadot dev-handle = <&crypto>; 132*c66ec88fSEmmanuel Vadot }; 133*c66ec88fSEmmanuel Vadot }; 134*c66ec88fSEmmanuel Vadot }; 135