238 lines
7.2 KiB
Plaintext
238 lines
7.2 KiB
Plaintext
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";
|
|
};
|
|
|
|
.....
|
|
};
|
|
|
|
};
|