155 lines
3.0 KiB
Plaintext
155 lines
3.0 KiB
Plaintext
|
// SPDX-License-Identifier: GPL-2.0
|
||
|
/*
|
||
|
* SoC core Device Tree for the ARM Integrator platforms
|
||
|
*/
|
||
|
|
||
|
/ {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <1>;
|
||
|
|
||
|
memory {
|
||
|
device_type = "memory";
|
||
|
reg = <0x0 0x0>;
|
||
|
};
|
||
|
|
||
|
core-module@10000000 {
|
||
|
compatible = "arm,core-module-integrator", "syscon", "simple-mfd";
|
||
|
reg = <0x10000000 0x200>;
|
||
|
ranges = <0x0 0x10000000 0x200>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <1>;
|
||
|
|
||
|
/* Use core module LED to indicate CPU load */
|
||
|
led@c,0 {
|
||
|
compatible = "register-bit-led";
|
||
|
reg = <0x0c 0x04>;
|
||
|
offset = <0x0c>;
|
||
|
mask = <0x01>;
|
||
|
label = "integrator:core_module";
|
||
|
linux,default-trigger = "cpu0";
|
||
|
default-state = "on";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
ebi@12000000 {
|
||
|
compatible = "arm,external-bus-interface";
|
||
|
reg = <0x12000000 0x100>;
|
||
|
};
|
||
|
|
||
|
timer@13000000 {
|
||
|
reg = <0x13000000 0x100>;
|
||
|
interrupt-parent = <&pic>;
|
||
|
interrupts = <5>;
|
||
|
};
|
||
|
|
||
|
timer@13000100 {
|
||
|
reg = <0x13000100 0x100>;
|
||
|
interrupt-parent = <&pic>;
|
||
|
interrupts = <6>;
|
||
|
};
|
||
|
|
||
|
timer@13000200 {
|
||
|
reg = <0x13000200 0x100>;
|
||
|
interrupt-parent = <&pic>;
|
||
|
interrupts = <7>;
|
||
|
};
|
||
|
|
||
|
pic@14000000 {
|
||
|
compatible = "arm,versatile-fpga-irq";
|
||
|
#interrupt-cells = <1>;
|
||
|
interrupt-controller;
|
||
|
reg = <0x14000000 0x100>;
|
||
|
clear-mask = <0xffffffff>;
|
||
|
};
|
||
|
|
||
|
flash@24000000 {
|
||
|
compatible = "arm,versatile-flash", "cfi-flash";
|
||
|
reg = <0x24000000 0x02000000>;
|
||
|
bank-width = <4>;
|
||
|
partitions {
|
||
|
compatible = "arm,arm-firmware-suite";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
fpga {
|
||
|
compatible = "simple-bus";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <1>;
|
||
|
ranges;
|
||
|
interrupt-parent = <&pic>;
|
||
|
|
||
|
/*
|
||
|
* These PrimeCells are in the same locations and using the
|
||
|
* same interrupts in all Integrators, however the silicon
|
||
|
* version deployed is different.
|
||
|
*/
|
||
|
rtc@15000000 {
|
||
|
reg = <0x15000000 0x1000>;
|
||
|
interrupts = <8>;
|
||
|
};
|
||
|
|
||
|
uart@16000000 {
|
||
|
reg = <0x16000000 0x1000>;
|
||
|
interrupts = <1>;
|
||
|
};
|
||
|
|
||
|
uart@17000000 {
|
||
|
reg = <0x17000000 0x1000>;
|
||
|
interrupts = <2>;
|
||
|
};
|
||
|
|
||
|
kmi@18000000 {
|
||
|
reg = <0x18000000 0x1000>;
|
||
|
interrupts = <3>;
|
||
|
};
|
||
|
|
||
|
kmi@19000000 {
|
||
|
reg = <0x19000000 0x1000>;
|
||
|
interrupts = <4>;
|
||
|
};
|
||
|
|
||
|
syscon@1a000000 {
|
||
|
/* Debug registers mapped as syscon */
|
||
|
compatible = "syscon", "simple-mfd";
|
||
|
reg = <0x1a000000 0x10>;
|
||
|
ranges = <0x0 0x1a000000 0x10>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <1>;
|
||
|
|
||
|
led@4,0 {
|
||
|
compatible = "register-bit-led";
|
||
|
reg = <0x04 0x04>;
|
||
|
offset = <0x04>;
|
||
|
mask = <0x01>;
|
||
|
label = "integrator:green0";
|
||
|
linux,default-trigger = "heartbeat";
|
||
|
default-state = "on";
|
||
|
};
|
||
|
led@4,1 {
|
||
|
compatible = "register-bit-led";
|
||
|
reg = <0x04 0x04>;
|
||
|
offset = <0x04>;
|
||
|
mask = <0x02>;
|
||
|
label = "integrator:yellow";
|
||
|
default-state = "off";
|
||
|
};
|
||
|
led@4,2 {
|
||
|
compatible = "register-bit-led";
|
||
|
reg = <0x04 0x04>;
|
||
|
offset = <0x04>;
|
||
|
mask = <0x04>;
|
||
|
label = "integrator:red";
|
||
|
default-state = "off";
|
||
|
};
|
||
|
led@4,3 {
|
||
|
compatible = "register-bit-led";
|
||
|
reg = <0x04 0x04>;
|
||
|
offset = <0x04>;
|
||
|
mask = <0x08>;
|
||
|
label = "integrator:green1";
|
||
|
default-state = "off";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|