blob: 602f74d2c758eb1bda981baba36f995a7c13774c [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001// SPDX-License-Identifier: GPL-2.0
Linus Walleij4980f9b2012-09-06 09:08:24 +01002/*
3 * SoC core Device Tree for the ARM Integrator platforms
4 */
5
Linus Walleij4980f9b2012-09-06 09:08:24 +01006/ {
Rob Herringabe60a32019-01-09 10:26:14 -06007 #address-cells = <1>;
8 #size-cells = <1>;
9
10 memory {
11 device_type = "memory";
12 reg = <0x0 0x0>;
13 };
14
Linus Walleijbb4dbef2013-06-16 02:44:27 +020015 core-module@10000000 {
Linus Walleij480aa742015-03-03 10:06:16 +010016 compatible = "arm,core-module-integrator", "syscon", "simple-mfd";
Linus Walleijbb4dbef2013-06-16 02:44:27 +020017 reg = <0x10000000 0x200>;
Linus Walleijbcc397d2014-10-22 10:05:44 +020018
19 /* Use core module LED to indicate CPU load */
Rob Herring8dccafa2017-10-13 12:54:51 -050020 led@c.0 {
Linus Walleijbcc397d2014-10-22 10:05:44 +020021 compatible = "register-bit-led";
22 offset = <0x0c>;
23 mask = <0x01>;
24 label = "integrator:core_module";
25 linux,default-trigger = "cpu0";
26 default-state = "on";
27 };
Linus Walleijbb4dbef2013-06-16 02:44:27 +020028 };
29
Linus Walleij307b9662013-06-17 23:58:25 +020030 ebi@12000000 {
31 compatible = "arm,external-bus-interface";
32 reg = <0x12000000 0x100>;
33 };
34
Linus Walleij4980f9b2012-09-06 09:08:24 +010035 timer@13000000 {
36 reg = <0x13000000 0x100>;
37 interrupt-parent = <&pic>;
38 interrupts = <5>;
39 };
40
41 timer@13000100 {
42 reg = <0x13000100 0x100>;
43 interrupt-parent = <&pic>;
44 interrupts = <6>;
45 };
46
47 timer@13000200 {
48 reg = <0x13000200 0x100>;
49 interrupt-parent = <&pic>;
50 interrupts = <7>;
51 };
52
53 pic@14000000 {
54 compatible = "arm,versatile-fpga-irq";
55 #interrupt-cells = <1>;
56 interrupt-controller;
57 reg = <0x14000000 0x100>;
58 clear-mask = <0xffffffff>;
59 };
Linus Walleij4672cdd2012-09-06 09:08:47 +010060
Linus Walleij73efd532012-09-06 09:09:11 +010061 flash@24000000 {
Linus Walleij91011a72016-01-26 11:09:22 +010062 compatible = "arm,versatile-flash", "cfi-flash";
Linus Walleij73efd532012-09-06 09:09:11 +010063 reg = <0x24000000 0x02000000>;
Linus Walleij91011a72016-01-26 11:09:22 +010064 bank-width = <4>;
Linus Walleija23392c2019-01-23 13:25:51 +010065 partitions {
66 compatible = "arm,arm-firmware-suite";
67 };
Linus Walleij73efd532012-09-06 09:09:11 +010068 };
69
Linus Walleij4672cdd2012-09-06 09:08:47 +010070 fpga {
Masahiro Yamada2ef7d5f2016-03-09 13:26:45 +090071 compatible = "simple-bus";
Linus Walleij4672cdd2012-09-06 09:08:47 +010072 #address-cells = <1>;
73 #size-cells = <1>;
74 ranges;
75 interrupt-parent = <&pic>;
76
77 /*
78 * These PrimeCells are in the same locations and using the
79 * same interrupts in all Integrators, however the silicon
80 * version deployed is different.
81 */
82 rtc@15000000 {
83 reg = <0x15000000 0x1000>;
84 interrupts = <8>;
85 };
86
87 uart@16000000 {
88 reg = <0x16000000 0x1000>;
89 interrupts = <1>;
90 };
91
92 uart@17000000 {
93 reg = <0x17000000 0x1000>;
94 interrupts = <2>;
95 };
96
97 kmi@18000000 {
98 reg = <0x18000000 0x1000>;
99 interrupts = <3>;
100 };
101
102 kmi@19000000 {
103 reg = <0x19000000 0x1000>;
104 interrupts = <4>;
105 };
Linus Walleij7e610062014-10-15 17:33:13 +0200106
107 syscon {
108 /* Debug registers mapped as syscon */
Linus Walleij480aa742015-03-03 10:06:16 +0100109 compatible = "syscon", "simple-mfd";
Linus Walleij7e610062014-10-15 17:33:13 +0200110 reg = <0x1a000000 0x10>;
111
Rob Herring8dccafa2017-10-13 12:54:51 -0500112 led@4.0 {
Linus Walleij7e610062014-10-15 17:33:13 +0200113 compatible = "register-bit-led";
114 offset = <0x04>;
115 mask = <0x01>;
116 label = "integrator:green0";
117 linux,default-trigger = "heartbeat";
118 default-state = "on";
119 };
Rob Herring8dccafa2017-10-13 12:54:51 -0500120 led@4.1 {
Linus Walleij7e610062014-10-15 17:33:13 +0200121 compatible = "register-bit-led";
122 offset = <0x04>;
123 mask = <0x02>;
124 label = "integrator:yellow";
125 default-state = "off";
126 };
Rob Herring8dccafa2017-10-13 12:54:51 -0500127 led@4.2 {
Linus Walleij7e610062014-10-15 17:33:13 +0200128 compatible = "register-bit-led";
129 offset = <0x04>;
130 mask = <0x04>;
131 label = "integrator:red";
132 default-state = "off";
133 };
Rob Herring8dccafa2017-10-13 12:54:51 -0500134 led@4.3 {
Linus Walleij7e610062014-10-15 17:33:13 +0200135 compatible = "register-bit-led";
136 offset = <0x04>;
137 mask = <0x08>;
138 label = "integrator:green1";
139 default-state = "off";
140 };
141 };
Linus Walleij4672cdd2012-09-06 09:08:47 +0100142 };
Linus Walleij4980f9b2012-09-06 09:08:24 +0100143};