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