Commit | Line | Data |
---|---|---|
d0fc2eaa KG |
1 | * Freescale QUICC Engine module (QE) |
2 | This represents qe module that is installed on PowerQUICC II Pro. | |
3 | ||
4 | NOTE: This is an interim binding; it should be updated to fit | |
5 | in with the CPM binding later in this document. | |
6 | ||
7 | Basically, it is a bus of devices, that could act more or less | |
8 | as a complete entity (UCC, USB etc ). All of them should be siblings on | |
9 | the "root" qe node, using the common properties from there. | |
10 | The description below applies to the qe of MPC8360 and | |
11 | more nodes and properties would be extended in the future. | |
12 | ||
13 | i) Root QE device | |
14 | ||
15 | Required 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. | |
06c44350 | 20 | - fsl,qe-num-riscs: define how many RISC engines the QE has. |
98ca77af HW |
21 | - fsl,qe-num-snums: define how many serial number(SNUM) the QE can use for the |
22 | threads. | |
d0fc2eaa | 23 | |
95d2c8ef TT |
24 | Optional 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 | ||
d0fc2eaa KG |
33 | Recommended properties |
34 | - brg-frequency : the internal clock source frequency for baud-rate | |
35 | generators in Hz. | |
36 | ||
37 | Example: | |
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 | ||
51 | Required 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 | ||
59 | Example: | |
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 | }; | |
95d2c8ef TT |
71 | |
72 | * QE Firmware Node | |
73 | ||
74 | This node defines a firmware binary that is embedded in the device tree, for | |
75 | the purpose of passing the firmware from bootloader to the kernel, or from | |
76 | the hypervisor to the guest. | |
77 | ||
78 | The firmware node itself contains the firmware binary contents, a compatible | |
79 | property, and any firmware-specific properties. The node should be placed | |
80 | inside a QE node that needs it. Doing so eliminates the need for a | |
81 | fsl,firmware-phandle property. Other QE nodes that need the same firmware | |
82 | should define an fsl,firmware-phandle property that points to the firmware node | |
83 | in the first QE node. | |
84 | ||
85 | The fsl,firmware property can be specified in the DTS (possibly using incbin) | |
86 | or can be inserted by the boot loader at boot time. | |
87 | ||
88 | Required properties: | |
89 | - compatible | |
90 | Usage: required | |
91 | Value type: <string> | |
92 | Definition: A standard property. Specify a string that indicates what | |
93 | kind of firmware it is. For QE, this should be "fsl,qe-firmware". | |
94 | ||
95 | - fsl,firmware | |
96 | Usage: required | |
97 | Value type: <prop-encoded-array>, encoded as an array of bytes | |
98 | Definition: A standard property. This property contains the firmware | |
99 | binary "blob". | |
100 | ||
101 | Example: | |
102 | qe1@e0080000 { | |
103 | compatible = "fsl,qe"; | |
104 | qe_firmware:qe-firmware { | |
105 | compatible = "fsl,qe-firmware"; | |
106 | fsl,firmware = [0x70 0xcd 0x00 0x00 0x01 0x46 0x45 ...]; | |
107 | }; | |
108 | ... | |
109 | }; | |
110 | ||
111 | qe2@e0090000 { | |
112 | compatible = "fsl,qe"; | |
113 | fsl,firmware-phandle = <&qe_firmware>; | |
114 | ... | |
115 | }; |