Linux-libre 5.4.47-gnu
[librecmc/linux-libre.git] / arch / arm / boot / dts / integrator.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * SoC core Device Tree for the ARM Integrator platforms
4  */
5
6 / {
7         #address-cells = <1>;
8         #size-cells = <1>;
9
10         memory {
11                 device_type = "memory";
12                 reg = <0x0 0x0>;
13         };
14
15         core-module@10000000 {
16                 compatible = "arm,core-module-integrator", "syscon", "simple-mfd";
17                 reg = <0x10000000 0x200>;
18
19                 /* Use core module LED to indicate CPU load */
20                 led@c.0 {
21                         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                 };
28         };
29
30         ebi@12000000 {
31                 compatible = "arm,external-bus-interface";
32                 reg = <0x12000000 0x100>;
33         };
34
35         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         };
60
61         flash@24000000 {
62                 compatible = "arm,versatile-flash", "cfi-flash";
63                 reg = <0x24000000 0x02000000>;
64                 bank-width = <4>;
65                 partitions {
66                         compatible = "arm,arm-firmware-suite";
67                 };
68         };
69
70         fpga {
71                 compatible = "simple-bus";
72                 #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                 };
106
107                 syscon {
108                         /* Debug registers mapped as syscon */
109                         compatible = "syscon", "simple-mfd";
110                         reg = <0x1a000000 0x10>;
111
112                         led@4.0 {
113                                 compatible = "register-bit-led";
114                                 offset = <0x04>;
115                                 mask = <0x01>;
116                                 label = "integrator:green0";
117                                 linux,default-trigger = "heartbeat";
118                                 default-state = "on";
119                         };
120                         led@4.1 {
121                                 compatible = "register-bit-led";
122                                 offset = <0x04>;
123                                 mask = <0x02>;
124                                 label = "integrator:yellow";
125                                 default-state = "off";
126                         };
127                         led@4.2 {
128                                 compatible = "register-bit-led";
129                                 offset = <0x04>;
130                                 mask = <0x04>;
131                                 label = "integrator:red";
132                                 default-state = "off";
133                         };
134                         led@4.3 {
135                                 compatible = "register-bit-led";
136                                 offset = <0x04>;
137                                 mask = <0x08>;
138                                 label = "integrator:green1";
139                                 default-state = "off";
140                         };
141                 };
142         };
143 };