]> git.ipfire.org Git - thirdparty/u-boot.git/blob - src/mips/pic32/pic32mzda.dtsi
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / src / mips / pic32 / pic32mzda.dtsi
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3 * Copyright (C) 2015 Microchip Technology Inc. All rights reserved.
4 */
5 #include <dt-bindings/clock/microchip,pic32-clock.h>
6 #include <dt-bindings/interrupt-controller/irq.h>
7
8 / {
9 #address-cells = <1>;
10 #size-cells = <1>;
11 interrupt-parent = <&evic>;
12
13 aliases {
14 gpio0 = &gpio0;
15 gpio1 = &gpio1;
16 gpio2 = &gpio2;
17 gpio3 = &gpio3;
18 gpio4 = &gpio4;
19 gpio5 = &gpio5;
20 gpio6 = &gpio6;
21 gpio7 = &gpio7;
22 gpio8 = &gpio8;
23 gpio9 = &gpio9;
24 serial0 = &uart1;
25 serial1 = &uart2;
26 serial2 = &uart3;
27 serial3 = &uart4;
28 serial4 = &uart5;
29 serial5 = &uart6;
30 };
31
32 cpus {
33 #address-cells = <1>;
34 #size-cells = <0>;
35
36 cpu@0 {
37 compatible = "mti,mips14KEc";
38 device_type = "cpu";
39 };
40 };
41
42 soc {
43 compatible = "microchip,pic32mzda-infra";
44 interrupts = <0 IRQ_TYPE_EDGE_RISING>;
45 };
46
47 /* external clock input on TxCLKI pin */
48 txcki: txcki_clk {
49 #clock-cells = <0>;
50 compatible = "fixed-clock";
51 clock-frequency = <4000000>;
52 status = "disabled";
53 };
54
55 /* external input on REFCLKIx pin */
56 refix: refix_clk {
57 #clock-cells = <0>;
58 compatible = "fixed-clock";
59 clock-frequency = <24000000>;
60 status = "disabled";
61 };
62
63 rootclk: clock-controller@1f801200 {
64 compatible = "microchip,pic32mzda-clk";
65 reg = <0x1f801200 0x200>;
66 #clock-cells = <1>;
67 microchip,pic32mzda-sosc;
68 };
69
70 evic: interrupt-controller@1f810000 {
71 compatible = "microchip,pic32mzda-evic";
72 interrupt-controller;
73 #interrupt-cells = <2>;
74 reg = <0x1f810000 0x1000>;
75 microchip,external-irqs = <3 8 13 18 23>;
76 };
77
78 pic32_pinctrl: pinctrl@1f801400 {
79 #address-cells = <1>;
80 #size-cells = <1>;
81 compatible = "microchip,pic32mzda-pinctrl";
82 reg = <0x1f801400 0x400>;
83 clocks = <&rootclk PB1CLK>;
84 };
85
86 /* PORTA */
87 gpio0: gpio0@1f860000 {
88 compatible = "microchip,pic32mzda-gpio";
89 reg = <0x1f860000 0x100>;
90 interrupts = <118 IRQ_TYPE_LEVEL_HIGH>;
91 #gpio-cells = <2>;
92 gpio-controller;
93 interrupt-controller;
94 #interrupt-cells = <2>;
95 clocks = <&rootclk PB4CLK>;
96 microchip,gpio-bank = <0>;
97 gpio-ranges = <&pic32_pinctrl 0 0 16>;
98 };
99
100 /* PORTB */
101 gpio1: gpio1@1f860100 {
102 compatible = "microchip,pic32mzda-gpio";
103 reg = <0x1f860100 0x100>;
104 interrupts = <119 IRQ_TYPE_LEVEL_HIGH>;
105 #gpio-cells = <2>;
106 gpio-controller;
107 interrupt-controller;
108 #interrupt-cells = <2>;
109 clocks = <&rootclk PB4CLK>;
110 microchip,gpio-bank = <1>;
111 gpio-ranges = <&pic32_pinctrl 0 16 16>;
112 };
113
114 /* PORTC */
115 gpio2: gpio2@1f860200 {
116 compatible = "microchip,pic32mzda-gpio";
117 reg = <0x1f860200 0x100>;
118 interrupts = <120 IRQ_TYPE_LEVEL_HIGH>;
119 #gpio-cells = <2>;
120 gpio-controller;
121 interrupt-controller;
122 #interrupt-cells = <2>;
123 clocks = <&rootclk PB4CLK>;
124 microchip,gpio-bank = <2>;
125 gpio-ranges = <&pic32_pinctrl 0 32 16>;
126 };
127
128 /* PORTD */
129 gpio3: gpio3@1f860300 {
130 compatible = "microchip,pic32mzda-gpio";
131 reg = <0x1f860300 0x100>;
132 interrupts = <121 IRQ_TYPE_LEVEL_HIGH>;
133 #gpio-cells = <2>;
134 gpio-controller;
135 interrupt-controller;
136 #interrupt-cells = <2>;
137 clocks = <&rootclk PB4CLK>;
138 microchip,gpio-bank = <3>;
139 gpio-ranges = <&pic32_pinctrl 0 48 16>;
140 };
141
142 /* PORTE */
143 gpio4: gpio4@1f860400 {
144 compatible = "microchip,pic32mzda-gpio";
145 reg = <0x1f860400 0x100>;
146 interrupts = <122 IRQ_TYPE_LEVEL_HIGH>;
147 #gpio-cells = <2>;
148 gpio-controller;
149 interrupt-controller;
150 #interrupt-cells = <2>;
151 clocks = <&rootclk PB4CLK>;
152 microchip,gpio-bank = <4>;
153 gpio-ranges = <&pic32_pinctrl 0 64 16>;
154 };
155
156 /* PORTF */
157 gpio5: gpio5@1f860500 {
158 compatible = "microchip,pic32mzda-gpio";
159 reg = <0x1f860500 0x100>;
160 interrupts = <123 IRQ_TYPE_LEVEL_HIGH>;
161 #gpio-cells = <2>;
162 gpio-controller;
163 interrupt-controller;
164 #interrupt-cells = <2>;
165 clocks = <&rootclk PB4CLK>;
166 microchip,gpio-bank = <5>;
167 gpio-ranges = <&pic32_pinctrl 0 80 16>;
168 };
169
170 /* PORTG */
171 gpio6: gpio6@1f860600 {
172 compatible = "microchip,pic32mzda-gpio";
173 reg = <0x1f860600 0x100>;
174 interrupts = <124 IRQ_TYPE_LEVEL_HIGH>;
175 #gpio-cells = <2>;
176 gpio-controller;
177 interrupt-controller;
178 #interrupt-cells = <2>;
179 clocks = <&rootclk PB4CLK>;
180 microchip,gpio-bank = <6>;
181 gpio-ranges = <&pic32_pinctrl 0 96 16>;
182 };
183
184 /* PORTH */
185 gpio7: gpio7@1f860700 {
186 compatible = "microchip,pic32mzda-gpio";
187 reg = <0x1f860700 0x100>;
188 interrupts = <125 IRQ_TYPE_LEVEL_HIGH>;
189 #gpio-cells = <2>;
190 gpio-controller;
191 interrupt-controller;
192 #interrupt-cells = <2>;
193 clocks = <&rootclk PB4CLK>;
194 microchip,gpio-bank = <7>;
195 gpio-ranges = <&pic32_pinctrl 0 112 16>;
196 };
197
198 /* PORTI does not exist */
199
200 /* PORTJ */
201 gpio8: gpio8@1f860800 {
202 compatible = "microchip,pic32mzda-gpio";
203 reg = <0x1f860800 0x100>;
204 interrupts = <126 IRQ_TYPE_LEVEL_HIGH>;
205 #gpio-cells = <2>;
206 gpio-controller;
207 interrupt-controller;
208 #interrupt-cells = <2>;
209 clocks = <&rootclk PB4CLK>;
210 microchip,gpio-bank = <8>;
211 gpio-ranges = <&pic32_pinctrl 0 128 16>;
212 };
213
214 /* PORTK */
215 gpio9: gpio9@1f860900 {
216 compatible = "microchip,pic32mzda-gpio";
217 reg = <0x1f860900 0x100>;
218 interrupts = <127 IRQ_TYPE_LEVEL_HIGH>;
219 #gpio-cells = <2>;
220 gpio-controller;
221 interrupt-controller;
222 #interrupt-cells = <2>;
223 clocks = <&rootclk PB4CLK>;
224 microchip,gpio-bank = <9>;
225 gpio-ranges = <&pic32_pinctrl 0 144 16>;
226 };
227
228 sdhci: sdhci@1f8ec000 {
229 compatible = "microchip,pic32mzda-sdhci";
230 reg = <0x1f8ec000 0x100>;
231 interrupts = <191 IRQ_TYPE_LEVEL_HIGH>;
232 clocks = <&rootclk REF4CLK>, <&rootclk PB5CLK>;
233 clock-names = "base_clk", "sys_clk";
234 bus-width = <4>;
235 cap-sd-highspeed;
236 status = "disabled";
237 };
238
239 uart1: serial@1f822000 {
240 compatible = "microchip,pic32mzda-uart";
241 reg = <0x1f822000 0x50>;
242 interrupts = <112 IRQ_TYPE_LEVEL_HIGH>,
243 <113 IRQ_TYPE_LEVEL_HIGH>,
244 <114 IRQ_TYPE_LEVEL_HIGH>;
245 clocks = <&rootclk PB2CLK>;
246 status = "disabled";
247 };
248
249 uart2: serial@1f822200 {
250 compatible = "microchip,pic32mzda-uart";
251 reg = <0x1f822200 0x50>;
252 interrupts = <145 IRQ_TYPE_LEVEL_HIGH>,
253 <146 IRQ_TYPE_LEVEL_HIGH>,
254 <147 IRQ_TYPE_LEVEL_HIGH>;
255 clocks = <&rootclk PB2CLK>;
256 status = "disabled";
257 };
258
259 uart3: serial@1f822400 {
260 compatible = "microchip,pic32mzda-uart";
261 reg = <0x1f822400 0x50>;
262 interrupts = <157 IRQ_TYPE_LEVEL_HIGH>,
263 <158 IRQ_TYPE_LEVEL_HIGH>,
264 <159 IRQ_TYPE_LEVEL_HIGH>;
265 clocks = <&rootclk PB2CLK>;
266 status = "disabled";
267 };
268
269 uart4: serial@1f822600 {
270 compatible = "microchip,pic32mzda-uart";
271 reg = <0x1f822600 0x50>;
272 interrupts = <170 IRQ_TYPE_LEVEL_HIGH>,
273 <171 IRQ_TYPE_LEVEL_HIGH>,
274 <172 IRQ_TYPE_LEVEL_HIGH>;
275 clocks = <&rootclk PB2CLK>;
276 status = "disabled";
277 };
278
279 uart5: serial@1f822800 {
280 compatible = "microchip,pic32mzda-uart";
281 reg = <0x1f822800 0x50>;
282 interrupts = <179 IRQ_TYPE_LEVEL_HIGH>,
283 <180 IRQ_TYPE_LEVEL_HIGH>,
284 <181 IRQ_TYPE_LEVEL_HIGH>;
285 clocks = <&rootclk PB2CLK>;
286 status = "disabled";
287 };
288
289 uart6: serial@1f822A00 {
290 compatible = "microchip,pic32mzda-uart";
291 reg = <0x1f822A00 0x50>;
292 interrupts = <188 IRQ_TYPE_LEVEL_HIGH>,
293 <189 IRQ_TYPE_LEVEL_HIGH>,
294 <190 IRQ_TYPE_LEVEL_HIGH>;
295 clocks = <&rootclk PB2CLK>;
296 status = "disabled";
297 };
298 };