1ARM Integrator/AP (Application Platform) and Integrator/CP (Compact Platform) 2----------------------------------------------------------------------------- 3ARM's oldest Linux-supported platform with connectors for different core 4tiles of ARMv4, ARMv5 and ARMv6 type. 5 6Required properties (in root node): 7 compatible = "arm,integrator-ap"; /* Application Platform */ 8 compatible = "arm,integrator-cp"; /* Compact Platform */ 9 10FPGA type interrupt controllers, see the versatile-fpga-irq binding doc. 11 12Required 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 69ARM Versatile Application and Platform Baseboards 70------------------------------------------------- 71ARM's development hardware platform with connectors for customizable 72core tiles. The hardware configuration of the Versatile boards is 73highly customizable. 74 75Required properties (in root node): 76 compatible = "arm,versatile-ab"; /* Application baseboard */ 77 compatible = "arm,versatile-pb"; /* Platform baseboard */ 78 79Interrupt 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 90Required 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 96Optional 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 104ARM RealView Boards 105------------------- 106The RealView boards cover tailored evaluation boards that are used to explore 107the ARM11 and Cortex A-8 and Cortex A-9 processors. 108 109Required 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 121Required 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 147Example: 148 149/dts-v1/; 150#include <dt-bindings/interrupt-controller/irq.h> 151 152/ { 153 model = "ARM RealView PB1176 with device tree"; 154 compatible = "arm,realview-pb1176"; 155 #address-cells = <1>; 156 #size-cells = <1>; 157 158 soc { 159 #address-cells = <1>; 160 #size-cells = <1>; 161 compatible = "arm,realview-pb1176-soc", "simple-bus"; 162 ranges; 163 164 syscon: syscon@10000000 { 165 compatible = "arm,realview-syscon", "syscon"; 166 reg = <0x10000000 0x1000>; 167 }; 168 169 }; 170}; 171 172ARM Versatile Express Boards 173----------------------------- 174For details on the device tree bindings for ARM Versatile Express boards 175please consult the vexpress.txt file in the same directory as this file. 176 177ARM Juno Boards 178---------------- 179The Juno boards are targeting development for AArch64 systems. The first 180iteration, Juno r0, is a vehicle for evaluating big.LITTLE on AArch64, 181with the second iteration, Juno r1, mainly aimed at development of PCIe 182based systems. Juno r1 also has support for AXI masters placed on the TLX 183connectors to join the coherency domain. 184 185Juno boards are described in a similar way to ARM Versatile Express boards, 186with the motherboard part of the hardware being described in a separate file 187to highlight the fact that is part of the support infrastructure for the SoC. 188Juno device tree bindings also share the Versatile Express bindings as 189described under the RS1 memory mapping. 190 191Required properties (in root node): 192 compatible = "arm,juno"; /* For Juno r0 board */ 193 compatible = "arm,juno-r1"; /* For Juno r1 board */ 194 compatible = "arm,juno-r2"; /* For Juno r2 board */ 195 196Required nodes: 197The description for the board must include: 198 - a "psci" node describing the boot method used for the secondary CPUs. 199 A detailed description of the bindings used for "psci" nodes is present 200 in the psci.yaml file. 201 - a "cpus" node describing the available cores and their associated 202 "enable-method"s. For more details see cpus.yaml file. 203 204Example: 205 206/dts-v1/; 207/ { 208 model = "ARM Juno development board (r0)"; 209 compatible = "arm,juno", "arm,vexpress"; 210 interrupt-parent = <&gic>; 211 #address-cells = <2>; 212 #size-cells = <2>; 213 214 cpus { 215 #address-cells = <2>; 216 #size-cells = <0>; 217 218 A57_0: cpu@0 { 219 compatible = "arm,cortex-a57"; 220 reg = <0x0 0x0>; 221 device_type = "cpu"; 222 enable-method = "psci"; 223 }; 224 225 ..... 226 227 A53_0: cpu@100 { 228 compatible = "arm,cortex-a53"; 229 reg = <0x0 0x100>; 230 device_type = "cpu"; 231 enable-method = "psci"; 232 }; 233 234 ..... 235 }; 236 237}; 238