| 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"; |
| }; |
| |
| ..... |
| }; |
| |
| }; |