1* Freescale QUICC Engine module (QE) 2This represents qe module that is installed on PowerQUICC II Pro. 3 4NOTE: This is an interim binding; it should be updated to fit 5in with the CPM binding later in this document. 6 7Basically, it is a bus of devices, that could act more or less 8as a complete entity (UCC, USB etc ). All of them should be siblings on 9the "root" qe node, using the common properties from there. 10The description below applies to the qe of MPC8360 and 11more nodes and properties would be extended in the future. 12 13i) Root QE device 14 15Required properties: 16- compatible : should be "fsl,qe"; 17- model : precise model of the QE, Can be "QE", "CPM", or "CPM2" 18- reg : offset and length of the device registers. 19- bus-frequency : the clock frequency for QUICC Engine. 20- fsl,qe-num-riscs: define how many RISC engines the QE has. 21- fsl,qe-num-snums: define how many serial number(SNUM) the QE can use for the 22 threads. 23 24Optional properties: 25- fsl,firmware-phandle: 26 Usage: required only if there is no fsl,qe-firmware child node 27 Value type: <phandle> 28 Definition: Points to a firmware node (see "QE Firmware Node" below) 29 that contains the firmware that should be uploaded for this QE. 30 The compatible property for the firmware node should say, 31 "fsl,qe-firmware". 32 33Recommended properties 34- brg-frequency : the internal clock source frequency for baud-rate 35 generators in Hz. 36 37Example: 38 qe@e0100000 { 39 #address-cells = <1>; 40 #size-cells = <1>; 41 #interrupt-cells = <2>; 42 compatible = "fsl,qe"; 43 ranges = <0 e0100000 00100000>; 44 reg = <e0100000 480>; 45 brg-frequency = <0>; 46 bus-frequency = <179A7B00>; 47 } 48 49* Multi-User RAM (MURAM) 50 51Required properties: 52- compatible : should be "fsl,qe-muram", "fsl,cpm-muram". 53- mode : the could be "host" or "slave". 54- ranges : Should be defined as specified in 1) to describe the 55 translation of MURAM addresses. 56- data-only : sub-node which defines the address area under MURAM 57 bus that can be allocated as data/parameter 58 59Example: 60 61 muram@10000 { 62 compatible = "fsl,qe-muram", "fsl,cpm-muram"; 63 ranges = <0 00010000 0000c000>; 64 65 data-only@0{ 66 compatible = "fsl,qe-muram-data", 67 "fsl,cpm-muram-data"; 68 reg = <0 c000>; 69 }; 70 }; 71 72* Interrupt Controller (IC) 73 74Required properties: 75- compatible : should be "fsl,qe-ic". 76- reg : Address range of IC register set. 77- interrupts : interrupts generated by the device. 78- interrupt-controller : this device is a interrupt controller. 79 80Example: 81 82 qeic: interrupt-controller@80 { 83 interrupt-controller; 84 compatible = "fsl,qe-ic"; 85 #address-cells = <0>; 86 #interrupt-cells = <1>; 87 reg = <0x80 0x80>; 88 interrupts = <95 2 0 0 94 2 0 0>; 89 }; 90 91* Serial Interface Block (SI) 92 93The SI manages the routing of eight TDM lines to the QE block serial drivers 94, the MCC and the UCCs, for receive and transmit. 95 96Required properties: 97- compatible : must be "fsl,<chip>-qe-si". For t1040, must contain 98 "fsl,t1040-qe-si". 99- reg : Address range of SI register set. 100 101Example: 102 103 si1: si@700 { 104 compatible = "fsl,t1040-qe-si"; 105 reg = <0x700 0x80>; 106 }; 107 108* Serial Interface Block RAM(SIRAM) 109 110store the routing entries of SI 111 112Required properties: 113- compatible : should be "fsl,<chip>-qe-siram". For t1040, must contain 114 "fsl,t1040-qe-siram". 115- reg : Address range of SI RAM. 116 117Example: 118 119 siram1: siram@1000 { 120 compatible = "fsl,t1040-qe-siram"; 121 reg = <0x1000 0x800>; 122 }; 123 124* QE Firmware Node 125 126This node defines a firmware binary that is embedded in the device tree, for 127the purpose of passing the firmware from bootloader to the kernel, or from 128the hypervisor to the guest. 129 130The firmware node itself contains the firmware binary contents, a compatible 131property, and any firmware-specific properties. The node should be placed 132inside a QE node that needs it. Doing so eliminates the need for a 133fsl,firmware-phandle property. Other QE nodes that need the same firmware 134should define an fsl,firmware-phandle property that points to the firmware node 135in the first QE node. 136 137The fsl,firmware property can be specified in the DTS (possibly using incbin) 138or can be inserted by the boot loader at boot time. 139 140Required properties: 141 - compatible 142 Usage: required 143 Value type: <string> 144 Definition: A standard property. Specify a string that indicates what 145 kind of firmware it is. For QE, this should be "fsl,qe-firmware". 146 147 - fsl,firmware 148 Usage: required 149 Value type: <prop-encoded-array>, encoded as an array of bytes 150 Definition: A standard property. This property contains the firmware 151 binary "blob". 152 153Example: 154 qe1@e0080000 { 155 compatible = "fsl,qe"; 156 qe_firmware:qe-firmware { 157 compatible = "fsl,qe-firmware"; 158 fsl,firmware = [0x70 0xcd 0x00 0x00 0x01 0x46 0x45 ...]; 159 }; 160 ... 161 }; 162 163 qe2@e0090000 { 164 compatible = "fsl,qe"; 165 fsl,firmware-phandle = <&qe_firmware>; 166 ... 167 }; 168