| ARM Integrator/AP (Application Platform) and Integrator/CP (Compact Platform) | |
| ----------------------------------------------------------------------------- | |
| ARM's oldest Linux-supported platform with connectors for different core | |
| tiles of ARMv4, ARMv5 and ARMv6 type. | |
| Required properties (in root node): | |
| compatible = "arm,integrator-ap"; /* Application Platform */ | |
| compatible = "arm,integrator-cp"; /* Compact Platform */ | |
| FPGA type interrupt controllers, see the versatile-fpga-irq binding doc. | |
| Required nodes: | |
| - core-module: the root node to the Integrator platforms must have | |
| a core-module with regs and the compatible string | |
| "arm,core-module-integrator" | |
| - external-bus-interface: the root node to the Integrator platforms | |
| must have an external bus interface with regs and the | |
| compatible-string "arm,external-bus-interface" | |
| Required properties for the core module: | |
| - regs: the location and size of the core module registers, one | |
| range of 0x200 bytes. | |
| - syscon: the root node of the Integrator platforms must have a | |
| system controller node pointing to the control registers, | |
| with the compatible string | |
| "arm,integrator-ap-syscon" | |
| "arm,integrator-cp-syscon" | |
| respectively. | |
| Required properties for the system controller: | |
| - regs: the location and size of the system controller registers, | |
| one range of 0x100 bytes. | |
| Required properties for the AP system controller: | |
| - interrupts: the AP syscon node must include the logical module | |
| interrupts, stated in order of module instance <module 0>, | |
| <module 1>, <module 2> ... for the CP system controller this | |
| is not required not of any use. | |
| /dts-v1/; | |
| /include/ "integrator.dtsi" | |
| / { | |
| model = "ARM Integrator/AP"; | |
| compatible = "arm,integrator-ap"; | |
| core-module@10000000 { | |
| compatible = "arm,core-module-integrator"; | |
| reg = <0x10000000 0x200>; | |
| }; | |
| ebi@12000000 { | |
| compatible = "arm,external-bus-interface"; | |
| reg = <0x12000000 0x100>; | |
| }; | |
| syscon { | |
| compatible = "arm,integrator-ap-syscon"; | |
| reg = <0x11000000 0x100>; | |
| interrupt-parent = <&pic>; | |
| /* These are the logic module IRQs */ | |
| interrupts = <9>, <10>, <11>, <12>; | |
| }; | |
| }; | |
| ARM Versatile Application and Platform Baseboards | |
| ------------------------------------------------- | |
| ARM's development hardware platform with connectors for customizable | |
| core tiles. The hardware configuration of the Versatile boards is | |
| highly customizable. | |
| Required properties (in root node): | |
| compatible = "arm,versatile-ab"; /* Application baseboard */ | |
| compatible = "arm,versatile-pb"; /* Platform baseboard */ | |
| Interrupt controllers: | |
| - VIC required properties: | |
| compatible = "arm,versatile-vic"; | |
| interrupt-controller; | |
| #interrupt-cells = <1>; | |
| - SIC required properties: | |
| compatible = "arm,versatile-sic"; | |
| interrupt-controller; | |
| #interrupt-cells = <1>; | |
| Required nodes: | |
| - core-module: the root node to the Versatile platforms must have | |
| a core-module with regs and the compatible strings | |
| "arm,core-module-versatile", "syscon" | |
| Optional nodes: | |
| - arm,versatile-ib2-syscon : if the Versatile has an IB2 interface | |
| board mounted, this has a separate system controller that is | |
| defined in this node. | |
| Required properties: | |
| compatible = "arm,versatile-ib2-syscon", "syscon" | |
| ARM RealView Boards | |
| ------------------- | |
| The RealView boards cover tailored evaluation boards that are used to explore | |
| the ARM11 and Cortex A-8 and Cortex A-9 processors. | |
| Required properties (in root node): | |
| /* RealView Emulation Baseboard */ | |
| compatible = "arm,realview-eb"; | |
| /* RealView Platform Baseboard for ARM1176JZF-S */ | |
| compatible = "arm,realview-pb1176"; | |
| /* RealView Platform Baseboard for ARM11 MPCore */ | |
| compatible = "arm,realview-pb11mp"; | |
| /* RealView Platform Baseboard for Cortex A-8 */ | |
| compatible = "arm,realview-pba8"; | |
| /* RealView Platform Baseboard Explore for Cortex A-9 */ | |
| compatible = "arm,realview-pbx"; | |
| Required nodes: | |
| - soc: some node of the RealView platforms must be the SoC | |
| node that contain the SoC-specific devices, withe the compatible | |
| string set to one of these tuples: | |
| "arm,realview-eb-soc", "simple-bus" | |
| "arm,realview-pb1176-soc", "simple-bus" | |
| "arm,realview-pb11mp-soc", "simple-bus" | |
| "arm,realview-pba8-soc", "simple-bus" | |
| "arm,realview-pbx-soc", "simple-bus" | |
| - syscon: some subnode of the RealView SoC node must be a | |
| system controller node pointing to the control registers, | |
| with the compatible string set to one of these: | |
| "arm,realview-eb11mp-revb-syscon", "arm,realview-eb-syscon", "syscon" | |
| "arm,realview-eb11mp-revc-syscon", "arm,realview-eb-syscon", "syscon" | |
| "arm,realview-eb-syscon", "syscon" | |
| "arm,realview-pb1176-syscon", "syscon" | |
| "arm,realview-pb11mp-syscon", "syscon" | |
| "arm,realview-pba8-syscon", "syscon" | |
| "arm,realview-pbx-syscon", "syscon" | |
| Required properties for the system controller: | |
| - regs: the location and size of the system controller registers, | |
| one range of 0x1000 bytes. | |
| Example: | |
| /dts-v1/; | |
| #include <dt-bindings/interrupt-controller/irq.h> | |
| / { | |
| model = "ARM RealView PB1176 with device tree"; | |
| compatible = "arm,realview-pb1176"; | |
| #address-cells = <1>; | |
| #size-cells = <1>; | |
| soc { | |
| #address-cells = <1>; | |
| #size-cells = <1>; | |
| compatible = "arm,realview-pb1176-soc", "simple-bus"; | |
| ranges; | |
| syscon: syscon@10000000 { | |
| compatible = "arm,realview-syscon", "syscon"; | |
| reg = <0x10000000 0x1000>; | |
| }; | |
| }; | |
| }; | |
| ARM Versatile Express Boards | |
| ----------------------------- | |
| For details on the device tree bindings for ARM Versatile Express boards | |
| please consult the vexpress.txt file in the same directory as this file. | |
| ARM Juno Boards | |
| ---------------- | |
| The Juno boards are targeting development for AArch64 systems. The first | |
| iteration, Juno r0, is a vehicle for evaluating big.LITTLE on AArch64, | |
| with the second iteration, Juno r1, mainly aimed at development of PCIe | |
| based systems. Juno r1 also has support for AXI masters placed on the TLX | |
| connectors to join the coherency domain. | |
| Juno boards are described in a similar way to ARM Versatile Express boards, | |
| with the motherboard part of the hardware being described in a separate file | |
| to highlight the fact that is part of the support infrastructure for the SoC. | |
| Juno device tree bindings also share the Versatile Express bindings as | |
| described under the RS1 memory mapping. | |
| Required properties (in root node): | |
| compatible = "arm,juno"; /* For Juno r0 board */ | |
| compatible = "arm,juno-r1"; /* For Juno r1 board */ | |
| compatible = "arm,juno-r2"; /* For Juno r2 board */ | |
| Required nodes: | |
| The description for the board must include: | |
| - a "psci" node describing the boot method used for the secondary CPUs. | |
| A detailed description of the bindings used for "psci" nodes is present | |
| in the psci.txt file. | |
| - a "cpus" node describing the available cores and their associated | |
| "enable-method"s. For more details see cpus.txt file. | |
| Example: | |
| /dts-v1/; | |
| / { | |
| model = "ARM Juno development board (r0)"; | |
| compatible = "arm,juno", "arm,vexpress"; | |
| interrupt-parent = <&gic>; | |
| #address-cells = <2>; | |
| #size-cells = <2>; | |
| cpus { | |
| #address-cells = <2>; | |
| #size-cells = <0>; | |
| A57_0: cpu@0 { | |
| compatible = "arm,cortex-a57","arm,armv8"; | |
| reg = <0x0 0x0>; | |
| device_type = "cpu"; | |
| enable-method = "psci"; | |
| }; | |
| ..... | |
| A53_0: cpu@100 { | |
| compatible = "arm,cortex-a53","arm,armv8"; | |
| reg = <0x0 0x100>; | |
| device_type = "cpu"; | |
| enable-method = "psci"; | |
| }; | |
| ..... | |
| }; | |
| }; |