Loading...
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 ranges = <0x0 0x10000000 0x200>;
19 #address-cells = <1>;
20 #size-cells = <1>;
21
22 /* Use core module LED to indicate CPU load */
23 led@c,0 {
24 compatible = "register-bit-led";
25 reg = <0x0c 0x04>;
26 offset = <0x0c>;
27 mask = <0x01>;
28 label = "integrator:core_module";
29 linux,default-trigger = "cpu0";
30 default-state = "on";
31 };
32 };
33
34 ebi@12000000 {
35 compatible = "arm,external-bus-interface";
36 reg = <0x12000000 0x100>;
37 };
38
39 timer@13000000 {
40 reg = <0x13000000 0x100>;
41 interrupt-parent = <&pic>;
42 interrupts = <5>;
43 };
44
45 timer@13000100 {
46 reg = <0x13000100 0x100>;
47 interrupt-parent = <&pic>;
48 interrupts = <6>;
49 };
50
51 timer@13000200 {
52 reg = <0x13000200 0x100>;
53 interrupt-parent = <&pic>;
54 interrupts = <7>;
55 };
56
57 pic@14000000 {
58 compatible = "arm,versatile-fpga-irq";
59 #interrupt-cells = <1>;
60 interrupt-controller;
61 reg = <0x14000000 0x100>;
62 clear-mask = <0xffffffff>;
63 };
64
65 flash@24000000 {
66 compatible = "arm,versatile-flash", "cfi-flash";
67 reg = <0x24000000 0x02000000>;
68 bank-width = <4>;
69 partitions {
70 compatible = "arm,arm-firmware-suite";
71 };
72 };
73
74 fpga {
75 compatible = "simple-bus";
76 #address-cells = <1>;
77 #size-cells = <1>;
78 ranges;
79 interrupt-parent = <&pic>;
80
81 /*
82 * These PrimeCells are in the same locations and using the
83 * same interrupts in all Integrators, however the silicon
84 * version deployed is different.
85 */
86 rtc@15000000 {
87 reg = <0x15000000 0x1000>;
88 interrupts = <8>;
89 };
90
91 uart@16000000 {
92 reg = <0x16000000 0x1000>;
93 interrupts = <1>;
94 };
95
96 uart@17000000 {
97 reg = <0x17000000 0x1000>;
98 interrupts = <2>;
99 };
100
101 kmi@18000000 {
102 reg = <0x18000000 0x1000>;
103 interrupts = <3>;
104 };
105
106 kmi@19000000 {
107 reg = <0x19000000 0x1000>;
108 interrupts = <4>;
109 };
110
111 syscon@1a000000 {
112 /* Debug registers mapped as syscon */
113 compatible = "syscon", "simple-mfd";
114 reg = <0x1a000000 0x10>;
115 ranges = <0x0 0x1a000000 0x10>;
116 #address-cells = <1>;
117 #size-cells = <1>;
118
119 led@4,0 {
120 compatible = "register-bit-led";
121 reg = <0x04 0x04>;
122 offset = <0x04>;
123 mask = <0x01>;
124 label = "integrator:green0";
125 linux,default-trigger = "heartbeat";
126 default-state = "on";
127 };
128 led@4,1 {
129 compatible = "register-bit-led";
130 reg = <0x04 0x04>;
131 offset = <0x04>;
132 mask = <0x02>;
133 label = "integrator:yellow";
134 default-state = "off";
135 };
136 led@4,2 {
137 compatible = "register-bit-led";
138 reg = <0x04 0x04>;
139 offset = <0x04>;
140 mask = <0x04>;
141 label = "integrator:red";
142 default-state = "off";
143 };
144 led@4,3 {
145 compatible = "register-bit-led";
146 reg = <0x04 0x04>;
147 offset = <0x04>;
148 mask = <0x08>;
149 label = "integrator:green1";
150 default-state = "off";
151 };
152 };
153 };
154};
1/*
2 * SoC core Device Tree for the ARM Integrator platforms
3 */
4
5/include/ "skeleton.dtsi"
6
7/ {
8 core-module@10000000 {
9 compatible = "arm,core-module-integrator", "syscon", "simple-mfd";
10 reg = <0x10000000 0x200>;
11
12 /* Use core module LED to indicate CPU load */
13 led@0c.0 {
14 compatible = "register-bit-led";
15 offset = <0x0c>;
16 mask = <0x01>;
17 label = "integrator:core_module";
18 linux,default-trigger = "cpu0";
19 default-state = "on";
20 };
21 };
22
23 ebi@12000000 {
24 compatible = "arm,external-bus-interface";
25 reg = <0x12000000 0x100>;
26 };
27
28 timer@13000000 {
29 reg = <0x13000000 0x100>;
30 interrupt-parent = <&pic>;
31 interrupts = <5>;
32 };
33
34 timer@13000100 {
35 reg = <0x13000100 0x100>;
36 interrupt-parent = <&pic>;
37 interrupts = <6>;
38 };
39
40 timer@13000200 {
41 reg = <0x13000200 0x100>;
42 interrupt-parent = <&pic>;
43 interrupts = <7>;
44 };
45
46 pic@14000000 {
47 compatible = "arm,versatile-fpga-irq";
48 #interrupt-cells = <1>;
49 interrupt-controller;
50 reg = <0x14000000 0x100>;
51 clear-mask = <0xffffffff>;
52 };
53
54 flash@24000000 {
55 compatible = "arm,versatile-flash", "cfi-flash";
56 reg = <0x24000000 0x02000000>;
57 bank-width = <4>;
58 };
59
60 fpga {
61 compatible = "simple-bus";
62 #address-cells = <1>;
63 #size-cells = <1>;
64 ranges;
65 interrupt-parent = <&pic>;
66
67 /*
68 * These PrimeCells are in the same locations and using the
69 * same interrupts in all Integrators, however the silicon
70 * version deployed is different.
71 */
72 rtc@15000000 {
73 reg = <0x15000000 0x1000>;
74 interrupts = <8>;
75 };
76
77 uart@16000000 {
78 reg = <0x16000000 0x1000>;
79 interrupts = <1>;
80 };
81
82 uart@17000000 {
83 reg = <0x17000000 0x1000>;
84 interrupts = <2>;
85 };
86
87 kmi@18000000 {
88 reg = <0x18000000 0x1000>;
89 interrupts = <3>;
90 };
91
92 kmi@19000000 {
93 reg = <0x19000000 0x1000>;
94 interrupts = <4>;
95 };
96
97 syscon {
98 /* Debug registers mapped as syscon */
99 compatible = "syscon", "simple-mfd";
100 reg = <0x1a000000 0x10>;
101
102 led@04.0 {
103 compatible = "register-bit-led";
104 offset = <0x04>;
105 mask = <0x01>;
106 label = "integrator:green0";
107 linux,default-trigger = "heartbeat";
108 default-state = "on";
109 };
110 led@04.1 {
111 compatible = "register-bit-led";
112 offset = <0x04>;
113 mask = <0x02>;
114 label = "integrator:yellow";
115 default-state = "off";
116 };
117 led@04.2 {
118 compatible = "register-bit-led";
119 offset = <0x04>;
120 mask = <0x04>;
121 label = "integrator:red";
122 default-state = "off";
123 };
124 led@04.3 {
125 compatible = "register-bit-led";
126 offset = <0x04>;
127 mask = <0x08>;
128 label = "integrator:green1";
129 default-state = "off";
130 };
131 };
132 };
133};