0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * SoC core Device Tree for the ARM Integrator platforms
0004 */
0005
0006 / {
0007 #address-cells = <1>;
0008 #size-cells = <1>;
0009
0010 memory {
0011 device_type = "memory";
0012 reg = <0x0 0x0>;
0013 };
0014
0015 core-module@10000000 {
0016 compatible = "arm,core-module-integrator", "syscon", "simple-mfd";
0017 reg = <0x10000000 0x200>;
0018 ranges = <0x0 0x10000000 0x200>;
0019 #address-cells = <1>;
0020 #size-cells = <1>;
0021
0022 /* Use core module LED to indicate CPU load */
0023 led@c,0 {
0024 compatible = "register-bit-led";
0025 reg = <0x0c 0x04>;
0026 offset = <0x0c>;
0027 mask = <0x01>;
0028 label = "integrator:core_module";
0029 linux,default-trigger = "cpu0";
0030 default-state = "on";
0031 };
0032 };
0033
0034 ebi@12000000 {
0035 compatible = "arm,external-bus-interface";
0036 reg = <0x12000000 0x100>;
0037 };
0038
0039 timer@13000000 {
0040 reg = <0x13000000 0x100>;
0041 interrupt-parent = <&pic>;
0042 interrupts = <5>;
0043 };
0044
0045 timer@13000100 {
0046 reg = <0x13000100 0x100>;
0047 interrupt-parent = <&pic>;
0048 interrupts = <6>;
0049 };
0050
0051 timer@13000200 {
0052 reg = <0x13000200 0x100>;
0053 interrupt-parent = <&pic>;
0054 interrupts = <7>;
0055 };
0056
0057 pic@14000000 {
0058 compatible = "arm,versatile-fpga-irq";
0059 #interrupt-cells = <1>;
0060 interrupt-controller;
0061 reg = <0x14000000 0x100>;
0062 clear-mask = <0xffffffff>;
0063 };
0064
0065 flash@24000000 {
0066 compatible = "arm,versatile-flash", "cfi-flash";
0067 reg = <0x24000000 0x02000000>;
0068 bank-width = <4>;
0069 partitions {
0070 compatible = "arm,arm-firmware-suite";
0071 };
0072 };
0073
0074 fpga {
0075 compatible = "simple-bus";
0076 #address-cells = <1>;
0077 #size-cells = <1>;
0078 ranges;
0079 interrupt-parent = <&pic>;
0080
0081 /*
0082 * These PrimeCells are in the same locations and using the
0083 * same interrupts in all Integrators, however the silicon
0084 * version deployed is different.
0085 */
0086 rtc@15000000 {
0087 reg = <0x15000000 0x1000>;
0088 interrupts = <8>;
0089 };
0090
0091 uart@16000000 {
0092 reg = <0x16000000 0x1000>;
0093 interrupts = <1>;
0094 };
0095
0096 uart@17000000 {
0097 reg = <0x17000000 0x1000>;
0098 interrupts = <2>;
0099 };
0100
0101 kmi@18000000 {
0102 reg = <0x18000000 0x1000>;
0103 interrupts = <3>;
0104 };
0105
0106 kmi@19000000 {
0107 reg = <0x19000000 0x1000>;
0108 interrupts = <4>;
0109 };
0110
0111 syscon@1a000000 {
0112 /* Debug registers mapped as syscon */
0113 compatible = "syscon", "simple-mfd";
0114 reg = <0x1a000000 0x10>;
0115 ranges = <0x0 0x1a000000 0x10>;
0116 #address-cells = <1>;
0117 #size-cells = <1>;
0118
0119 led@4,0 {
0120 compatible = "register-bit-led";
0121 reg = <0x04 0x04>;
0122 offset = <0x04>;
0123 mask = <0x01>;
0124 label = "integrator:green0";
0125 linux,default-trigger = "heartbeat";
0126 default-state = "on";
0127 };
0128 led@4,1 {
0129 compatible = "register-bit-led";
0130 reg = <0x04 0x04>;
0131 offset = <0x04>;
0132 mask = <0x02>;
0133 label = "integrator:yellow";
0134 default-state = "off";
0135 };
0136 led@4,2 {
0137 compatible = "register-bit-led";
0138 reg = <0x04 0x04>;
0139 offset = <0x04>;
0140 mask = <0x04>;
0141 label = "integrator:red";
0142 default-state = "off";
0143 };
0144 led@4,3 {
0145 compatible = "register-bit-led";
0146 reg = <0x04 0x04>;
0147 offset = <0x04>;
0148 mask = <0x08>;
0149 label = "integrator:green1";
0150 default-state = "off";
0151 };
0152 };
0153 };
0154 };