blob: 13cf32d4b27739bd121fc255cdb894241909fbb7 [file] [log] [blame]
Peng Fan6b262d42022-07-26 16:41:09 +08001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
Peng Fan88950e32023-04-28 12:08:37 +08003 * Copyright 2022 NXP
Peng Fan6b262d42022-07-26 16:41:09 +08004 */
5
6#include <dt-bindings/clock/imx93-clock.h>
7#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/input/input.h>
9#include <dt-bindings/interrupt-controller/arm-gic.h>
Peng Fan88950e32023-04-28 12:08:37 +080010#include <dt-bindings/power/fsl,imx93-power.h>
Peng Fan0324d9e2023-04-28 12:08:38 +080011#include <dt-bindings/thermal/thermal.h>
Peng Fan6b262d42022-07-26 16:41:09 +080012
13#include "imx93-pinfunc.h"
14
15/ {
16 interrupt-parent = <&gic>;
17 #address-cells = <2>;
18 #size-cells = <2>;
19
20 aliases {
21 gpio0 = &gpio1;
22 gpio1 = &gpio2;
23 gpio2 = &gpio3;
24 gpio3 = &gpio4;
Peng Fan88950e32023-04-28 12:08:37 +080025 i2c0 = &lpi2c1;
26 i2c1 = &lpi2c2;
27 i2c2 = &lpi2c3;
28 i2c3 = &lpi2c4;
29 i2c4 = &lpi2c5;
30 i2c5 = &lpi2c6;
31 i2c6 = &lpi2c7;
32 i2c7 = &lpi2c8;
Peng Fan6b262d42022-07-26 16:41:09 +080033 mmc0 = &usdhc1;
34 mmc1 = &usdhc2;
35 mmc2 = &usdhc3;
Peng Fan6b262d42022-07-26 16:41:09 +080036 serial0 = &lpuart1;
37 serial1 = &lpuart2;
38 serial2 = &lpuart3;
39 serial3 = &lpuart4;
40 serial4 = &lpuart5;
41 serial5 = &lpuart6;
42 serial6 = &lpuart7;
43 serial7 = &lpuart8;
Peng Fan6b262d42022-07-26 16:41:09 +080044 };
45
46 cpus {
47 #address-cells = <1>;
48 #size-cells = <0>;
49
50 A55_0: cpu@0 {
51 device_type = "cpu";
52 compatible = "arm,cortex-a55";
53 reg = <0x0>;
54 enable-method = "psci";
55 #cooling-cells = <2>;
56 };
57
58 A55_1: cpu@100 {
59 device_type = "cpu";
60 compatible = "arm,cortex-a55";
61 reg = <0x100>;
62 enable-method = "psci";
63 #cooling-cells = <2>;
64 };
65
66 };
67
68 osc_32k: clock-osc-32k {
69 compatible = "fixed-clock";
70 #clock-cells = <0>;
71 clock-frequency = <32768>;
72 clock-output-names = "osc_32k";
73 };
74
75 osc_24m: clock-osc-24m {
76 compatible = "fixed-clock";
77 #clock-cells = <0>;
78 clock-frequency = <24000000>;
79 clock-output-names = "osc_24m";
80 };
81
82 clk_ext1: clock-ext1 {
83 compatible = "fixed-clock";
84 #clock-cells = <0>;
85 clock-frequency = <133000000>;
86 clock-output-names = "clk_ext1";
87 };
88
Peng Fan88950e32023-04-28 12:08:37 +080089 pmu {
90 compatible = "arm,cortex-a55-pmu";
91 interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
92 };
93
Peng Fan6b262d42022-07-26 16:41:09 +080094 psci {
95 compatible = "arm,psci-1.0";
96 method = "smc";
97 };
98
99 timer {
100 compatible = "arm,armv8-timer";
101 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
102 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
103 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
104 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>;
105 clock-frequency = <24000000>;
106 arm,no-tick-in-suspend;
107 interrupt-parent = <&gic>;
108 };
109
110 gic: interrupt-controller@48000000 {
111 compatible = "arm,gic-v3";
112 reg = <0 0x48000000 0 0x10000>,
113 <0 0x48040000 0 0xc0000>;
114 #interrupt-cells = <3>;
115 interrupt-controller;
116 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
117 interrupt-parent = <&gic>;
118 };
119
Peng Fan0324d9e2023-04-28 12:08:38 +0800120 thermal-zones {
121 cpu-thermal {
122 polling-delay-passive = <250>;
123 polling-delay = <2000>;
124
125 thermal-sensors = <&tmu 0>;
126
127 trips {
128 cpu_alert: cpu-alert {
129 temperature = <80000>;
130 hysteresis = <2000>;
131 type = "passive";
132 };
133
134 cpu_crit: cpu-crit {
135 temperature = <90000>;
136 hysteresis = <2000>;
137 type = "critical";
138 };
139 };
140
141 cooling-maps {
142 map0 {
143 trip = <&cpu_alert>;
144 cooling-device =
145 <&A55_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
146 <&A55_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
147 };
148 };
149 };
150 };
151
Peng Fan6b262d42022-07-26 16:41:09 +0800152 soc@0 {
153 compatible = "simple-bus";
154 #address-cells = <1>;
155 #size-cells = <1>;
156 ranges = <0x0 0x0 0x0 0x80000000>,
157 <0x28000000 0x0 0x28000000 0x10000000>;
158
159 aips1: bus@44000000 {
160 compatible = "fsl,aips-bus", "simple-bus";
161 reg = <0x44000000 0x800000>;
162 #address-cells = <1>;
163 #size-cells = <1>;
164 ranges;
165
Peng Fan88950e32023-04-28 12:08:37 +0800166 anomix_ns_gpr: syscon@44210000 {
167 compatible = "fsl,imx93-aonmix-ns-syscfg", "syscon";
168 reg = <0x44210000 0x1000>;
169 };
170
Peng Fan6b262d42022-07-26 16:41:09 +0800171 mu1: mailbox@44230000 {
172 compatible = "fsl,imx93-mu", "fsl,imx8ulp-mu";
173 reg = <0x44230000 0x10000>;
174 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
Peng Fan88950e32023-04-28 12:08:37 +0800175 clocks = <&clk IMX93_CLK_MU1_B_GATE>;
Peng Fan6b262d42022-07-26 16:41:09 +0800176 #mbox-cells = <2>;
177 status = "disabled";
178 };
179
Peng Fan6b262d42022-07-26 16:41:09 +0800180 system_counter: timer@44290000 {
181 compatible = "nxp,sysctr-timer";
182 reg = <0x44290000 0x30000>;
183 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
184 clocks = <&osc_24m>;
185 clock-names = "per";
Peng Fan88950e32023-04-28 12:08:37 +0800186 nxp,no-divider;
Peng Fan6b262d42022-07-26 16:41:09 +0800187 };
188
Peng Fan88950e32023-04-28 12:08:37 +0800189 tpm1: pwm@44310000 {
190 compatible = "fsl,imx7ulp-pwm";
191 reg = <0x44310000 0x1000>;
192 clocks = <&clk IMX93_CLK_TPM1_GATE>;
193 #pwm-cells = <3>;
194 status = "disabled";
195 };
196
197 tpm2: pwm@44320000 {
198 compatible = "fsl,imx7ulp-pwm";
199 reg = <0x44320000 0x10000>;
200 clocks = <&clk IMX93_CLK_TPM2_GATE>;
201 #pwm-cells = <3>;
Peng Fan6b262d42022-07-26 16:41:09 +0800202 status = "disabled";
203 };
204
205 lpi2c1: i2c@44340000 {
206 compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
207 reg = <0x44340000 0x10000>;
Peng Fan88950e32023-04-28 12:08:37 +0800208 #address-cells = <1>;
209 #size-cells = <0>;
Peng Fan6b262d42022-07-26 16:41:09 +0800210 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
211 clocks = <&clk IMX93_CLK_LPI2C1_GATE>,
Peng Fan88950e32023-04-28 12:08:37 +0800212 <&clk IMX93_CLK_BUS_AON>;
Peng Fan6b262d42022-07-26 16:41:09 +0800213 clock-names = "per", "ipg";
214 status = "disabled";
215 };
216
217 lpi2c2: i2c@44350000 {
218 compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
219 reg = <0x44350000 0x10000>;
Peng Fan88950e32023-04-28 12:08:37 +0800220 #address-cells = <1>;
221 #size-cells = <0>;
Peng Fan6b262d42022-07-26 16:41:09 +0800222 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
223 clocks = <&clk IMX93_CLK_LPI2C2_GATE>,
Peng Fan88950e32023-04-28 12:08:37 +0800224 <&clk IMX93_CLK_BUS_AON>;
Peng Fan6b262d42022-07-26 16:41:09 +0800225 clock-names = "per", "ipg";
226 status = "disabled";
227 };
228
229 lpspi1: spi@44360000 {
230 #address-cells = <1>;
231 #size-cells = <0>;
232 compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
233 reg = <0x44360000 0x10000>;
234 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
235 clocks = <&clk IMX93_CLK_LPSPI1_GATE>,
Peng Fan88950e32023-04-28 12:08:37 +0800236 <&clk IMX93_CLK_BUS_AON>;
Peng Fan6b262d42022-07-26 16:41:09 +0800237 clock-names = "per", "ipg";
238 status = "disabled";
239 };
240
241 lpspi2: spi@44370000 {
242 #address-cells = <1>;
243 #size-cells = <0>;
244 compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
245 reg = <0x44370000 0x10000>;
246 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
247 clocks = <&clk IMX93_CLK_LPSPI2_GATE>,
Peng Fan88950e32023-04-28 12:08:37 +0800248 <&clk IMX93_CLK_BUS_AON>;
Peng Fan6b262d42022-07-26 16:41:09 +0800249 clock-names = "per", "ipg";
250 status = "disabled";
251 };
252
253 lpuart1: serial@44380000 {
Peng Fan88950e32023-04-28 12:08:37 +0800254 compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart";
Peng Fan6b262d42022-07-26 16:41:09 +0800255 reg = <0x44380000 0x1000>;
256 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
257 clocks = <&clk IMX93_CLK_LPUART1_GATE>;
258 clock-names = "ipg";
259 status = "disabled";
260 };
261
262 lpuart2: serial@44390000 {
Peng Fan88950e32023-04-28 12:08:37 +0800263 compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart";
Peng Fan6b262d42022-07-26 16:41:09 +0800264 reg = <0x44390000 0x1000>;
265 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
266 clocks = <&clk IMX93_CLK_LPUART2_GATE>;
267 clock-names = "ipg";
268 status = "disabled";
269 };
270
Peng Fan88950e32023-04-28 12:08:37 +0800271 flexcan1: can@443a0000 {
272 compatible = "fsl,imx93-flexcan";
273 reg = <0x443a0000 0x10000>;
274 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
275 clocks = <&clk IMX93_CLK_BUS_AON>,
276 <&clk IMX93_CLK_CAN1_GATE>;
277 clock-names = "ipg", "per";
278 assigned-clocks = <&clk IMX93_CLK_CAN1>;
279 assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>;
280 assigned-clock-rates = <40000000>;
281 fsl,clk-source = /bits/ 8 <0>;
282 status = "disabled";
283 };
284
Peng Fan6b262d42022-07-26 16:41:09 +0800285 iomuxc: pinctrl@443c0000 {
286 compatible = "fsl,imx93-iomuxc";
287 reg = <0x443c0000 0x10000>;
Peng Fan88950e32023-04-28 12:08:37 +0800288 status = "okay";
289 };
290
291 bbnsm: bbnsm@44440000 {
292 compatible = "nxp,imx93-bbnsm", "syscon", "simple-mfd";
293 reg = <0x44440000 0x10000>;
294
295 bbnsm_rtc: rtc {
296 compatible = "nxp,imx93-bbnsm-rtc";
297 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
298 };
299
300 bbnsm_pwrkey: pwrkey {
301 compatible = "nxp,imx93-bbnsm-pwrkey";
302 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
303 linux,code = <KEY_POWER>;
304 };
Peng Fan6b262d42022-07-26 16:41:09 +0800305 };
306
307 clk: clock-controller@44450000 {
308 compatible = "fsl,imx93-ccm";
309 reg = <0x44450000 0x10000>;
310 #clock-cells = <1>;
311 clocks = <&osc_32k>, <&osc_24m>, <&clk_ext1>;
312 clock-names = "osc_32k", "osc_24m", "clk_ext1";
Peng Fan6b262d42022-07-26 16:41:09 +0800313 status = "okay";
314 };
315
Peng Fan88950e32023-04-28 12:08:37 +0800316 src: system-controller@44460000 {
317 compatible = "fsl,imx93-src", "syscon";
318 reg = <0x44460000 0x10000>;
319 #address-cells = <1>;
320 #size-cells = <1>;
321 ranges;
322
323 mediamix: power-domain@44462400 {
324 compatible = "fsl,imx93-src-slice";
325 reg = <0x44462400 0x400>, <0x44465800 0x400>;
326 #power-domain-cells = <0>;
327 clocks = <&clk IMX93_CLK_MEDIA_AXI>,
328 <&clk IMX93_CLK_MEDIA_APB>;
329 };
330
331 mlmix: power-domain@44461800 {
332 compatible = "fsl,imx93-src-slice";
333 reg = <0x44461800 0x400>, <0x44464800 0x400>;
334 #power-domain-cells = <0>;
335 clocks = <&clk IMX93_CLK_ML_APB>,
336 <&clk IMX93_CLK_ML>;
337 };
338 };
339
Peng Fan6b262d42022-07-26 16:41:09 +0800340 anatop: anatop@44480000 {
341 compatible = "fsl,imx93-anatop", "syscon";
342 reg = <0x44480000 0x10000>;
343 };
344
Peng Fan0324d9e2023-04-28 12:08:38 +0800345 tmu: tmu@44482000 {
346 compatible = "fsl,imx93-tmu";
347 reg = <0x44482000 0x1000>;
348 clocks = <&clk IMX93_CLK_TMC_GATE>;
349 little-endian;
350 fsl,tmu-calibration = <0x0000000e 0x800000da
351 0x00000029 0x800000e9
352 0x00000056 0x80000102
353 0x000000a2 0x8000012a
354 0x00000116 0x80000166
355 0x00000195 0x800001a7
356 0x000001b2 0x800001b6>;
357 #thermal-sensor-cells = <1>;
358 };
359
Peng Fan6b262d42022-07-26 16:41:09 +0800360 adc1: adc@44530000 {
361 compatible = "nxp,imx93-adc";
362 reg = <0x44530000 0x10000>;
363 interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>,
Peng Fan88950e32023-04-28 12:08:37 +0800364 <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>,
365 <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>,
366 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
Peng Fan6b262d42022-07-26 16:41:09 +0800367 clocks = <&clk IMX93_CLK_ADC1_GATE>;
368 clock-names = "ipg";
Peng Fan88950e32023-04-28 12:08:37 +0800369 #io-channel-cells = <1>;
Peng Fan6b262d42022-07-26 16:41:09 +0800370 status = "disabled";
371 };
372 };
373
374 aips2: bus@42000000 {
375 compatible = "fsl,aips-bus", "simple-bus";
376 reg = <0x42000000 0x800000>;
377 #address-cells = <1>;
378 #size-cells = <1>;
379 ranges;
380
Peng Fan88950e32023-04-28 12:08:37 +0800381 wakeupmix_gpr: syscon@42420000 {
382 compatible = "fsl,imx93-wakeupmix-syscfg", "syscon";
Peng Fan6b262d42022-07-26 16:41:09 +0800383 reg = <0x42420000 0x1000>;
384 };
385
386 mu2: mailbox@42440000 {
387 compatible = "fsl,imx93-mu", "fsl,imx8ulp-mu";
388 reg = <0x42440000 0x10000>;
389 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
Peng Fan88950e32023-04-28 12:08:37 +0800390 clocks = <&clk IMX93_CLK_MU2_B_GATE>;
Peng Fan6b262d42022-07-26 16:41:09 +0800391 #mbox-cells = <2>;
392 status = "disabled";
393 };
394
395 wdog3: wdog@42490000 {
396 compatible = "fsl,imx93-wdt";
397 reg = <0x42490000 0x10000>;
398 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
399 clocks = <&clk IMX93_CLK_WDOG3_GATE>;
400 timeout-sec = <40>;
Peng Fan88950e32023-04-28 12:08:37 +0800401 };
402
403 tpm3: pwm@424e0000 {
404 compatible = "fsl,imx7ulp-pwm";
405 reg = <0x424e0000 0x1000>;
406 clocks = <&clk IMX93_CLK_TPM3_GATE>;
407 #pwm-cells = <3>;
Peng Fan6b262d42022-07-26 16:41:09 +0800408 status = "disabled";
409 };
410
411 tpm4: pwm@424f0000 {
412 compatible = "fsl,imx7ulp-pwm";
Peng Fan88950e32023-04-28 12:08:37 +0800413 reg = <0x424f0000 0x10000>;
Peng Fan6b262d42022-07-26 16:41:09 +0800414 clocks = <&clk IMX93_CLK_TPM4_GATE>;
Peng Fan6b262d42022-07-26 16:41:09 +0800415 #pwm-cells = <3>;
416 status = "disabled";
417 };
418
Peng Fan88950e32023-04-28 12:08:37 +0800419 tpm5: pwm@42500000 {
420 compatible = "fsl,imx7ulp-pwm";
421 reg = <0x42500000 0x10000>;
422 clocks = <&clk IMX93_CLK_TPM5_GATE>;
423 #pwm-cells = <3>;
424 status = "disabled";
425 };
426
427 tpm6: pwm@42510000 {
428 compatible = "fsl,imx7ulp-pwm";
429 reg = <0x42510000 0x10000>;
430 clocks = <&clk IMX93_CLK_TPM6_GATE>;
431 #pwm-cells = <3>;
Peng Fan6b262d42022-07-26 16:41:09 +0800432 status = "disabled";
433 };
434
435 lpi2c3: i2c@42530000 {
436 compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
437 reg = <0x42530000 0x10000>;
Peng Fan88950e32023-04-28 12:08:37 +0800438 #address-cells = <1>;
439 #size-cells = <0>;
Peng Fan6b262d42022-07-26 16:41:09 +0800440 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
441 clocks = <&clk IMX93_CLK_LPI2C3_GATE>,
Peng Fan88950e32023-04-28 12:08:37 +0800442 <&clk IMX93_CLK_BUS_WAKEUP>;
Peng Fan6b262d42022-07-26 16:41:09 +0800443 clock-names = "per", "ipg";
444 status = "disabled";
445 };
446
447 lpi2c4: i2c@42540000 {
448 compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
449 reg = <0x42540000 0x10000>;
Peng Fan88950e32023-04-28 12:08:37 +0800450 #address-cells = <1>;
451 #size-cells = <0>;
Peng Fan6b262d42022-07-26 16:41:09 +0800452 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
453 clocks = <&clk IMX93_CLK_LPI2C4_GATE>,
Peng Fan88950e32023-04-28 12:08:37 +0800454 <&clk IMX93_CLK_BUS_WAKEUP>;
Peng Fan6b262d42022-07-26 16:41:09 +0800455 clock-names = "per", "ipg";
456 status = "disabled";
457 };
458
459 lpspi3: spi@42550000 {
460 #address-cells = <1>;
461 #size-cells = <0>;
462 compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
463 reg = <0x42550000 0x10000>;
464 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
465 clocks = <&clk IMX93_CLK_LPSPI3_GATE>,
Peng Fan88950e32023-04-28 12:08:37 +0800466 <&clk IMX93_CLK_BUS_WAKEUP>;
Peng Fan6b262d42022-07-26 16:41:09 +0800467 clock-names = "per", "ipg";
468 status = "disabled";
469 };
470
471 lpspi4: spi@42560000 {
472 #address-cells = <1>;
473 #size-cells = <0>;
474 compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
475 reg = <0x42560000 0x10000>;
476 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
477 clocks = <&clk IMX93_CLK_LPSPI4_GATE>,
Peng Fan88950e32023-04-28 12:08:37 +0800478 <&clk IMX93_CLK_BUS_WAKEUP>;
Peng Fan6b262d42022-07-26 16:41:09 +0800479 clock-names = "per", "ipg";
480 status = "disabled";
481 };
482
483 lpuart3: serial@42570000 {
Peng Fan88950e32023-04-28 12:08:37 +0800484 compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart";
Peng Fan6b262d42022-07-26 16:41:09 +0800485 reg = <0x42570000 0x1000>;
486 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
487 clocks = <&clk IMX93_CLK_LPUART3_GATE>;
488 clock-names = "ipg";
489 status = "disabled";
490 };
491
492 lpuart4: serial@42580000 {
Peng Fan88950e32023-04-28 12:08:37 +0800493 compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart";
Peng Fan6b262d42022-07-26 16:41:09 +0800494 reg = <0x42580000 0x1000>;
495 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
496 clocks = <&clk IMX93_CLK_LPUART4_GATE>;
497 clock-names = "ipg";
498 status = "disabled";
499 };
500
501 lpuart5: serial@42590000 {
Peng Fan88950e32023-04-28 12:08:37 +0800502 compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart";
Peng Fan6b262d42022-07-26 16:41:09 +0800503 reg = <0x42590000 0x1000>;
504 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
505 clocks = <&clk IMX93_CLK_LPUART5_GATE>;
506 clock-names = "ipg";
507 status = "disabled";
508 };
509
510 lpuart6: serial@425a0000 {
Peng Fan88950e32023-04-28 12:08:37 +0800511 compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart";
Peng Fan6b262d42022-07-26 16:41:09 +0800512 reg = <0x425a0000 0x1000>;
513 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
514 clocks = <&clk IMX93_CLK_LPUART6_GATE>;
515 clock-names = "ipg";
516 status = "disabled";
517 };
518
Peng Fan88950e32023-04-28 12:08:37 +0800519 flexcan2: can@425b0000 {
520 compatible = "fsl,imx93-flexcan";
521 reg = <0x425b0000 0x10000>;
522 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
523 clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
524 <&clk IMX93_CLK_CAN2_GATE>;
525 clock-names = "ipg", "per";
526 assigned-clocks = <&clk IMX93_CLK_CAN2>;
527 assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>;
528 assigned-clock-rates = <40000000>;
529 fsl,clk-source = /bits/ 8 <0>;
530 status = "disabled";
531 };
532
533 flexspi1: spi@425e0000 {
Peng Fan6b262d42022-07-26 16:41:09 +0800534 compatible = "nxp,imx8mm-fspi";
535 reg = <0x425e0000 0x10000>, <0x28000000 0x10000000>;
536 reg-names = "fspi_base", "fspi_mmap";
Peng Fan88950e32023-04-28 12:08:37 +0800537 #address-cells = <1>;
538 #size-cells = <0>;
Peng Fan6b262d42022-07-26 16:41:09 +0800539 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
Peng Fan88950e32023-04-28 12:08:37 +0800540 clocks = <&clk IMX93_CLK_FLEXSPI1_GATE>,
541 <&clk IMX93_CLK_FLEXSPI1_GATE>;
542 clock-names = "fspi_en", "fspi";
543 assigned-clocks = <&clk IMX93_CLK_FLEXSPI1>;
544 assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1>;
Peng Fan6b262d42022-07-26 16:41:09 +0800545 status = "disabled";
546 };
547
548 lpuart7: serial@42690000 {
Peng Fan88950e32023-04-28 12:08:37 +0800549 compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart";
Peng Fan6b262d42022-07-26 16:41:09 +0800550 reg = <0x42690000 0x1000>;
551 interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>;
552 clocks = <&clk IMX93_CLK_LPUART7_GATE>;
553 clock-names = "ipg";
554 status = "disabled";
555 };
556
557 lpuart8: serial@426a0000 {
Peng Fan88950e32023-04-28 12:08:37 +0800558 compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart";
Peng Fan6b262d42022-07-26 16:41:09 +0800559 reg = <0x426a0000 0x1000>;
560 interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>;
561 clocks = <&clk IMX93_CLK_LPUART8_GATE>;
562 clock-names = "ipg";
563 status = "disabled";
564 };
565
566 lpi2c5: i2c@426b0000 {
567 compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
568 reg = <0x426b0000 0x10000>;
Peng Fan88950e32023-04-28 12:08:37 +0800569 #address-cells = <1>;
570 #size-cells = <0>;
Peng Fan6b262d42022-07-26 16:41:09 +0800571 interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
572 clocks = <&clk IMX93_CLK_LPI2C5_GATE>,
Peng Fan88950e32023-04-28 12:08:37 +0800573 <&clk IMX93_CLK_BUS_WAKEUP>;
Peng Fan6b262d42022-07-26 16:41:09 +0800574 clock-names = "per", "ipg";
575 status = "disabled";
576 };
577
578 lpi2c6: i2c@426c0000 {
579 compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
580 reg = <0x426c0000 0x10000>;
Peng Fan88950e32023-04-28 12:08:37 +0800581 #address-cells = <1>;
582 #size-cells = <0>;
Peng Fan6b262d42022-07-26 16:41:09 +0800583 interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
584 clocks = <&clk IMX93_CLK_LPI2C6_GATE>,
Peng Fan88950e32023-04-28 12:08:37 +0800585 <&clk IMX93_CLK_BUS_WAKEUP>;
586 clock-names = "per", "ipg";
587 status = "disabled";
588 };
589
590 lpi2c7: i2c@426d0000 {
591 compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
592 reg = <0x426d0000 0x10000>;
593 #address-cells = <1>;
594 #size-cells = <0>;
595 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
596 clocks = <&clk IMX93_CLK_LPI2C7_GATE>,
597 <&clk IMX93_CLK_BUS_WAKEUP>;
598 clock-names = "per", "ipg";
599 status = "disabled";
600 };
601
602 lpi2c8: i2c@426e0000 {
603 compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
604 reg = <0x426e0000 0x10000>;
605 #address-cells = <1>;
606 #size-cells = <0>;
607 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>;
608 clocks = <&clk IMX93_CLK_LPI2C8_GATE>,
609 <&clk IMX93_CLK_BUS_WAKEUP>;
Peng Fan6b262d42022-07-26 16:41:09 +0800610 clock-names = "per", "ipg";
611 status = "disabled";
612 };
Peng Fan88950e32023-04-28 12:08:37 +0800613
614 lpspi5: spi@426f0000 {
615 #address-cells = <1>;
616 #size-cells = <0>;
617 compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
618 reg = <0x426f0000 0x10000>;
619 interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
620 clocks = <&clk IMX93_CLK_LPSPI5_GATE>,
621 <&clk IMX93_CLK_BUS_WAKEUP>;
622 clock-names = "per", "ipg";
623 status = "disabled";
624 };
625
626 lpspi6: spi@42700000 {
627 #address-cells = <1>;
628 #size-cells = <0>;
629 compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
630 reg = <0x42700000 0x10000>;
631 interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
632 clocks = <&clk IMX93_CLK_LPSPI6_GATE>,
633 <&clk IMX93_CLK_BUS_WAKEUP>;
634 clock-names = "per", "ipg";
635 status = "disabled";
636 };
637
638 lpspi7: spi@42710000 {
639 #address-cells = <1>;
640 #size-cells = <0>;
641 compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
642 reg = <0x42710000 0x10000>;
643 interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
644 clocks = <&clk IMX93_CLK_LPSPI7_GATE>,
645 <&clk IMX93_CLK_BUS_WAKEUP>;
646 clock-names = "per", "ipg";
647 status = "disabled";
648 };
649
650 lpspi8: spi@42720000 {
651 #address-cells = <1>;
652 #size-cells = <0>;
653 compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
654 reg = <0x42720000 0x10000>;
655 interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
656 clocks = <&clk IMX93_CLK_LPSPI8_GATE>,
657 <&clk IMX93_CLK_BUS_WAKEUP>;
658 clock-names = "per", "ipg";
659 status = "disabled";
660 };
661
Peng Fan6b262d42022-07-26 16:41:09 +0800662 };
663
664 aips3: bus@42800000 {
665 compatible = "fsl,aips-bus", "simple-bus";
666 reg = <0x42800000 0x800000>;
667 #address-cells = <1>;
668 #size-cells = <1>;
669 ranges;
670
671 usdhc1: mmc@42850000 {
672 compatible = "fsl,imx93-usdhc", "fsl,imx8mm-usdhc";
673 reg = <0x42850000 0x10000>;
674 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
Peng Fan88950e32023-04-28 12:08:37 +0800675 clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
676 <&clk IMX93_CLK_WAKEUP_AXI>,
Peng Fan6b262d42022-07-26 16:41:09 +0800677 <&clk IMX93_CLK_USDHC1_GATE>;
678 clock-names = "ipg", "ahb", "per";
679 bus-width = <8>;
680 fsl,tuning-start-tap = <20>;
681 fsl,tuning-step= <2>;
682 status = "disabled";
683 };
684
685 usdhc2: mmc@42860000 {
686 compatible = "fsl,imx93-usdhc", "fsl,imx8mm-usdhc";
687 reg = <0x42860000 0x10000>;
688 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
Peng Fan88950e32023-04-28 12:08:37 +0800689 clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
690 <&clk IMX93_CLK_WAKEUP_AXI>,
Peng Fan6b262d42022-07-26 16:41:09 +0800691 <&clk IMX93_CLK_USDHC2_GATE>;
692 clock-names = "ipg", "ahb", "per";
693 bus-width = <4>;
694 fsl,tuning-start-tap = <20>;
695 fsl,tuning-step= <2>;
696 status = "disabled";
697 };
698
Peng Fan88950e32023-04-28 12:08:37 +0800699 eqos: ethernet@428a0000 {
700 compatible = "nxp,imx93-dwmac-eqos", "snps,dwmac-5.10a";
701 reg = <0x428a0000 0x10000>;
702 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
703 <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>;
704 interrupt-names = "macirq", "eth_wake_irq";
705 clocks = <&clk IMX93_CLK_ENET_QOS_GATE>,
706 <&clk IMX93_CLK_ENET_QOS_GATE>,
707 <&clk IMX93_CLK_ENET_TIMER2>,
708 <&clk IMX93_CLK_ENET>,
709 <&clk IMX93_CLK_ENET_QOS_GATE>;
710 clock-names = "stmmaceth", "pclk", "ptp_ref", "tx", "mem";
711 assigned-clocks = <&clk IMX93_CLK_ENET_TIMER2>,
712 <&clk IMX93_CLK_ENET>;
713 assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>,
714 <&clk IMX93_CLK_SYS_PLL_PFD0_DIV2>;
715 assigned-clock-rates = <100000000>, <250000000>;
716 intf_mode = <&wakeupmix_gpr 0x28>;
717 snps,clk-csr = <0>;
718 status = "disabled";
719 };
720
Peng Fan6b262d42022-07-26 16:41:09 +0800721 fec: ethernet@42890000 {
Peng Fan88950e32023-04-28 12:08:37 +0800722 compatible = "fsl,imx93-fec", "fsl,imx8mq-fec", "fsl,imx6sx-fec";
Peng Fan6b262d42022-07-26 16:41:09 +0800723 reg = <0x42890000 0x10000>;
724 interrupts = <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>,
725 <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>,
726 <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
727 <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>;
Peng Fan88950e32023-04-28 12:08:37 +0800728 clocks = <&clk IMX93_CLK_ENET1_GATE>,
729 <&clk IMX93_CLK_ENET1_GATE>,
Peng Fan6b262d42022-07-26 16:41:09 +0800730 <&clk IMX93_CLK_ENET_TIMER1>,
731 <&clk IMX93_CLK_ENET_REF>,
732 <&clk IMX93_CLK_ENET_REF_PHY>;
733 clock-names = "ipg", "ahb", "ptp",
734 "enet_clk_ref", "enet_out";
735 assigned-clocks = <&clk IMX93_CLK_ENET_TIMER1>,
736 <&clk IMX93_CLK_ENET_REF>,
737 <&clk IMX93_CLK_ENET_REF_PHY>;
738 assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>,
739 <&clk IMX93_CLK_SYS_PLL_PFD0_DIV2>,
740 <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>;
741 assigned-clock-rates = <100000000>, <250000000>, <50000000>;
742 fsl,num-tx-queues = <3>;
743 fsl,num-rx-queues = <3>;
Peng Fan6b262d42022-07-26 16:41:09 +0800744 status = "disabled";
745 };
746
747 usdhc3: mmc@428b0000 {
748 compatible = "fsl,imx93-usdhc", "fsl,imx8mm-usdhc";
749 reg = <0x428b0000 0x10000>;
750 interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
Peng Fan88950e32023-04-28 12:08:37 +0800751 clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
752 <&clk IMX93_CLK_WAKEUP_AXI>,
Peng Fan6b262d42022-07-26 16:41:09 +0800753 <&clk IMX93_CLK_USDHC3_GATE>;
754 clock-names = "ipg", "ahb", "per";
755 bus-width = <4>;
756 fsl,tuning-start-tap = <20>;
757 fsl,tuning-step= <2>;
758 status = "disabled";
759 };
760 };
761
Peng Fan88950e32023-04-28 12:08:37 +0800762 gpio2: gpio@43810080 {
763 compatible = "fsl,imx93-gpio", "fsl,imx7ulp-gpio";
764 reg = <0x43810080 0x1000>, <0x43810040 0x40>;
765 gpio-controller;
766 #gpio-cells = <2>;
767 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
768 interrupt-controller;
769 #interrupt-cells = <2>;
770 clocks = <&clk IMX93_CLK_GPIO2_GATE>,
771 <&clk IMX93_CLK_GPIO2_GATE>;
772 clock-names = "gpio", "port";
773 gpio-ranges = <&iomuxc 0 4 30>;
Peng Fan6b262d42022-07-26 16:41:09 +0800774 };
775
Peng Fan88950e32023-04-28 12:08:37 +0800776 gpio3: gpio@43820080 {
777 compatible = "fsl,imx93-gpio", "fsl,imx7ulp-gpio";
778 reg = <0x43820080 0x1000>, <0x43820040 0x40>;
779 gpio-controller;
780 #gpio-cells = <2>;
781 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
782 interrupt-controller;
783 #interrupt-cells = <2>;
784 clocks = <&clk IMX93_CLK_GPIO3_GATE>,
785 <&clk IMX93_CLK_GPIO3_GATE>;
786 clock-names = "gpio", "port";
787 gpio-ranges = <&iomuxc 0 84 8>, <&iomuxc 8 66 18>,
788 <&iomuxc 26 34 2>, <&iomuxc 28 0 4>;
Peng Fan6b262d42022-07-26 16:41:09 +0800789 };
790
Peng Fan88950e32023-04-28 12:08:37 +0800791 gpio4: gpio@43830080 {
792 compatible = "fsl,imx93-gpio", "fsl,imx7ulp-gpio";
793 reg = <0x43830080 0x1000>, <0x43830040 0x40>;
794 gpio-controller;
795 #gpio-cells = <2>;
796 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
797 interrupt-controller;
798 #interrupt-cells = <2>;
799 clocks = <&clk IMX93_CLK_GPIO4_GATE>,
800 <&clk IMX93_CLK_GPIO4_GATE>;
801 clock-names = "gpio", "port";
802 gpio-ranges = <&iomuxc 0 38 28>, <&iomuxc 28 36 2>;
Peng Fan6b262d42022-07-26 16:41:09 +0800803 };
804
Peng Fan88950e32023-04-28 12:08:37 +0800805 gpio1: gpio@47400080 {
806 compatible = "fsl,imx93-gpio", "fsl,imx7ulp-gpio";
807 reg = <0x47400080 0x1000>, <0x47400040 0x40>;
808 gpio-controller;
809 #gpio-cells = <2>;
810 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
811 interrupt-controller;
812 #interrupt-cells = <2>;
813 clocks = <&clk IMX93_CLK_GPIO1_GATE>,
814 <&clk IMX93_CLK_GPIO1_GATE>;
815 clock-names = "gpio", "port";
816 gpio-ranges = <&iomuxc 0 92 16>;
Peng Fan6b262d42022-07-26 16:41:09 +0800817 };
818
Peng Fan88950e32023-04-28 12:08:37 +0800819 s4muap: mailbox@47520000 {
Peng Fan6b262d42022-07-26 16:41:09 +0800820 compatible = "fsl,imx93-mu-s4";
821 reg = <0x47520000 0x10000>;
822 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
823 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
Peng Fan88950e32023-04-28 12:08:37 +0800824 interrupt-names = "tx", "rx";
Peng Fan6b262d42022-07-26 16:41:09 +0800825 #mbox-cells = <2>;
Peng Fan6b262d42022-07-26 16:41:09 +0800826 };
827
Peng Fan88950e32023-04-28 12:08:37 +0800828 media_blk_ctrl: system-controller@4ac10000 {
829 compatible = "fsl,imx93-media-blk-ctrl", "syscon";
830 reg = <0x4ac10000 0x10000>;
831 power-domains = <&mediamix>;
832 clocks = <&clk IMX93_CLK_MEDIA_APB>,
833 <&clk IMX93_CLK_MEDIA_AXI>,
834 <&clk IMX93_CLK_NIC_MEDIA_GATE>,
835 <&clk IMX93_CLK_MEDIA_DISP_PIX>,
836 <&clk IMX93_CLK_CAM_PIX>,
837 <&clk IMX93_CLK_PXP_GATE>,
838 <&clk IMX93_CLK_LCDIF_GATE>,
839 <&clk IMX93_CLK_ISI_GATE>,
840 <&clk IMX93_CLK_MIPI_CSI_GATE>,
841 <&clk IMX93_CLK_MIPI_DSI_GATE>;
842 clock-names = "apb", "axi", "nic", "disp", "cam",
843 "pxp", "lcdif", "isi", "csi", "dsi";
844 #power-domain-cells = <1>;
Peng Fan6b262d42022-07-26 16:41:09 +0800845 status = "disabled";
846 };
Peng Fan6b262d42022-07-26 16:41:09 +0800847 };
848};