Commit | Line | Data |
---|---|---|
4980f9bc LW |
1 | ARM Integrator/AP (Application Platform) and Integrator/CP (Compact Platform) |
2 | ----------------------------------------------------------------------------- | |
3 | ARM's oldest Linux-supported platform with connectors for different core | |
4 | tiles of ARMv4, ARMv5 and ARMv6 type. | |
5 | ||
6 | Required properties (in root node): | |
7 | compatible = "arm,integrator-ap"; /* Application Platform */ | |
8 | compatible = "arm,integrator-cp"; /* Compact Platform */ | |
9 | ||
10 | FPGA type interrupt controllers, see the versatile-fpga-irq binding doc. | |
11 | ||
a6720258 LW |
12 | Required nodes: |
13 | ||
bb4dbefe LW |
14 | - core-module: the root node to the Integrator platforms must have |
15 | a core-module with regs and the compatible string | |
16 | "arm,core-module-integrator" | |
307b9667 LW |
17 | - external-bus-interface: the root node to the Integrator platforms |
18 | must have an external bus interface with regs and the | |
19 | compatible-string "arm,external-bus-interface" | |
bb4dbefe LW |
20 | |
21 | Required properties for the core module: | |
22 | - regs: the location and size of the core module registers, one | |
23 | range of 0x200 bytes. | |
24 | ||
df36680f | 25 | - syscon: the root node of the Integrator platforms must have a |
7c2461b7 | 26 | system controller node pointing to the control registers, |
df36680f LW |
27 | with the compatible string |
28 | "arm,integrator-ap-syscon" | |
29 | "arm,integrator-cp-syscon" | |
30 | respectively. | |
31 | ||
32 | Required properties for the system controller: | |
33 | - regs: the location and size of the system controller registers, | |
34 | one range of 0x100 bytes. | |
35 | ||
36 | Required properties for the AP system controller: | |
37 | - interrupts: the AP syscon node must include the logical module | |
38 | interrupts, stated in order of module instance <module 0>, | |
39 | <module 1>, <module 2> ... for the CP system controller this | |
40 | is not required not of any use. | |
a6720258 LW |
41 | |
42 | /dts-v1/; | |
43 | /include/ "integrator.dtsi" | |
44 | ||
45 | / { | |
46 | model = "ARM Integrator/AP"; | |
47 | compatible = "arm,integrator-ap"; | |
48 | ||
bb4dbefe LW |
49 | core-module@10000000 { |
50 | compatible = "arm,core-module-integrator"; | |
51 | reg = <0x10000000 0x200>; | |
52 | }; | |
53 | ||
307b9667 LW |
54 | ebi@12000000 { |
55 | compatible = "arm,external-bus-interface"; | |
56 | reg = <0x12000000 0x100>; | |
57 | }; | |
58 | ||
a6720258 | 59 | syscon { |
df36680f | 60 | compatible = "arm,integrator-ap-syscon"; |
a6720258 LW |
61 | reg = <0x11000000 0x100>; |
62 | interrupt-parent = <&pic>; | |
63 | /* These are the logic module IRQs */ | |
64 | interrupts = <9>, <10>, <11>, <12>; | |
65 | }; | |
66 | }; | |
64100a03 | 67 | |
4980f9bc | 68 | |
3ba7222a GL |
69 | ARM Versatile Application and Platform Baseboards |
70 | ------------------------------------------------- | |
71 | ARM's development hardware platform with connectors for customizable | |
72 | core tiles. The hardware configuration of the Versatile boards is | |
73 | highly customizable. | |
74 | ||
75 | Required properties (in root node): | |
76 | compatible = "arm,versatile-ab"; /* Application baseboard */ | |
77 | compatible = "arm,versatile-pb"; /* Platform baseboard */ | |
78 | ||
79 | Interrupt controllers: | |
80 | - VIC required properties: | |
81 | compatible = "arm,versatile-vic"; | |
82 | interrupt-controller; | |
83 | #interrupt-cells = <1>; | |
84 | ||
85 | - SIC required properties: | |
86 | compatible = "arm,versatile-sic"; | |
87 | interrupt-controller; | |
88 | #interrupt-cells = <1>; | |
fe3eed11 RH |
89 | |
90 | Required nodes: | |
91 | ||
92 | - core-module: the root node to the Versatile platforms must have | |
93 | a core-module with regs and the compatible strings | |
94 | "arm,core-module-versatile", "syscon" | |
f123a66c | 95 | |
1a66ab2d LW |
96 | Optional nodes: |
97 | ||
98 | - arm,versatile-ib2-syscon : if the Versatile has an IB2 interface | |
99 | board mounted, this has a separate system controller that is | |
100 | defined in this node. | |
101 | Required properties: | |
102 | compatible = "arm,versatile-ib2-syscon", "syscon" | |
103 | ||
f123a66c LW |
104 | ARM RealView Boards |
105 | ------------------- | |
106 | The RealView boards cover tailored evaluation boards that are used to explore | |
107 | the ARM11 and Cortex A-8 and Cortex A-9 processors. | |
108 | ||
109 | Required properties (in root node): | |
110 | /* RealView Emulation Baseboard */ | |
111 | compatible = "arm,realview-eb"; | |
112 | /* RealView Platform Baseboard for ARM1176JZF-S */ | |
113 | compatible = "arm,realview-pb1176"; | |
114 | /* RealView Platform Baseboard for ARM11 MPCore */ | |
115 | compatible = "arm,realview-pb11mp"; | |
116 | /* RealView Platform Baseboard for Cortex A-8 */ | |
117 | compatible = "arm,realview-pba8"; | |
118 | /* RealView Platform Baseboard Explore for Cortex A-9 */ | |
119 | compatible = "arm,realview-pbx"; | |
120 | ||
121 | Required nodes: | |
122 | ||
123 | - soc: some node of the RealView platforms must be the SoC | |
124 | node that contain the SoC-specific devices, withe the compatible | |
125 | string set to one of these tuples: | |
126 | "arm,realview-eb-soc", "simple-bus" | |
127 | "arm,realview-pb1176-soc", "simple-bus" | |
128 | "arm,realview-pb11mp-soc", "simple-bus" | |
129 | "arm,realview-pba8-soc", "simple-bus" | |
130 | "arm,realview-pbx-soc", "simple-bus" | |
131 | ||
132 | - syscon: some subnode of the RealView SoC node must be a | |
133 | system controller node pointing to the control registers, | |
8fe420da LW |
134 | with the compatible string set to one of these: |
135 | "arm,realview-eb11mp-revb-syscon", "arm,realview-eb-syscon", "syscon" | |
136 | "arm,realview-eb11mp-revc-syscon", "arm,realview-eb-syscon", "syscon" | |
f123a66c LW |
137 | "arm,realview-eb-syscon", "syscon" |
138 | "arm,realview-pb1176-syscon", "syscon" | |
139 | "arm,realview-pb11mp-syscon", "syscon" | |
140 | "arm,realview-pba8-syscon", "syscon" | |
141 | "arm,realview-pbx-syscon", "syscon" | |
142 | ||
143 | Required properties for the system controller: | |
144 | - regs: the location and size of the system controller registers, | |
145 | one range of 0x1000 bytes. | |
146 | ||
147 | Example: | |
148 | ||
149 | /dts-v1/; | |
150 | #include <dt-bindings/interrupt-controller/irq.h> | |
151 | #include "skeleton.dtsi" | |
152 | ||
153 | / { | |
154 | model = "ARM RealView PB1176 with device tree"; | |
155 | compatible = "arm,realview-pb1176"; | |
156 | ||
157 | soc { | |
158 | #address-cells = <1>; | |
159 | #size-cells = <1>; | |
160 | compatible = "arm,realview-pb1176-soc", "simple-bus"; | |
161 | ranges; | |
162 | ||
163 | syscon: syscon@10000000 { | |
164 | compatible = "arm,realview-syscon", "syscon"; | |
165 | reg = <0x10000000 0x1000>; | |
166 | }; | |
167 | ||
168 | }; | |
169 | }; | |
41e177b3 LD |
170 | |
171 | ARM Versatile Express Boards | |
172 | ----------------------------- | |
173 | For details on the device tree bindings for ARM Versatile Express boards | |
174 | please consult the vexpress.txt file in the same directory as this file. | |
175 | ||
176 | ARM Juno Boards | |
177 | ---------------- | |
178 | The Juno boards are targeting development for AArch64 systems. The first | |
179 | iteration, Juno r0, is a vehicle for evaluating big.LITTLE on AArch64, | |
180 | with the second iteration, Juno r1, mainly aimed at development of PCIe | |
181 | based systems. Juno r1 also has support for AXI masters placed on the TLX | |
182 | connectors to join the coherency domain. | |
183 | ||
184 | Juno boards are described in a similar way to ARM Versatile Express boards, | |
185 | with the motherboard part of the hardware being described in a separate file | |
186 | to highlight the fact that is part of the support infrastructure for the SoC. | |
187 | Juno device tree bindings also share the Versatile Express bindings as | |
188 | described under the RS1 memory mapping. | |
189 | ||
190 | Required properties (in root node): | |
191 | compatible = "arm,juno"; /* For Juno r0 board */ | |
192 | compatible = "arm,juno-r1"; /* For Juno r1 board */ | |
e6d7f6dc | 193 | compatible = "arm,juno-r2"; /* For Juno r2 board */ |
41e177b3 LD |
194 | |
195 | Required nodes: | |
196 | The description for the board must include: | |
197 | - a "psci" node describing the boot method used for the secondary CPUs. | |
198 | A detailed description of the bindings used for "psci" nodes is present | |
199 | in the psci.txt file. | |
200 | - a "cpus" node describing the available cores and their associated | |
201 | "enable-method"s. For more details see cpus.txt file. | |
202 | ||
203 | Example: | |
204 | ||
205 | /dts-v1/; | |
206 | / { | |
207 | model = "ARM Juno development board (r0)"; | |
208 | compatible = "arm,juno", "arm,vexpress"; | |
209 | interrupt-parent = <&gic>; | |
210 | #address-cells = <2>; | |
211 | #size-cells = <2>; | |
212 | ||
213 | cpus { | |
214 | #address-cells = <2>; | |
215 | #size-cells = <0>; | |
216 | ||
217 | A57_0: cpu@0 { | |
218 | compatible = "arm,cortex-a57","arm,armv8"; | |
219 | reg = <0x0 0x0>; | |
220 | device_type = "cpu"; | |
221 | enable-method = "psci"; | |
222 | }; | |
223 | ||
224 | ..... | |
225 | ||
226 | A53_0: cpu@100 { | |
227 | compatible = "arm,cortex-a53","arm,armv8"; | |
228 | reg = <0x0 0x100>; | |
229 | device_type = "cpu"; | |
230 | enable-method = "psci"; | |
231 | }; | |
232 | ||
233 | ..... | |
234 | }; | |
235 | ||
236 | }; |