Merge tag 'wireless-drivers-for-davem-2016-04-25' of git://git.kernel.org/pub/scm...
[cascardo/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 ARM RealView Boards
97 -------------------
98 The RealView boards cover tailored evaluation boards that are used to explore
99 the ARM11 and Cortex A-8 and Cortex A-9 processors.
100
101 Required properties (in root node):
102         /* RealView Emulation Baseboard */
103         compatible = "arm,realview-eb";
104          /* RealView Platform Baseboard for ARM1176JZF-S */
105         compatible = "arm,realview-pb1176";
106         /* RealView Platform Baseboard for ARM11 MPCore */
107         compatible = "arm,realview-pb11mp";
108         /* RealView Platform Baseboard for Cortex A-8 */
109         compatible = "arm,realview-pba8";
110         /* RealView Platform Baseboard Explore for Cortex A-9 */
111         compatible = "arm,realview-pbx";
112
113 Required nodes:
114
115 - soc: some node of the RealView platforms must be the SoC
116   node that contain the SoC-specific devices, withe the compatible
117   string set to one of these tuples:
118    "arm,realview-eb-soc", "simple-bus"
119    "arm,realview-pb1176-soc", "simple-bus"
120    "arm,realview-pb11mp-soc", "simple-bus"
121    "arm,realview-pba8-soc", "simple-bus"
122    "arm,realview-pbx-soc", "simple-bus"
123
124 - syscon: some subnode of the RealView SoC node must be a
125   system controller node pointing to the control registers,
126   with the compatible string set to one of these:
127    "arm,realview-eb11mp-revb-syscon", "arm,realview-eb-syscon", "syscon"
128    "arm,realview-eb11mp-revc-syscon", "arm,realview-eb-syscon", "syscon"
129    "arm,realview-eb-syscon", "syscon"
130    "arm,realview-pb1176-syscon", "syscon"
131    "arm,realview-pb11mp-syscon", "syscon"
132    "arm,realview-pba8-syscon", "syscon"
133    "arm,realview-pbx-syscon", "syscon"
134
135   Required properties for the system controller:
136   - regs: the location and size of the system controller registers,
137     one range of 0x1000 bytes.
138
139 Example:
140
141 /dts-v1/;
142 #include <dt-bindings/interrupt-controller/irq.h>
143 #include "skeleton.dtsi"
144
145 / {
146         model = "ARM RealView PB1176 with device tree";
147         compatible = "arm,realview-pb1176";
148
149         soc {
150                 #address-cells = <1>;
151                 #size-cells = <1>;
152                 compatible = "arm,realview-pb1176-soc", "simple-bus";
153                 ranges;
154
155                 syscon: syscon@10000000 {
156                         compatible = "arm,realview-syscon", "syscon";
157                         reg = <0x10000000 0x1000>;
158                 };
159
160         };
161 };
162
163 ARM Versatile Express Boards
164 -----------------------------
165 For details on the device tree bindings for ARM Versatile Express boards
166 please consult the vexpress.txt file in the same directory as this file.
167
168 ARM Juno Boards
169 ----------------
170 The Juno boards are targeting development for AArch64 systems. The first
171 iteration, Juno r0, is a vehicle for evaluating big.LITTLE on AArch64,
172 with the second iteration, Juno r1, mainly aimed at development of PCIe
173 based systems. Juno r1 also has support for AXI masters placed on the TLX
174 connectors to join the coherency domain.
175
176 Juno boards are described in a similar way to ARM Versatile Express boards,
177 with the motherboard part of the hardware being described in a separate file
178 to highlight the fact that is part of the support infrastructure for the SoC.
179 Juno device tree bindings also share the Versatile Express bindings as
180 described under the RS1 memory mapping.
181
182 Required properties (in root node):
183         compatible = "arm,juno";        /* For Juno r0 board */
184         compatible = "arm,juno-r1";     /* For Juno r1 board */
185         compatible = "arm,juno-r2";     /* For Juno r2 board */
186
187 Required nodes:
188 The description for the board must include:
189    - a "psci" node describing the boot method used for the secondary CPUs.
190      A detailed description of the bindings used for "psci" nodes is present
191      in the psci.txt file.
192    - a "cpus" node describing the available cores and their associated
193      "enable-method"s. For more details see cpus.txt file.
194
195 Example:
196
197 /dts-v1/;
198 / {
199         model = "ARM Juno development board (r0)";
200         compatible = "arm,juno", "arm,vexpress";
201         interrupt-parent = <&gic>;
202         #address-cells = <2>;
203         #size-cells = <2>;
204
205         cpus {
206                 #address-cells = <2>;
207                 #size-cells = <0>;
208
209                 A57_0: cpu@0 {
210                         compatible = "arm,cortex-a57","arm,armv8";
211                         reg = <0x0 0x0>;
212                         device_type = "cpu";
213                         enable-method = "psci";
214                 };
215
216                 .....
217
218                 A53_0: cpu@100 {
219                         compatible = "arm,cortex-a53","arm,armv8";
220                         reg = <0x0 0x100>;
221                         device_type = "cpu";
222                         enable-method = "psci";
223                 };
224
225                 .....
226         };
227
228 };