blob: ad868cfebc94ab38eff200d83f8e1c720ca1c20a [file] [log] [blame]
// 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";
};
};
};
};