Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[deliverable/linux.git] / Documentation / devicetree / bindings / arm / arm-boards
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
12 Required nodes:
13
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"
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"
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
25 - syscon: the root node of the Integrator platforms must have a
26 system controller node pointing to the control registers,
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.
41
42 /dts-v1/;
43 /include/ "integrator.dtsi"
44
45 / {
46 model = "ARM Integrator/AP";
47 compatible = "arm,integrator-ap";
48
49 core-module@10000000 {
50 compatible = "arm,core-module-integrator";
51 reg = <0x10000000 0x200>;
52 };
53
54 ebi@12000000 {
55 compatible = "arm,external-bus-interface";
56 reg = <0x12000000 0x100>;
57 };
58
59 syscon {
60 compatible = "arm,integrator-ap-syscon";
61 reg = <0x11000000 0x100>;
62 interrupt-parent = <&pic>;
63 /* These are the logic module IRQs */
64 interrupts = <9>, <10>, <11>, <12>;
65 };
66 };
67
68
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>;
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"
95
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
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,
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"
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 };
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 */
193 compatible = "arm,juno-r2"; /* For Juno r2 board */
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 };
This page took 0.03974 seconds and 5 git commands to generate.