1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright 2022 NXP
4 */
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>
10#include <dt-bindings/power/fsl,imx93-power.h>
11#include <dt-bindings/thermal/thermal.h>
12
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;
25		i2c0 = &lpi2c1;
26		i2c1 = &lpi2c2;
27		i2c2 = &lpi2c3;
28		i2c3 = &lpi2c4;
29		i2c4 = &lpi2c5;
30		i2c5 = &lpi2c6;
31		i2c6 = &lpi2c7;
32		i2c7 = &lpi2c8;
33		mmc0 = &usdhc1;
34		mmc1 = &usdhc2;
35		mmc2 = &usdhc3;
36		serial0 = &lpuart1;
37		serial1 = &lpuart2;
38		serial2 = &lpuart3;
39		serial3 = &lpuart4;
40		serial4 = &lpuart5;
41		serial5 = &lpuart6;
42		serial6 = &lpuart7;
43		serial7 = &lpuart8;
44	};
45
46	cpus {
47		#address-cells = <1>;
48		#size-cells = <0>;
49
50		idle-states {
51			entry-method = "psci";
52
53			cpu_pd_wait: cpu-pd-wait {
54				compatible = "arm,idle-state";
55				arm,psci-suspend-param = <0x0010033>;
56				local-timer-stop;
57				entry-latency-us = <10000>;
58				exit-latency-us = <7000>;
59				min-residency-us = <27000>;
60				wakeup-latency-us = <15000>;
61			};
62		};
63
64		A55_0: cpu@0 {
65			device_type = "cpu";
66			compatible = "arm,cortex-a55";
67			reg = <0x0>;
68			enable-method = "psci";
69			#cooling-cells = <2>;
70			cpu-idle-states = <&cpu_pd_wait>;
71		};
72
73		A55_1: cpu@100 {
74			device_type = "cpu";
75			compatible = "arm,cortex-a55";
76			reg = <0x100>;
77			enable-method = "psci";
78			#cooling-cells = <2>;
79			cpu-idle-states = <&cpu_pd_wait>;
80		};
81
82	};
83
84	osc_32k: clock-osc-32k {
85		compatible = "fixed-clock";
86		#clock-cells = <0>;
87		clock-frequency = <32768>;
88		clock-output-names = "osc_32k";
89	};
90
91	osc_24m: clock-osc-24m {
92		compatible = "fixed-clock";
93		#clock-cells = <0>;
94		clock-frequency = <24000000>;
95		clock-output-names = "osc_24m";
96	};
97
98	clk_ext1: clock-ext1 {
99		compatible = "fixed-clock";
100		#clock-cells = <0>;
101		clock-frequency = <133000000>;
102		clock-output-names = "clk_ext1";
103	};
104
105	pmu {
106		compatible = "arm,cortex-a55-pmu";
107		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
108	};
109
110	psci {
111		compatible = "arm,psci-1.0";
112		method = "smc";
113	};
114
115	timer {
116		compatible = "arm,armv8-timer";
117		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
118			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
119			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
120			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>;
121		clock-frequency = <24000000>;
122		arm,no-tick-in-suspend;
123		interrupt-parent = <&gic>;
124	};
125
126	gic: interrupt-controller@48000000 {
127		compatible = "arm,gic-v3";
128		reg = <0 0x48000000 0 0x10000>,
129		      <0 0x48040000 0 0xc0000>;
130		#interrupt-cells = <3>;
131		interrupt-controller;
132		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
133		interrupt-parent = <&gic>;
134	};
135
136	thermal-zones {
137		cpu-thermal {
138			polling-delay-passive = <250>;
139			polling-delay = <2000>;
140
141			thermal-sensors = <&tmu 0>;
142
143			trips {
144				cpu_alert: cpu-alert {
145					temperature = <80000>;
146					hysteresis = <2000>;
147					type = "passive";
148				};
149
150				cpu_crit: cpu-crit {
151					temperature = <90000>;
152					hysteresis = <2000>;
153					type = "critical";
154				};
155			};
156
157			cooling-maps {
158				map0 {
159					trip = <&cpu_alert>;
160					cooling-device =
161						<&A55_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
162						<&A55_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
163				};
164			};
165		};
166	};
167
168	cm33: remoteproc-cm33 {
169		compatible = "fsl,imx93-cm33";
170		clocks = <&clk IMX93_CLK_CM33_GATE>;
171		status = "disabled";
172	};
173
174	soc@0 {
175		compatible = "simple-bus";
176		#address-cells = <1>;
177		#size-cells = <1>;
178		ranges = <0x0 0x0 0x0 0x80000000>,
179			 <0x28000000 0x0 0x28000000 0x10000000>;
180
181		aips1: bus@44000000 {
182			compatible = "fsl,aips-bus", "simple-bus";
183			reg = <0x44000000 0x800000>;
184			#address-cells = <1>;
185			#size-cells = <1>;
186			ranges;
187
188			anomix_ns_gpr: syscon@44210000 {
189				compatible = "fsl,imx93-aonmix-ns-syscfg", "syscon";
190				reg = <0x44210000 0x1000>;
191			};
192
193			mu1: mailbox@44230000 {
194				compatible = "fsl,imx93-mu", "fsl,imx8ulp-mu";
195				reg = <0x44230000 0x10000>;
196				interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
197				clocks = <&clk IMX93_CLK_MU1_B_GATE>;
198				#mbox-cells = <2>;
199				status = "disabled";
200			};
201
202			system_counter: timer@44290000 {
203				compatible = "nxp,sysctr-timer";
204				reg = <0x44290000 0x30000>;
205				interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
206				clocks = <&osc_24m>;
207				clock-names = "per";
208				nxp,no-divider;
209			};
210
211			wdog1: watchdog@442d0000 {
212				compatible = "fsl,imx93-wdt";
213				reg = <0x442d0000 0x10000>;
214				interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
215				clocks = <&clk IMX93_CLK_WDOG1_GATE>;
216				timeout-sec = <40>;
217				status = "disabled";
218			};
219
220			wdog2: watchdog@442e0000 {
221				compatible = "fsl,imx93-wdt";
222				reg = <0x442e0000 0x10000>;
223				interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
224				clocks = <&clk IMX93_CLK_WDOG2_GATE>;
225				timeout-sec = <40>;
226				status = "disabled";
227			};
228
229			tpm1: pwm@44310000 {
230				compatible = "fsl,imx7ulp-pwm";
231				reg = <0x44310000 0x1000>;
232				clocks = <&clk IMX93_CLK_TPM1_GATE>;
233				#pwm-cells = <3>;
234				status = "disabled";
235			};
236
237			tpm2: pwm@44320000 {
238				compatible = "fsl,imx7ulp-pwm";
239				reg = <0x44320000 0x10000>;
240				clocks = <&clk IMX93_CLK_TPM2_GATE>;
241				#pwm-cells = <3>;
242				status = "disabled";
243			};
244
245			lpi2c1: i2c@44340000 {
246				compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
247				reg = <0x44340000 0x10000>;
248				#address-cells = <1>;
249				#size-cells = <0>;
250				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
251				clocks = <&clk IMX93_CLK_LPI2C1_GATE>,
252					 <&clk IMX93_CLK_BUS_AON>;
253				clock-names = "per", "ipg";
254				status = "disabled";
255			};
256
257			lpi2c2: i2c@44350000 {
258				compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
259				reg = <0x44350000 0x10000>;
260				#address-cells = <1>;
261				#size-cells = <0>;
262				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
263				clocks = <&clk IMX93_CLK_LPI2C2_GATE>,
264					 <&clk IMX93_CLK_BUS_AON>;
265				clock-names = "per", "ipg";
266				status = "disabled";
267			};
268
269			lpspi1: spi@44360000 {
270				#address-cells = <1>;
271				#size-cells = <0>;
272				compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
273				reg = <0x44360000 0x10000>;
274				interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
275				clocks = <&clk IMX93_CLK_LPSPI1_GATE>,
276					 <&clk IMX93_CLK_BUS_AON>;
277				clock-names = "per", "ipg";
278				status = "disabled";
279			};
280
281			lpspi2: spi@44370000 {
282				#address-cells = <1>;
283				#size-cells = <0>;
284				compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
285				reg = <0x44370000 0x10000>;
286				interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
287				clocks = <&clk IMX93_CLK_LPSPI2_GATE>,
288					 <&clk IMX93_CLK_BUS_AON>;
289				clock-names = "per", "ipg";
290				status = "disabled";
291			};
292
293			lpuart1: serial@44380000 {
294				compatible = "fsl,imx93-lpuart", "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart";
295				reg = <0x44380000 0x1000>;
296				interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
297				clocks = <&clk IMX93_CLK_LPUART1_GATE>;
298				clock-names = "ipg";
299				status = "disabled";
300			};
301
302			lpuart2: serial@44390000 {
303				compatible = "fsl,imx93-lpuart", "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart";
304				reg = <0x44390000 0x1000>;
305				interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
306				clocks = <&clk IMX93_CLK_LPUART2_GATE>;
307				clock-names = "ipg";
308				status = "disabled";
309			};
310
311			flexcan1: can@443a0000 {
312				compatible = "fsl,imx93-flexcan";
313				reg = <0x443a0000 0x10000>;
314				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
315				clocks = <&clk IMX93_CLK_BUS_AON>,
316					 <&clk IMX93_CLK_CAN1_GATE>;
317				clock-names = "ipg", "per";
318				assigned-clocks = <&clk IMX93_CLK_CAN1>;
319				assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>;
320				assigned-clock-rates = <40000000>;
321				fsl,clk-source = /bits/ 8 <0>;
322				status = "disabled";
323			};
324
325			iomuxc: pinctrl@443c0000 {
326				compatible = "fsl,imx93-iomuxc";
327				reg = <0x443c0000 0x10000>;
328				status = "okay";
329			};
330
331			bbnsm: bbnsm@44440000 {
332				compatible = "nxp,imx93-bbnsm", "syscon", "simple-mfd";
333				reg = <0x44440000 0x10000>;
334
335				bbnsm_rtc: rtc {
336					compatible = "nxp,imx93-bbnsm-rtc";
337					interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
338				};
339
340				bbnsm_pwrkey: pwrkey {
341					compatible = "nxp,imx93-bbnsm-pwrkey";
342					interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
343					linux,code = <KEY_POWER>;
344				};
345			};
346
347			clk: clock-controller@44450000 {
348				compatible = "fsl,imx93-ccm";
349				reg = <0x44450000 0x10000>;
350				#clock-cells = <1>;
351				clocks = <&osc_32k>, <&osc_24m>, <&clk_ext1>;
352				clock-names = "osc_32k", "osc_24m", "clk_ext1";
353				status = "okay";
354			};
355
356			src: system-controller@44460000 {
357				compatible = "fsl,imx93-src", "syscon";
358				reg = <0x44460000 0x10000>;
359				#address-cells = <1>;
360				#size-cells = <1>;
361				ranges;
362
363				mlmix: power-domain@44461800 {
364					compatible = "fsl,imx93-src-slice";
365					reg = <0x44461800 0x400>, <0x44464800 0x400>;
366					#power-domain-cells = <0>;
367					clocks = <&clk IMX93_CLK_ML_APB>,
368						 <&clk IMX93_CLK_ML>;
369				};
370
371				mediamix: power-domain@44462400 {
372					compatible = "fsl,imx93-src-slice";
373					reg = <0x44462400 0x400>, <0x44465800 0x400>;
374					#power-domain-cells = <0>;
375					clocks = <&clk IMX93_CLK_MEDIA_AXI>,
376						 <&clk IMX93_CLK_MEDIA_APB>;
377				};
378			};
379
380			anatop: anatop@44480000 {
381				compatible = "fsl,imx93-anatop", "syscon";
382				reg = <0x44480000 0x10000>;
383			};
384
385			tmu: tmu@44482000 {
386				compatible = "fsl,qoriq-tmu";
387				reg = <0x44482000 0x1000>;
388				clocks = <&clk IMX93_CLK_TMC_GATE>;
389				little-endian;
390				fsl,tmu-range = <0x800000da 0x800000e9
391						 0x80000102 0x8000012a
392						 0x80000166 0x800001a7
393						 0x800001b6>;
394				fsl,tmu-calibration = <0x00000000 0x0000000e
395						       0x00000001 0x00000029
396						       0x00000002 0x00000056
397						       0x00000003 0x000000a2
398						       0x00000004 0x00000116
399						       0x00000005 0x00000195
400						       0x00000006 0x000001b2>;
401				#thermal-sensor-cells = <1>;
402			};
403
404
405			adc1: adc@44530000 {
406				compatible = "nxp,imx93-adc";
407				reg = <0x44530000 0x10000>;
408				interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>,
409					     <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>,
410					     <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>,
411					     <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
412				clocks = <&clk IMX93_CLK_ADC1_GATE>;
413				clock-names = "ipg";
414				#io-channel-cells = <1>;
415				status = "disabled";
416			};
417		};
418
419		aips2: bus@42000000 {
420			compatible = "fsl,aips-bus", "simple-bus";
421			reg = <0x42000000 0x800000>;
422			#address-cells = <1>;
423			#size-cells = <1>;
424			ranges;
425
426			wakeupmix_gpr: syscon@42420000 {
427				compatible = "fsl,imx93-wakeupmix-syscfg", "syscon";
428				reg = <0x42420000 0x1000>;
429			};
430
431			mu2: mailbox@42440000 {
432				compatible = "fsl,imx93-mu", "fsl,imx8ulp-mu";
433				reg = <0x42440000 0x10000>;
434				interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
435				clocks = <&clk IMX93_CLK_MU2_B_GATE>;
436				#mbox-cells = <2>;
437				status = "disabled";
438			};
439
440			wdog3: watchdog@42490000 {
441				compatible = "fsl,imx93-wdt";
442				reg = <0x42490000 0x10000>;
443				interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
444				clocks = <&clk IMX93_CLK_WDOG3_GATE>;
445				timeout-sec = <40>;
446				status = "disabled";
447			};
448
449			wdog4: watchdog@424a0000 {
450				compatible = "fsl,imx93-wdt";
451				reg = <0x424a0000 0x10000>;
452				interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
453				clocks = <&clk IMX93_CLK_WDOG4_GATE>;
454				timeout-sec = <40>;
455				status = "disabled";
456			};
457
458			wdog5: watchdog@424b0000 {
459				compatible = "fsl,imx93-wdt";
460				reg = <0x424b0000 0x10000>;
461				interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
462				clocks = <&clk IMX93_CLK_WDOG5_GATE>;
463				timeout-sec = <40>;
464				status = "disabled";
465			};
466
467			tpm3: pwm@424e0000 {
468				compatible = "fsl,imx7ulp-pwm";
469				reg = <0x424e0000 0x1000>;
470				clocks = <&clk IMX93_CLK_TPM3_GATE>;
471				#pwm-cells = <3>;
472				status = "disabled";
473			};
474
475			tpm4: pwm@424f0000 {
476				compatible = "fsl,imx7ulp-pwm";
477				reg = <0x424f0000 0x10000>;
478				clocks = <&clk IMX93_CLK_TPM4_GATE>;
479				#pwm-cells = <3>;
480				status = "disabled";
481			};
482
483			tpm5: pwm@42500000 {
484				compatible = "fsl,imx7ulp-pwm";
485				reg = <0x42500000 0x10000>;
486				clocks = <&clk IMX93_CLK_TPM5_GATE>;
487				#pwm-cells = <3>;
488				status = "disabled";
489			};
490
491			tpm6: pwm@42510000 {
492				compatible = "fsl,imx7ulp-pwm";
493				reg = <0x42510000 0x10000>;
494				clocks = <&clk IMX93_CLK_TPM6_GATE>;
495				#pwm-cells = <3>;
496				status = "disabled";
497			};
498
499			lpi2c3: i2c@42530000 {
500				compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
501				reg = <0x42530000 0x10000>;
502				#address-cells = <1>;
503				#size-cells = <0>;
504				interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
505				clocks = <&clk IMX93_CLK_LPI2C3_GATE>,
506					 <&clk IMX93_CLK_BUS_WAKEUP>;
507				clock-names = "per", "ipg";
508				status = "disabled";
509			};
510
511			lpi2c4: i2c@42540000 {
512				compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
513				reg = <0x42540000 0x10000>;
514				#address-cells = <1>;
515				#size-cells = <0>;
516				interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
517				clocks = <&clk IMX93_CLK_LPI2C4_GATE>,
518					 <&clk IMX93_CLK_BUS_WAKEUP>;
519				clock-names = "per", "ipg";
520				status = "disabled";
521			};
522
523			lpspi3: spi@42550000 {
524				#address-cells = <1>;
525				#size-cells = <0>;
526				compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
527				reg = <0x42550000 0x10000>;
528				interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
529				clocks = <&clk IMX93_CLK_LPSPI3_GATE>,
530					 <&clk IMX93_CLK_BUS_WAKEUP>;
531				clock-names = "per", "ipg";
532				status = "disabled";
533			};
534
535			lpspi4: spi@42560000 {
536				#address-cells = <1>;
537				#size-cells = <0>;
538				compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
539				reg = <0x42560000 0x10000>;
540				interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
541				clocks = <&clk IMX93_CLK_LPSPI4_GATE>,
542					 <&clk IMX93_CLK_BUS_WAKEUP>;
543				clock-names = "per", "ipg";
544				status = "disabled";
545			};
546
547			lpuart3: serial@42570000 {
548				compatible = "fsl,imx93-lpuart", "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart";
549				reg = <0x42570000 0x1000>;
550				interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
551				clocks = <&clk IMX93_CLK_LPUART3_GATE>;
552				clock-names = "ipg";
553				status = "disabled";
554			};
555
556			lpuart4: serial@42580000 {
557				compatible = "fsl,imx93-lpuart", "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart";
558				reg = <0x42580000 0x1000>;
559				interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
560				clocks = <&clk IMX93_CLK_LPUART4_GATE>;
561				clock-names = "ipg";
562				status = "disabled";
563			};
564
565			lpuart5: serial@42590000 {
566				compatible = "fsl,imx93-lpuart", "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart";
567				reg = <0x42590000 0x1000>;
568				interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
569				clocks = <&clk IMX93_CLK_LPUART5_GATE>;
570				clock-names = "ipg";
571				status = "disabled";
572			};
573
574			lpuart6: serial@425a0000 {
575				compatible = "fsl,imx93-lpuart", "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart";
576				reg = <0x425a0000 0x1000>;
577				interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
578				clocks = <&clk IMX93_CLK_LPUART6_GATE>;
579				clock-names = "ipg";
580				status = "disabled";
581			};
582
583			flexcan2: can@425b0000 {
584				compatible = "fsl,imx93-flexcan";
585				reg = <0x425b0000 0x10000>;
586				interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
587				clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
588					 <&clk IMX93_CLK_CAN2_GATE>;
589				clock-names = "ipg", "per";
590				assigned-clocks = <&clk IMX93_CLK_CAN2>;
591				assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>;
592				assigned-clock-rates = <40000000>;
593				fsl,clk-source = /bits/ 8 <0>;
594				status = "disabled";
595			};
596
597			flexspi1: spi@425e0000 {
598				compatible = "nxp,imx8mm-fspi";
599				reg = <0x425e0000 0x10000>, <0x28000000 0x10000000>;
600				reg-names = "fspi_base", "fspi_mmap";
601				#address-cells = <1>;
602				#size-cells = <0>;
603				interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
604				clocks = <&clk IMX93_CLK_FLEXSPI1_GATE>,
605					 <&clk IMX93_CLK_FLEXSPI1_GATE>;
606				clock-names = "fspi_en", "fspi";
607				assigned-clocks = <&clk IMX93_CLK_FLEXSPI1>;
608				assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1>;
609				status = "disabled";
610			};
611
612			lpuart7: serial@42690000 {
613				compatible = "fsl,imx93-lpuart", "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart";
614				reg = <0x42690000 0x1000>;
615				interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>;
616				clocks = <&clk IMX93_CLK_LPUART7_GATE>;
617				clock-names = "ipg";
618				status = "disabled";
619			};
620
621			lpuart8: serial@426a0000 {
622				compatible = "fsl,imx93-lpuart", "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart";
623				reg = <0x426a0000 0x1000>;
624				interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>;
625				clocks = <&clk IMX93_CLK_LPUART8_GATE>;
626				clock-names = "ipg";
627				status = "disabled";
628			};
629
630			lpi2c5: i2c@426b0000 {
631				compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
632				reg = <0x426b0000 0x10000>;
633				#address-cells = <1>;
634				#size-cells = <0>;
635				interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
636				clocks = <&clk IMX93_CLK_LPI2C5_GATE>,
637					 <&clk IMX93_CLK_BUS_WAKEUP>;
638				clock-names = "per", "ipg";
639				status = "disabled";
640			};
641
642			lpi2c6: i2c@426c0000 {
643				compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
644				reg = <0x426c0000 0x10000>;
645				#address-cells = <1>;
646				#size-cells = <0>;
647				interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
648				clocks = <&clk IMX93_CLK_LPI2C6_GATE>,
649					 <&clk IMX93_CLK_BUS_WAKEUP>;
650				clock-names = "per", "ipg";
651				status = "disabled";
652			};
653
654			lpi2c7: i2c@426d0000 {
655				compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
656				reg = <0x426d0000 0x10000>;
657				#address-cells = <1>;
658				#size-cells = <0>;
659				interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
660				clocks = <&clk IMX93_CLK_LPI2C7_GATE>,
661					 <&clk IMX93_CLK_BUS_WAKEUP>;
662				clock-names = "per", "ipg";
663				status = "disabled";
664			};
665
666			lpi2c8: i2c@426e0000 {
667				compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
668				reg = <0x426e0000 0x10000>;
669				#address-cells = <1>;
670				#size-cells = <0>;
671				interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>;
672				clocks = <&clk IMX93_CLK_LPI2C8_GATE>,
673					 <&clk IMX93_CLK_BUS_WAKEUP>;
674				clock-names = "per", "ipg";
675				status = "disabled";
676			};
677
678			lpspi5: spi@426f0000 {
679				#address-cells = <1>;
680				#size-cells = <0>;
681				compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
682				reg = <0x426f0000 0x10000>;
683				interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
684				clocks = <&clk IMX93_CLK_LPSPI5_GATE>,
685					 <&clk IMX93_CLK_BUS_WAKEUP>;
686				clock-names = "per", "ipg";
687				status = "disabled";
688			};
689
690			lpspi6: spi@42700000 {
691				#address-cells = <1>;
692				#size-cells = <0>;
693				compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
694				reg = <0x42700000 0x10000>;
695				interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
696				clocks = <&clk IMX93_CLK_LPSPI6_GATE>,
697					 <&clk IMX93_CLK_BUS_WAKEUP>;
698				clock-names = "per", "ipg";
699				status = "disabled";
700			};
701
702			lpspi7: spi@42710000 {
703				#address-cells = <1>;
704				#size-cells = <0>;
705				compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
706				reg = <0x42710000 0x10000>;
707				interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
708				clocks = <&clk IMX93_CLK_LPSPI7_GATE>,
709					 <&clk IMX93_CLK_BUS_WAKEUP>;
710				clock-names = "per", "ipg";
711				status = "disabled";
712			};
713
714			lpspi8: spi@42720000 {
715				#address-cells = <1>;
716				#size-cells = <0>;
717				compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
718				reg = <0x42720000 0x10000>;
719				interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
720				clocks = <&clk IMX93_CLK_LPSPI8_GATE>,
721					 <&clk IMX93_CLK_BUS_WAKEUP>;
722				clock-names = "per", "ipg";
723				status = "disabled";
724			};
725
726		};
727
728		aips3: bus@42800000 {
729			compatible = "fsl,aips-bus", "simple-bus";
730			reg = <0x42800000 0x800000>;
731			#address-cells = <1>;
732			#size-cells = <1>;
733			ranges;
734
735			usdhc1: mmc@42850000 {
736				compatible = "fsl,imx93-usdhc", "fsl,imx8mm-usdhc";
737				reg = <0x42850000 0x10000>;
738				interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
739				clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
740					 <&clk IMX93_CLK_WAKEUP_AXI>,
741					 <&clk IMX93_CLK_USDHC1_GATE>;
742				clock-names = "ipg", "ahb", "per";
743				bus-width = <8>;
744				fsl,tuning-start-tap = <20>;
745				fsl,tuning-step = <2>;
746				status = "disabled";
747			};
748
749			usdhc2: mmc@42860000 {
750				compatible = "fsl,imx93-usdhc", "fsl,imx8mm-usdhc";
751				reg = <0x42860000 0x10000>;
752				interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
753				clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
754					 <&clk IMX93_CLK_WAKEUP_AXI>,
755					 <&clk IMX93_CLK_USDHC2_GATE>;
756				clock-names = "ipg", "ahb", "per";
757				bus-width = <4>;
758				fsl,tuning-start-tap = <20>;
759				fsl,tuning-step = <2>;
760				status = "disabled";
761			};
762
763			fec: ethernet@42890000 {
764				compatible = "fsl,imx93-fec", "fsl,imx8mq-fec", "fsl,imx6sx-fec";
765				reg = <0x42890000 0x10000>;
766				interrupts = <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>,
767					     <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>,
768					     <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
769					     <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>;
770				clocks = <&clk IMX93_CLK_ENET1_GATE>,
771					 <&clk IMX93_CLK_ENET1_GATE>,
772					 <&clk IMX93_CLK_ENET_TIMER1>,
773					 <&clk IMX93_CLK_ENET_REF>,
774					 <&clk IMX93_CLK_ENET_REF_PHY>;
775				clock-names = "ipg", "ahb", "ptp",
776					      "enet_clk_ref", "enet_out";
777				assigned-clocks = <&clk IMX93_CLK_ENET_TIMER1>,
778						  <&clk IMX93_CLK_ENET_REF>,
779						  <&clk IMX93_CLK_ENET_REF_PHY>;
780				assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>,
781							 <&clk IMX93_CLK_SYS_PLL_PFD0_DIV2>,
782							 <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>;
783				assigned-clock-rates = <100000000>, <250000000>, <50000000>;
784				fsl,num-tx-queues = <3>;
785				fsl,num-rx-queues = <3>;
786				fsl,stop-mode = <&wakeupmix_gpr 0x0c 1>;
787				status = "disabled";
788			};
789
790			eqos: ethernet@428a0000 {
791				compatible = "nxp,imx93-dwmac-eqos", "snps,dwmac-5.10a";
792				reg = <0x428a0000 0x10000>;
793				interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
794					     <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>;
795				interrupt-names = "macirq", "eth_wake_irq";
796				clocks = <&clk IMX93_CLK_ENET_QOS_GATE>,
797					 <&clk IMX93_CLK_ENET_QOS_GATE>,
798					 <&clk IMX93_CLK_ENET_TIMER2>,
799					 <&clk IMX93_CLK_ENET>,
800					 <&clk IMX93_CLK_ENET_QOS_GATE>;
801				clock-names = "stmmaceth", "pclk", "ptp_ref", "tx", "mem";
802				assigned-clocks = <&clk IMX93_CLK_ENET_TIMER2>,
803						  <&clk IMX93_CLK_ENET>;
804				assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>,
805							 <&clk IMX93_CLK_SYS_PLL_PFD0_DIV2>;
806				assigned-clock-rates = <100000000>, <250000000>;
807				intf_mode = <&wakeupmix_gpr 0x28>;
808				snps,clk-csr = <0>;
809				status = "disabled";
810			};
811
812			usdhc3: mmc@428b0000 {
813				compatible = "fsl,imx93-usdhc", "fsl,imx8mm-usdhc";
814				reg = <0x428b0000 0x10000>;
815				interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
816				clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
817					 <&clk IMX93_CLK_WAKEUP_AXI>,
818					 <&clk IMX93_CLK_USDHC3_GATE>;
819				clock-names = "ipg", "ahb", "per";
820				bus-width = <4>;
821				fsl,tuning-start-tap = <20>;
822				fsl,tuning-step = <2>;
823				status = "disabled";
824			};
825		};
826
827		gpio2: gpio@43810080 {
828			compatible = "fsl,imx93-gpio", "fsl,imx7ulp-gpio";
829			reg = <0x43810080 0x1000>, <0x43810040 0x40>;
830			gpio-controller;
831			#gpio-cells = <2>;
832			interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
833			interrupt-controller;
834			#interrupt-cells = <2>;
835			clocks = <&clk IMX93_CLK_GPIO2_GATE>,
836				 <&clk IMX93_CLK_GPIO2_GATE>;
837			clock-names = "gpio", "port";
838			gpio-ranges = <&iomuxc 0 4 30>;
839		};
840
841		gpio3: gpio@43820080 {
842			compatible = "fsl,imx93-gpio", "fsl,imx7ulp-gpio";
843			reg = <0x43820080 0x1000>, <0x43820040 0x40>;
844			gpio-controller;
845			#gpio-cells = <2>;
846			interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
847			interrupt-controller;
848			#interrupt-cells = <2>;
849			clocks = <&clk IMX93_CLK_GPIO3_GATE>,
850				 <&clk IMX93_CLK_GPIO3_GATE>;
851			clock-names = "gpio", "port";
852			gpio-ranges = <&iomuxc 0 84 8>, <&iomuxc 8 66 18>,
853				      <&iomuxc 26 34 2>, <&iomuxc 28 0 4>;
854		};
855
856		gpio4: gpio@43830080 {
857			compatible = "fsl,imx93-gpio", "fsl,imx7ulp-gpio";
858			reg = <0x43830080 0x1000>, <0x43830040 0x40>;
859			gpio-controller;
860			#gpio-cells = <2>;
861			interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
862			interrupt-controller;
863			#interrupt-cells = <2>;
864			clocks = <&clk IMX93_CLK_GPIO4_GATE>,
865				 <&clk IMX93_CLK_GPIO4_GATE>;
866			clock-names = "gpio", "port";
867			gpio-ranges = <&iomuxc 0 38 28>, <&iomuxc 28 36 2>;
868		};
869
870		gpio1: gpio@47400080 {
871			compatible = "fsl,imx93-gpio", "fsl,imx7ulp-gpio";
872			reg = <0x47400080 0x1000>, <0x47400040 0x40>;
873			gpio-controller;
874			#gpio-cells = <2>;
875			interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
876			interrupt-controller;
877			#interrupt-cells = <2>;
878			clocks = <&clk IMX93_CLK_GPIO1_GATE>,
879				 <&clk IMX93_CLK_GPIO1_GATE>;
880			clock-names = "gpio", "port";
881			gpio-ranges = <&iomuxc 0 92 16>;
882		};
883
884		ocotp: efuse@47510000 {
885			compatible = "fsl,imx93-ocotp", "syscon";
886			reg = <0x47510000 0x10000>;
887			#address-cells = <1>;
888			#size-cells = <1>;
889		};
890
891		s4muap: mailbox@47520000 {
892			compatible = "fsl,imx93-mu-s4";
893			reg = <0x47520000 0x10000>;
894			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
895				     <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
896			interrupt-names = "tx", "rx";
897			#mbox-cells = <2>;
898		};
899
900		media_blk_ctrl: system-controller@4ac10000 {
901			compatible = "fsl,imx93-media-blk-ctrl", "syscon";
902			reg = <0x4ac10000 0x10000>;
903			power-domains = <&mediamix>;
904			clocks = <&clk IMX93_CLK_MEDIA_APB>,
905				 <&clk IMX93_CLK_MEDIA_AXI>,
906				 <&clk IMX93_CLK_NIC_MEDIA_GATE>,
907				 <&clk IMX93_CLK_MEDIA_DISP_PIX>,
908				 <&clk IMX93_CLK_CAM_PIX>,
909				 <&clk IMX93_CLK_PXP_GATE>,
910				 <&clk IMX93_CLK_LCDIF_GATE>,
911				 <&clk IMX93_CLK_ISI_GATE>,
912				 <&clk IMX93_CLK_MIPI_CSI_GATE>,
913				 <&clk IMX93_CLK_MIPI_DSI_GATE>;
914			clock-names = "apb", "axi", "nic", "disp", "cam",
915				      "pxp", "lcdif", "isi", "csi", "dsi";
916			#power-domain-cells = <1>;
917			status = "disabled";
918		};
919
920		ddr-pmu@4e300dc0 {
921			compatible = "fsl,imx93-ddr-pmu";
922			reg = <0x4e300dc0 0x200>;
923			interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
924		};
925	};
926};
927