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