1*4882a593Smuzhiyun* Freescale 85xx RAID Engine nodes 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunRAID Engine nodes are defined to describe on-chip RAID accelerators. Each RAID 4*4882a593SmuzhiyunEngine should have a separate node. 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunSupported chips: 7*4882a593SmuzhiyunP5020, P5040 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunRequired properties: 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun- compatible: Should contain "fsl,raideng-v1.0" as the value 12*4882a593Smuzhiyun This identifies RAID Engine block. 1 in 1.0 represents 13*4882a593Smuzhiyun major number whereas 0 represents minor number. The 14*4882a593Smuzhiyun version matches the hardware IP version. 15*4882a593Smuzhiyun- reg: offset and length of the register set for the device 16*4882a593Smuzhiyun- ranges: standard ranges property specifying the translation 17*4882a593Smuzhiyun between child address space and parent address space 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunExample: 20*4882a593Smuzhiyun /* P5020 */ 21*4882a593Smuzhiyun raideng: raideng@320000 { 22*4882a593Smuzhiyun compatible = "fsl,raideng-v1.0"; 23*4882a593Smuzhiyun #address-cells = <1>; 24*4882a593Smuzhiyun #size-cells = <1>; 25*4882a593Smuzhiyun reg = <0x320000 0x10000>; 26*4882a593Smuzhiyun ranges = <0 0x320000 0x10000>; 27*4882a593Smuzhiyun }; 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun 30*4882a593SmuzhiyunThere must be a sub-node for each job queue present in RAID Engine 31*4882a593SmuzhiyunThis node must be a sub-node of the main RAID Engine node 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun- compatible: Should contain "fsl,raideng-v1.0-job-queue" as the value 34*4882a593Smuzhiyun This identifies the job queue interface 35*4882a593Smuzhiyun- reg: offset and length of the register set for job queue 36*4882a593Smuzhiyun- ranges: standard ranges property specifying the translation 37*4882a593Smuzhiyun between child address space and parent address space 38*4882a593Smuzhiyun 39*4882a593SmuzhiyunExample: 40*4882a593Smuzhiyun /* P5020 */ 41*4882a593Smuzhiyun raideng_jq0@1000 { 42*4882a593Smuzhiyun compatible = "fsl,raideng-v1.0-job-queue"; 43*4882a593Smuzhiyun reg = <0x1000 0x1000>; 44*4882a593Smuzhiyun ranges = <0x0 0x1000 0x1000>; 45*4882a593Smuzhiyun }; 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun 48*4882a593SmuzhiyunThere must be a sub-node for each job ring present in RAID Engine 49*4882a593SmuzhiyunThis node must be a sub-node of job queue node 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun- compatible: Must contain "fsl,raideng-v1.0-job-ring" as the value 52*4882a593Smuzhiyun This identifies job ring. Should contain either 53*4882a593Smuzhiyun "fsl,raideng-v1.0-hp-ring" or "fsl,raideng-v1.0-lp-ring" 54*4882a593Smuzhiyun depending upon whether ring has high or low priority 55*4882a593Smuzhiyun- reg: offset and length of the register set for job ring 56*4882a593Smuzhiyun- interrupts: interrupt mapping for job ring IRQ 57*4882a593Smuzhiyun 58*4882a593SmuzhiyunOptional property: 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun- fsl,liodn: Specifies the LIODN to be used for Job Ring. This 61*4882a593Smuzhiyun property is normally set by firmware. Value 62*4882a593Smuzhiyun is of 12-bits which is the LIODN number for this JR. 63*4882a593Smuzhiyun This property is used by the IOMMU (PAMU) to distinquish 64*4882a593Smuzhiyun transactions from this JR and than be able to do address 65*4882a593Smuzhiyun translation & protection accordingly. 66*4882a593Smuzhiyun 67*4882a593SmuzhiyunExample: 68*4882a593Smuzhiyun /* P5020 */ 69*4882a593Smuzhiyun raideng_jq0@1000 { 70*4882a593Smuzhiyun compatible = "fsl,raideng-v1.0-job-queue"; 71*4882a593Smuzhiyun reg = <0x1000 0x1000>; 72*4882a593Smuzhiyun ranges = <0x0 0x1000 0x1000>; 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun raideng_jr0: jr@0 { 75*4882a593Smuzhiyun compatible = "fsl,raideng-v1.0-job-ring", "fsl,raideng-v1.0-hp-ring"; 76*4882a593Smuzhiyun reg = <0x0 0x400>; 77*4882a593Smuzhiyun interrupts = <139 2 0 0>; 78*4882a593Smuzhiyun interrupt-parent = <&mpic>; 79*4882a593Smuzhiyun fsl,liodn = <0x41>; 80*4882a593Smuzhiyun }; 81*4882a593Smuzhiyun }; 82