2 * Copyright (C) 2015 Microchip Technology Inc. All rights reserved.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
9 #include <dt-bindings/clock/microchip,pic32-clock.h>
10 #include <dt-bindings/interrupt-controller/irq.h>
15 interrupt-parent = <&evic>;
41 compatible = "mti,mips14KEc";
47 compatible = "microchip,pic32mzda-infra";
48 interrupts = <0 IRQ_TYPE_EDGE_RISING>;
51 /* external clock input on TxCLKI pin */
54 compatible = "fixed-clock";
55 clock-frequency = <4000000>;
59 /* external input on REFCLKIx pin */
62 compatible = "fixed-clock";
63 clock-frequency = <24000000>;
67 rootclk: clock-controller@1f801200 {
68 compatible = "microchip,pic32mzda-clk";
69 reg = <0x1f801200 0x200>;
71 microchip,pic32mzda-sosc;
74 evic: interrupt-controller@1f810000 {
75 compatible = "microchip,pic32mzda-evic";
77 #interrupt-cells = <2>;
78 reg = <0x1f810000 0x1000>;
79 microchip,external-irqs = <3 8 13 18 23>;
82 pic32_pinctrl: pinctrl@1f801400{
85 compatible = "microchip,pic32mzda-pinctrl";
86 reg = <0x1f801400 0x400>;
87 clocks = <&rootclk PB1CLK>;
91 gpio0: gpio0@1f860000 {
92 compatible = "microchip,pic32mzda-gpio";
93 reg = <0x1f860000 0x100>;
94 interrupts = <118 IRQ_TYPE_LEVEL_HIGH>;
98 #interrupt-cells = <2>;
99 clocks = <&rootclk PB4CLK>;
100 microchip,gpio-bank = <0>;
101 gpio-ranges = <&pic32_pinctrl 0 0 16>;
105 gpio1: gpio1@1f860100 {
106 compatible = "microchip,pic32mzda-gpio";
107 reg = <0x1f860100 0x100>;
108 interrupts = <119 IRQ_TYPE_LEVEL_HIGH>;
111 interrupt-controller;
112 #interrupt-cells = <2>;
113 clocks = <&rootclk PB4CLK>;
114 microchip,gpio-bank = <1>;
115 gpio-ranges = <&pic32_pinctrl 0 16 16>;
119 gpio2: gpio2@1f860200 {
120 compatible = "microchip,pic32mzda-gpio";
121 reg = <0x1f860200 0x100>;
122 interrupts = <120 IRQ_TYPE_LEVEL_HIGH>;
125 interrupt-controller;
126 #interrupt-cells = <2>;
127 clocks = <&rootclk PB4CLK>;
128 microchip,gpio-bank = <2>;
129 gpio-ranges = <&pic32_pinctrl 0 32 16>;
133 gpio3: gpio3@1f860300 {
134 compatible = "microchip,pic32mzda-gpio";
135 reg = <0x1f860300 0x100>;
136 interrupts = <121 IRQ_TYPE_LEVEL_HIGH>;
139 interrupt-controller;
140 #interrupt-cells = <2>;
141 clocks = <&rootclk PB4CLK>;
142 microchip,gpio-bank = <3>;
143 gpio-ranges = <&pic32_pinctrl 0 48 16>;
147 gpio4: gpio4@1f860400 {
148 compatible = "microchip,pic32mzda-gpio";
149 reg = <0x1f860400 0x100>;
150 interrupts = <122 IRQ_TYPE_LEVEL_HIGH>;
153 interrupt-controller;
154 #interrupt-cells = <2>;
155 clocks = <&rootclk PB4CLK>;
156 microchip,gpio-bank = <4>;
157 gpio-ranges = <&pic32_pinctrl 0 64 16>;
161 gpio5: gpio5@1f860500 {
162 compatible = "microchip,pic32mzda-gpio";
163 reg = <0x1f860500 0x100>;
164 interrupts = <123 IRQ_TYPE_LEVEL_HIGH>;
167 interrupt-controller;
168 #interrupt-cells = <2>;
169 clocks = <&rootclk PB4CLK>;
170 microchip,gpio-bank = <5>;
171 gpio-ranges = <&pic32_pinctrl 0 80 16>;
175 gpio6: gpio6@1f860600 {
176 compatible = "microchip,pic32mzda-gpio";
177 reg = <0x1f860600 0x100>;
178 interrupts = <124 IRQ_TYPE_LEVEL_HIGH>;
181 interrupt-controller;
182 #interrupt-cells = <2>;
183 clocks = <&rootclk PB4CLK>;
184 microchip,gpio-bank = <6>;
185 gpio-ranges = <&pic32_pinctrl 0 96 16>;
189 gpio7: gpio7@1f860700 {
190 compatible = "microchip,pic32mzda-gpio";
191 reg = <0x1f860700 0x100>;
192 interrupts = <125 IRQ_TYPE_LEVEL_HIGH>;
195 interrupt-controller;
196 #interrupt-cells = <2>;
197 clocks = <&rootclk PB4CLK>;
198 microchip,gpio-bank = <7>;
199 gpio-ranges = <&pic32_pinctrl 0 112 16>;
202 /* PORTI does not exist */
205 gpio8: gpio8@1f860800 {
206 compatible = "microchip,pic32mzda-gpio";
207 reg = <0x1f860800 0x100>;
208 interrupts = <126 IRQ_TYPE_LEVEL_HIGH>;
211 interrupt-controller;
212 #interrupt-cells = <2>;
213 clocks = <&rootclk PB4CLK>;
214 microchip,gpio-bank = <8>;
215 gpio-ranges = <&pic32_pinctrl 0 128 16>;
219 gpio9: gpio9@1f860900 {
220 compatible = "microchip,pic32mzda-gpio";
221 reg = <0x1f860900 0x100>;
222 interrupts = <127 IRQ_TYPE_LEVEL_HIGH>;
225 interrupt-controller;
226 #interrupt-cells = <2>;
227 clocks = <&rootclk PB4CLK>;
228 microchip,gpio-bank = <9>;
229 gpio-ranges = <&pic32_pinctrl 0 144 16>;
232 sdhci: sdhci@1f8ec000 {
233 compatible = "microchip,pic32mzda-sdhci";
234 reg = <0x1f8ec000 0x100>;
235 interrupts = <191 IRQ_TYPE_LEVEL_HIGH>;
236 clocks = <&rootclk REF4CLK>, <&rootclk PB5CLK>;
237 clock-names = "base_clk", "sys_clk";
243 uart1: serial@1f822000 {
244 compatible = "microchip,pic32mzda-uart";
245 reg = <0x1f822000 0x50>;
246 interrupts = <112 IRQ_TYPE_LEVEL_HIGH>,
247 <113 IRQ_TYPE_LEVEL_HIGH>,
248 <114 IRQ_TYPE_LEVEL_HIGH>;
249 clocks = <&rootclk PB2CLK>;
253 uart2: serial@1f822200 {
254 compatible = "microchip,pic32mzda-uart";
255 reg = <0x1f822200 0x50>;
256 interrupts = <145 IRQ_TYPE_LEVEL_HIGH>,
257 <146 IRQ_TYPE_LEVEL_HIGH>,
258 <147 IRQ_TYPE_LEVEL_HIGH>;
259 clocks = <&rootclk PB2CLK>;
263 uart3: serial@1f822400 {
264 compatible = "microchip,pic32mzda-uart";
265 reg = <0x1f822400 0x50>;
266 interrupts = <157 IRQ_TYPE_LEVEL_HIGH>,
267 <158 IRQ_TYPE_LEVEL_HIGH>,
268 <159 IRQ_TYPE_LEVEL_HIGH>;
269 clocks = <&rootclk PB2CLK>;
273 uart4: serial@1f822600 {
274 compatible = "microchip,pic32mzda-uart";
275 reg = <0x1f822600 0x50>;
276 interrupts = <170 IRQ_TYPE_LEVEL_HIGH>,
277 <171 IRQ_TYPE_LEVEL_HIGH>,
278 <172 IRQ_TYPE_LEVEL_HIGH>;
279 clocks = <&rootclk PB2CLK>;
283 uart5: serial@1f822800 {
284 compatible = "microchip,pic32mzda-uart";
285 reg = <0x1f822800 0x50>;
286 interrupts = <179 IRQ_TYPE_LEVEL_HIGH>,
287 <180 IRQ_TYPE_LEVEL_HIGH>,
288 <181 IRQ_TYPE_LEVEL_HIGH>;
289 clocks = <&rootclk PB2CLK>;
293 uart6: serial@1f822A00 {
294 compatible = "microchip,pic32mzda-uart";
295 reg = <0x1f822A00 0x50>;
296 interrupts = <188 IRQ_TYPE_LEVEL_HIGH>,
297 <189 IRQ_TYPE_LEVEL_HIGH>,
298 <190 IRQ_TYPE_LEVEL_HIGH>;
299 clocks = <&rootclk PB2CLK>;