blob: 50fd3370f7dce9b35763d5bacb7a500f734a2324 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright 2018-2019 NXP
4 * Dong Aisheng <aisheng.dong@nxp.com>
5 */
6
7/dts-v1/;
8
Tom Rini9c8af152024-12-24 12:03:04 -06009#include <dt-bindings/usb/pd.h>
Tom Rini53633a82024-02-29 12:33:36 -050010#include "imx8qm.dtsi"
11
12/ {
13 model = "Freescale i.MX8QM MEK";
14 compatible = "fsl,imx8qm-mek", "fsl,imx8qm";
15
16 chosen {
17 stdout-path = &lpuart0;
18 };
19
20 cpus {
21 /delete-node/ cpu-map;
22 /delete-node/ cpu@100;
23 /delete-node/ cpu@101;
24 };
25
26 thermal-zones {
27 /delete-node/ cpu1-thermal;
28 };
29
30 memory@80000000 {
31 device_type = "memory";
32 reg = <0x00000000 0x80000000 0 0x40000000>;
33 };
34
Tom Rini9c8af152024-12-24 12:03:04 -060035 reserved-memory {
36 #address-cells = <2>;
37 #size-cells = <2>;
38 ranges;
39
40 vdev0vring0: memory@90000000 {
41 reg = <0 0x90000000 0 0x8000>;
42 no-map;
43 };
44
45 vdev0vring1: memory@90008000 {
46 reg = <0 0x90008000 0 0x8000>;
47 no-map;
48 };
49
50 vdev1vring0: memory@90010000 {
51 reg = <0 0x90010000 0 0x8000>;
52 no-map;
53 };
54
55 vdev1vring1: memory@90018000 {
56 reg = <0 0x90018000 0 0x8000>;
57 no-map;
58 };
59
60 rsc_table0: memory@900ff000 {
61 reg = <0 0x900ff000 0 0x1000>;
62 no-map;
63 };
64
65 vdev2vring0: memory@90100000 {
66 reg = <0 0x90100000 0 0x8000>;
67 no-map;
68 };
69
70 vdev2vring1: memory@90108000 {
71 reg = <0 0x90108000 0 0x8000>;
72 no-map;
73 };
74
75 vdev3vring0: memory@90110000 {
76 reg = <0 0x90110000 0 0x8000>;
77 no-map;
78 };
79
80 vdev3vring1: memory@90118000 {
81 reg = <0 0x90118000 0 0x8000>;
82 no-map;
83 };
84
85 rsc_table1: memory@901ff000 {
86 reg = <0 0x901ff000 0 0x1000>;
87 no-map;
88 };
89
90 vdevbuffer: memory@90400000 {
91 compatible = "shared-dma-pool";
92 reg = <0 0x90400000 0 0x100000>;
93 no-map;
94 };
Tom Rini844493d2025-01-26 16:17:47 -060095
96 dsp_reserved: memory@92400000 {
97 reg = <0 0x92400000 0 0x1000000>;
98 no-map;
99 };
100
101 dsp_vdev0vring0: memory@942f0000 {
102 reg = <0 0x942f0000 0 0x8000>;
103 no-map;
104 };
105
106 dsp_vdev0vring1: memory@942f8000 {
107 reg = <0 0x942f8000 0 0x8000>;
108 no-map;
109 };
110
111 dsp_vdev0buffer: memory@94300000 {
112 compatible = "shared-dma-pool";
113 reg = <0 0x94300000 0 0x100000>;
114 no-map;
115 };
Tom Rini9c8af152024-12-24 12:03:04 -0600116 };
117
118 lvds_backlight0: backlight-lvds0 {
119 compatible = "pwm-backlight";
120 pwms = <&qm_pwm_lvds0 0 100000 0>;
121 brightness-levels = <0 100>;
122 num-interpolated-steps = <100>;
123 default-brightness-level = <80>;
124 };
125
126 lvds_backlight1: backlight-lvds1 {
127 compatible = "pwm-backlight";
128 pwms = <&pwm_lvds1 0 100000 0>;
129 brightness-levels = <0 100>;
130 num-interpolated-steps = <100>;
131 default-brightness-level = <80>;
132 };
133
134 mux-controller {
135 compatible = "nxp,cbdtu02043", "gpio-sbu-mux";
136 pinctrl-names = "default";
137 pinctrl-0 = <&pinctrl_typec_mux>;
138 select-gpios = <&lsio_gpio4 6 GPIO_ACTIVE_LOW>;
139 enable-gpios = <&lsio_gpio4 19 GPIO_ACTIVE_HIGH>;
140 orientation-switch;
141
142 port {
143 usb3_data_ss: endpoint {
144 remote-endpoint = <&typec_con_ss>;
145 };
146 };
147 };
148
Tom Rini53633a82024-02-29 12:33:36 -0500149 reg_usdhc2_vmmc: usdhc2-vmmc {
150 compatible = "regulator-fixed";
151 regulator-name = "SD1_SPWR";
152 regulator-min-microvolt = <3000000>;
153 regulator-max-microvolt = <3000000>;
Tom Rini762f85b2024-07-20 11:15:10 -0600154 gpio = <&lsio_gpio4 7 GPIO_ACTIVE_HIGH>;
Tom Rini53633a82024-02-29 12:33:36 -0500155 enable-active-high;
156 };
Tom Rini762f85b2024-07-20 11:15:10 -0600157
Tom Rini6b642ac2024-10-01 12:20:28 -0600158 reg_fec2_supply: regulator-fec2-nvcc {
159 compatible = "regulator-fixed";
160 regulator-name = "fec2_nvcc";
161 regulator-min-microvolt = <1800000>;
162 regulator-max-microvolt = <1800000>;
163 gpio = <&max7322 0 GPIO_ACTIVE_HIGH>;
164 enable-active-high;
165 };
166
167 reg_can01_en: regulator-can01-gen {
168 compatible = "regulator-fixed";
169 regulator-name = "can01-en";
170 regulator-min-microvolt = <3300000>;
171 regulator-max-microvolt = <3300000>;
172 gpio = <&pca6416 3 GPIO_ACTIVE_HIGH>;
173 enable-active-high;
174 };
175
176 reg_can2_en: regulator-can2-gen {
177 compatible = "regulator-fixed";
178 regulator-name = "can2-en";
179 regulator-min-microvolt = <3300000>;
180 regulator-max-microvolt = <3300000>;
181 gpio = <&pca6416 4 GPIO_ACTIVE_HIGH>;
182 enable-active-high;
183 };
184
185 reg_can01_stby: regulator-can01-stby {
186 compatible = "regulator-fixed";
187 regulator-name = "can01-stby";
188 regulator-min-microvolt = <3300000>;
189 regulator-max-microvolt = <3300000>;
190 gpio = <&pca6416 5 GPIO_ACTIVE_HIGH>;
191 enable-active-high;
192 vin-supply = <&reg_can01_en>;
193 };
194
195 reg_can2_stby: regulator-can2-stby {
196 compatible = "regulator-fixed";
197 regulator-name = "can2-stby";
198 regulator-min-microvolt = <3300000>;
199 regulator-max-microvolt = <3300000>;
200 gpio = <&pca6416 6 GPIO_ACTIVE_HIGH>;
201 enable-active-high;
202 vin-supply = <&reg_can2_en>;
203 };
204
Tom Rini844493d2025-01-26 16:17:47 -0600205 reg_pciea: regulator-pcie {
206 compatible = "regulator-fixed";
207 pinctrl-0 = <&pinctrl_pciea_reg>;
208 pinctrl-names = "default";
209 regulator-max-microvolt = <3300000>;
210 regulator-min-microvolt = <3300000>;
211 regulator-name = "mpcie_3v3";
212 gpio = <&lsio_gpio1 13 GPIO_ACTIVE_HIGH>;
213 enable-active-high;
214 };
215
Tom Rini762f85b2024-07-20 11:15:10 -0600216 reg_vref_1v8: regulator-adc-vref {
217 compatible = "regulator-fixed";
218 regulator-name = "vref_1v8";
219 regulator-min-microvolt = <1800000>;
220 regulator-max-microvolt = <1800000>;
221 };
Tom Rini6b642ac2024-10-01 12:20:28 -0600222
223 bt_sco_codec: audio-codec-bt {
224 compatible = "linux,bt-sco";
225 #sound-dai-cells = <1>;
226 };
227
228 sound-bt-sco {
229 compatible = "simple-audio-card";
230 simple-audio-card,name = "bt-sco-audio";
231 simple-audio-card,format = "dsp_a";
232 simple-audio-card,bitclock-inversion;
233 simple-audio-card,frame-master = <&btcpu>;
234 simple-audio-card,bitclock-master = <&btcpu>;
235
236 btcpu: simple-audio-card,cpu {
237 sound-dai = <&sai0>;
238 dai-tdm-slot-num = <2>;
239 dai-tdm-slot-width = <16>;
240 };
241
242 simple-audio-card,codec {
243 sound-dai = <&bt_sco_codec 1>;
244 };
245 };
246
247 sound-wm8960 {
248 compatible = "fsl,imx-audio-wm8960";
249 model = "wm8960-audio";
250 audio-cpu = <&sai1>;
251 audio-codec = <&wm8960>;
252 hp-det-gpio = <&lsio_gpio0 31 GPIO_ACTIVE_HIGH>;
253 audio-routing = "Headphone Jack", "HP_L",
254 "Headphone Jack", "HP_R",
255 "Ext Spk", "SPK_LP",
256 "Ext Spk", "SPK_LN",
257 "Ext Spk", "SPK_RP",
258 "Ext Spk", "SPK_RN",
259 "LINPUT1", "Mic Jack",
260 "Mic Jack", "MICB";
261 };
Tom Rini9c8af152024-12-24 12:03:04 -0600262
263 imx8qm-cm4-0 {
264 compatible = "fsl,imx8qm-cm4";
265 clocks = <&clk_dummy>;
266 mbox-names = "tx", "rx", "rxdb";
267 mboxes = <&lsio_mu5 0 1
268 &lsio_mu5 1 1
269 &lsio_mu5 3 1>;
270 memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>,
271 <&vdev1vring0>, <&vdev1vring1>, <&rsc_table0>;
272 power-domains = <&pd IMX_SC_R_M4_0_PID0>, <&pd IMX_SC_R_M4_0_MU_1A>;
273
274 fsl,resource-id = <IMX_SC_R_M4_0_PID0>;
275 fsl,entry-address = <0x34fe0000>;
276 };
277
278 imx8qm-cm4-1 {
279 compatible = "fsl,imx8qm-cm4";
280 clocks = <&clk_dummy>;
281 mbox-names = "tx", "rx", "rxdb";
282 mboxes = <&lsio_mu6 0 1
283 &lsio_mu6 1 1
284 &lsio_mu6 3 1>;
285 memory-region = <&vdevbuffer>, <&vdev2vring0>, <&vdev2vring1>,
286 <&vdev3vring0>, <&vdev3vring1>, <&rsc_table1>;
287 power-domains = <&pd IMX_SC_R_M4_1_PID0>, <&pd IMX_SC_R_M4_1_MU_1A>;
288
289 fsl,resource-id = <IMX_SC_R_M4_1_PID0>;
290 fsl,entry-address = <0x38fe0000>;
291 };
292
Tom Rini762f85b2024-07-20 11:15:10 -0600293};
294
295&adc0 {
296 pinctrl-names = "default";
297 pinctrl-0 = <&pinctrl_adc0>;
298 vref-supply = <&reg_vref_1v8>;
299 status = "okay";
Tom Rini53633a82024-02-29 12:33:36 -0500300};
301
Tom Rini6b642ac2024-10-01 12:20:28 -0600302&amix {
303 status = "okay";
304};
305
306&asrc0 {
307 fsl,asrc-rate = <48000>;
308 status = "okay";
309};
310
311&cm41_i2c {
312 #address-cells = <1>;
313 #size-cells = <0>;
314 clock-frequency = <100000>;
315 pinctrl-names = "default";
316 pinctrl-0 = <&pinctrl_cm41_i2c>;
317 status = "okay";
318
319 pca6416: gpio@20 {
320 compatible = "ti,tca6416";
321 reg = <0x20>;
322 gpio-controller;
323 #gpio-cells = <2>;
324 };
325};
326
327&cm41_intmux {
328 status = "okay";
329};
330
Tom Rini844493d2025-01-26 16:17:47 -0600331&hsio_phy {
332 fsl,hsio-cfg = "pciea-pcieb-sata";
333 fsl,refclk-pad-mode = "input";
334 status = "okay";
335};
336
Tom Rini6b642ac2024-10-01 12:20:28 -0600337&i2c0 {
338 #address-cells = <1>;
339 #size-cells = <0>;
340 clock-frequency = <100000>;
341 pinctrl-names = "default";
342 pinctrl-0 = <&pinctrl_i2c0>;
343 status = "okay";
344
345 accelerometer@19 {
346 compatible = "st,lsm303agr-accel";
347 reg = <0x19>;
348 };
349
350 gyrometer@20 {
351 compatible = "nxp,fxas21002c";
352 reg = <0x20>;
353 };
354
355 light-sensor@44 {
356 compatible = "isil,isl29023";
357 reg = <0x44>;
358 interrupt-parent = <&lsio_gpio4>;
359 interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
360 };
361
362 pressure-sensor@60 {
363 compatible = "fsl,mpl3115";
364 reg = <0x60>;
365 };
366
367 max7322: gpio@68 {
368 compatible = "maxim,max7322";
369 reg = <0x68>;
370 gpio-controller;
371 #gpio-cells = <2>;
372 };
373
374 gyrometer@69 {
375 compatible = "st,l3g4200d-gyro";
376 reg = <0x69>;
377 };
Tom Rini9c8af152024-12-24 12:03:04 -0600378
379 ptn5110: tcpc@51 {
380 compatible = "nxp,ptn5110", "tcpci";
381 pinctrl-names = "default";
382 pinctrl-0 = <&pinctrl_typec>;
383 reg = <0x51>;
384 interrupt-parent = <&lsio_gpio4>;
385 interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
386 status = "okay";
387
388 usb_con1: connector {
389 compatible = "usb-c-connector";
390 label = "USB-C";
391 power-role = "source";
392 data-role = "dual";
393 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
394
395 ports {
396 #address-cells = <1>;
397 #size-cells = <0>;
398
399 port@0 {
400 reg = <0>;
401
402 typec_dr_sw: endpoint {
403 remote-endpoint = <&usb3_drd_sw>;
404 };
405 };
406
407 port@1 {
408 reg = <1>;
409 typec_con_ss: endpoint {
410 remote-endpoint = <&usb3_data_ss>;
411 };
412 };
413 };
414 };
415 };
Tom Rini6b642ac2024-10-01 12:20:28 -0600416};
417
Tom Rini6bb92fc2024-05-20 09:54:58 -0600418&i2c1 {
419 #address-cells = <1>;
420 #size-cells = <0>;
421 clock-frequency = <100000>;
422 pinctrl-names = "default", "gpio";
423 pinctrl-0 = <&pinctrl_i2c1>;
424 pinctrl-1 = <&pinctrl_i2c1_gpio>;
425 scl-gpios = <&lsio_gpio0 14 GPIO_ACTIVE_HIGH>;
426 sda-gpios = <&lsio_gpio0 15 GPIO_ACTIVE_HIGH>;
427 status = "okay";
Tom Rini6b642ac2024-10-01 12:20:28 -0600428
429 wm8960: audio-codec@1a {
430 compatible = "wlf,wm8960";
431 reg = <0x1a>;
432 clocks = <&mclkout0_lpcg IMX_LPCG_CLK_0>;
433 clock-names = "mclk";
434 assigned-clocks = <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>,
435 <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_SLV_BUS>,
436 <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MST_BUS>,
437 <&mclkout0_lpcg IMX_LPCG_CLK_0>;
438 assigned-clock-rates = <786432000>, <49152000>, <12288000>, <12288000>;
439 wlf,shared-lrclk;
440 wlf,hp-cfg = <2 2 3>;
441 wlf,gpio-cfg = <1 3>;
442 };
443};
444
Tom Rini9c8af152024-12-24 12:03:04 -0600445&i2c1_lvds0 {
446 pinctrl-names = "default";
447 pinctrl-0 = <&pinctrl_lvds0_lpi2c1>;
448 clock-frequency = <100000>;
449 status = "okay";
450};
451
452&i2c1_lvds1 {
453 pinctrl-names = "default";
454 pinctrl-0 = <&pinctrl_lvds1_lpi2c1>;
455 clock-frequency = <100000>;
456 status = "okay";
457};
458
459&i2c0_mipi0 {
460 pinctrl-names = "default";
461 pinctrl-0 = <&pinctrl_mipi0_lpi2c0>;
462 clock-frequency = <100000>;
463 status = "okay";
464};
465
466&i2c0_mipi1 {
467 pinctrl-names = "default";
468 pinctrl-0 = <&pinctrl_mipi1_lpi2c0>;
469 clock-frequency = <100000>;
470 status = "okay";
471};
472
Tom Rini6b642ac2024-10-01 12:20:28 -0600473&flexcan1 {
474 pinctrl-names = "default";
475 pinctrl-0 = <&pinctrl_flexcan1>;
476 xceiver-supply = <&reg_can01_stby>;
477 status = "okay";
Tom Rini6bb92fc2024-05-20 09:54:58 -0600478};
479
Tom Rini6b642ac2024-10-01 12:20:28 -0600480&flexcan2 {
481 pinctrl-names = "default";
482 pinctrl-0 = <&pinctrl_flexcan2>;
483 xceiver-supply = <&reg_can01_stby>;
484 status = "okay";
485};
486
487&flexcan3 {
488 pinctrl-names = "default";
489 pinctrl-0 = <&pinctrl_flexcan3>;
490 xceiver-supply = <&reg_can2_stby>;
491 status = "okay";
492};
493
Tom Rini53633a82024-02-29 12:33:36 -0500494&lpuart0 {
495 pinctrl-names = "default";
496 pinctrl-0 = <&pinctrl_lpuart0>;
497 status = "okay";
498};
499
500&lpuart2 {
501 pinctrl-names = "default";
502 pinctrl-0 = <&pinctrl_lpuart2>;
503 status = "okay";
504};
505
506&lpuart3 {
507 pinctrl-names = "default";
508 pinctrl-0 = <&pinctrl_lpuart3>;
509 status = "okay";
510};
511
Tom Rini762f85b2024-07-20 11:15:10 -0600512&lpspi2 {
513 #address-cells = <1>;
514 #size-cells = <0>;
515 pinctrl-names = "default";
516 pinctrl-0 = <&pinctrl_lpspi2 &pinctrl_lpspi2_cs>;
517 cs-gpios = <&lsio_gpio3 10 GPIO_ACTIVE_LOW>;
518 status = "okay";
Tom Rini762f85b2024-07-20 11:15:10 -0600519};
520
Tom Rini6b642ac2024-10-01 12:20:28 -0600521&lsio_mu5 {
522 status = "okay";
523};
524
525&lsio_mu6 {
526 status = "okay";
527};
528
Tom Rini762f85b2024-07-20 11:15:10 -0600529&flexspi0 {
530 pinctrl-names = "default";
531 pinctrl-0 = <&pinctrl_flexspi0>;
532 status = "okay";
533
534 flash0: flash@0 {
535 reg = <0>;
536 #address-cells = <1>;
537 #size-cells = <1>;
538 compatible = "jedec,spi-nor";
539 spi-max-frequency = <133000000>;
540 spi-tx-bus-width = <8>;
541 spi-rx-bus-width = <8>;
542 };
543};
544
Tom Rini53633a82024-02-29 12:33:36 -0500545&fec1 {
546 pinctrl-names = "default";
547 pinctrl-0 = <&pinctrl_fec1>;
548 phy-mode = "rgmii-id";
549 phy-handle = <&ethphy0>;
550 fsl,magic-packet;
551 status = "okay";
552
553 mdio {
554 #address-cells = <1>;
555 #size-cells = <0>;
556
557 ethphy0: ethernet-phy@0 {
558 compatible = "ethernet-phy-ieee802.3-c22";
559 reg = <0>;
560 };
561
562 ethphy1: ethernet-phy@1 {
563 compatible = "ethernet-phy-ieee802.3-c22";
564 reg = <1>;
565 };
566 };
567};
568
Tom Rini6b642ac2024-10-01 12:20:28 -0600569&fec2 {
570 pinctrl-names = "default";
571 pinctrl-0 = <&pinctrl_fec2>;
572 phy-mode = "rgmii-txid";
573 phy-handle = <&ethphy1>;
574 phy-supply = <&reg_fec2_supply>;
575 nvmem-cells = <&fec_mac1>;
576 nvmem-cell-names = "mac-address";
577 rx-internal-delay-ps = <2000>;
578 fsl,magic-packet;
579 status = "okay";
580};
581
Tom Rini844493d2025-01-26 16:17:47 -0600582&pciea {
583 phys = <&hsio_phy 0 PHY_TYPE_PCIE 0>;
584 phy-names = "pcie-phy";
585 pinctrl-0 = <&pinctrl_pciea>;
586 pinctrl-names = "default";
587 reset-gpio = <&lsio_gpio4 29 GPIO_ACTIVE_LOW>;
588 vpcie-supply = <&reg_pciea>;
589 status = "okay";
590};
591
592&pcieb {
593 phys = <&hsio_phy 1 PHY_TYPE_PCIE 1>;
594 phy-names = "pcie-phy";
595 pinctrl-0 = <&pinctrl_pcieb>;
596 pinctrl-names = "default";
597 reset-gpio = <&lsio_gpio5 0 GPIO_ACTIVE_LOW>;
598 status = "disabled";
599};
600
Tom Rini9c8af152024-12-24 12:03:04 -0600601&qm_pwm_lvds0 {
602 pinctrl-names = "default";
603 pinctrl-0 = <&pinctrl_pwm_lvds0>;
604 status = "okay";
605};
606
607&pwm_lvds1 {
608 pinctrl-names = "default";
609 pinctrl-0 = <&pinctrl_pwm_lvds1>;
610 status = "okay";
611};
612
Tom Rini53633a82024-02-29 12:33:36 -0500613&usdhc1 {
614 pinctrl-names = "default";
615 pinctrl-0 = <&pinctrl_usdhc1>;
616 bus-width = <8>;
617 no-sd;
618 no-sdio;
619 non-removable;
620 status = "okay";
621};
622
623&usdhc2 {
624 pinctrl-names = "default";
625 pinctrl-0 = <&pinctrl_usdhc2>;
626 bus-width = <4>;
627 vmmc-supply = <&reg_usdhc2_vmmc>;
628 cd-gpios = <&lsio_gpio5 22 GPIO_ACTIVE_LOW>;
629 wp-gpios = <&lsio_gpio5 21 GPIO_ACTIVE_HIGH>;
630 status = "okay";
631};
632
Tom Rini9c8af152024-12-24 12:03:04 -0600633&usb3_phy {
634 status = "okay";
635};
636
637&usbotg3 {
638 status = "okay";
639};
640
641&usbotg3_cdns3 {
642 dr_mode = "otg";
643 usb-role-switch;
644 status = "okay";
645
646 port {
647 usb3_drd_sw: endpoint {
648 remote-endpoint = <&typec_dr_sw>;
649 };
650 };
651};
652
Tom Rini6b642ac2024-10-01 12:20:28 -0600653&sai0 {
654 #sound-dai-cells = <0>;
655 assigned-clocks = <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>,
656 <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_SLV_BUS>,
657 <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MST_BUS>,
658 <&sai0_lpcg IMX_LPCG_CLK_4>;
659 assigned-clock-rates = <786432000>, <49152000>, <12288000>, <49152000>;
660 pinctrl-names = "default";
661 pinctrl-0 = <&pinctrl_sai0>;
662 status = "okay";
663};
664
665&sai1 {
666 assigned-clocks = <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>,
667 <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_SLV_BUS>,
668 <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MST_BUS>,
669 <&sai1_lpcg IMX_LPCG_CLK_4>;
670 assigned-clock-rates = <786432000>, <49152000>, <12288000>, <49152000>;
671 pinctrl-names = "default";
672 pinctrl-0 = <&pinctrl_sai1>;
673 status = "okay";
674};
675
676&sai6 {
677 assigned-clocks = <&acm IMX_ADMA_ACM_SAI6_MCLK_SEL>,
678 <&clk IMX_SC_R_AUDIO_PLL_1 IMX_SC_PM_CLK_PLL>,
679 <&clk IMX_SC_R_AUDIO_PLL_1 IMX_SC_PM_CLK_SLV_BUS>,
680 <&clk IMX_SC_R_AUDIO_PLL_1 IMX_SC_PM_CLK_MST_BUS>,
681 <&sai6_lpcg IMX_LPCG_CLK_4>;
682 assigned-clock-parents = <&aud_pll_div1_lpcg IMX_LPCG_CLK_0>;
683 assigned-clock-rates = <0>, <786432000>, <98304000>, <12288000>, <98304000>;
684 fsl,sai-asynchronous;
685 status = "okay";
686};
687
688&sai7 {
689 assigned-clocks = <&acm IMX_ADMA_ACM_SAI7_MCLK_SEL>,
690 <&clk IMX_SC_R_AUDIO_PLL_1 IMX_SC_PM_CLK_PLL>,
691 <&clk IMX_SC_R_AUDIO_PLL_1 IMX_SC_PM_CLK_SLV_BUS>,
692 <&clk IMX_SC_R_AUDIO_PLL_1 IMX_SC_PM_CLK_MST_BUS>,
693 <&sai7_lpcg IMX_LPCG_CLK_4>;
694 assigned-clock-parents = <&aud_pll_div1_lpcg IMX_LPCG_CLK_0>;
695 assigned-clock-rates = <0>, <786432000>, <98304000>, <12288000>, <98304000>;
696 fsl,sai-asynchronous;
697 status = "okay";
698};
699
Tom Rini844493d2025-01-26 16:17:47 -0600700&sata {
701 status = "okay";
702};
703
704&vpu_dsp {
705 memory-region = <&dsp_vdev0buffer>, <&dsp_vdev0vring0>,
706 <&dsp_vdev0vring1>, <&dsp_reserved>;
707 status = "okay";
708};
709
Tom Rini53633a82024-02-29 12:33:36 -0500710&iomuxc {
Tom Rini6b642ac2024-10-01 12:20:28 -0600711 pinctrl-names = "default";
712 pinctrl-0 = <&pinctrl_hog>;
713
714 pinctrl_hog: hoggrp {
715 fsl,pins = <
716 IMX8QM_MCLK_OUT0_AUD_ACM_MCLK_OUT0 0x0600004c
717 IMX8QM_SCU_GPIO0_03_LSIO_GPIO0_IO31 0x0600004c
718 >;
719 };
720
721 pinctrl_i2c0: i2c0grp {
722 fsl,pins = <
723 IMX8QM_HDMI_TX0_TS_SCL_DMA_I2C0_SCL 0x06000021
724 IMX8QM_HDMI_TX0_TS_SDA_DMA_I2C0_SDA 0x06000021
725 >;
726 };
727
Tom Rini6bb92fc2024-05-20 09:54:58 -0600728 pinctrl_i2c1: i2c1grp {
729 fsl,pins = <
730 IMX8QM_GPT0_CLK_DMA_I2C1_SCL 0x0600004c
731 IMX8QM_GPT0_CAPTURE_DMA_I2C1_SDA 0x0600004c
732 >;
733 };
734
735 pinctrl_i2c1_gpio: i2c1gpio-grp {
736 fsl,pins = <
737 IMX8QM_GPT0_CLK_LSIO_GPIO0_IO14 0xc600004c
738 IMX8QM_GPT0_CAPTURE_LSIO_GPIO0_IO15 0xc600004c
739 >;
740 };
741
Tom Rini762f85b2024-07-20 11:15:10 -0600742 pinctrl_adc0: adc0grp {
743 fsl,pins = <
744 IMX8QM_ADC_IN0_DMA_ADC0_IN0 0xc0000060
745 >;
746 };
747
Tom Rini6b642ac2024-10-01 12:20:28 -0600748 pinctrl_cm41_i2c: cm41i2cgrp {
749 fsl,pins = <
750 IMX8QM_M41_I2C0_SDA_M41_I2C0_SDA 0x0600004c
751 IMX8QM_M41_I2C0_SCL_M41_I2C0_SCL 0x0600004c
752 >;
753 };
754
Tom Rini53633a82024-02-29 12:33:36 -0500755 pinctrl_fec1: fec1grp {
756 fsl,pins = <
757 IMX8QM_ENET0_MDC_CONN_ENET0_MDC 0x06000020
758 IMX8QM_ENET0_MDIO_CONN_ENET0_MDIO 0x06000020
759 IMX8QM_ENET0_RGMII_TX_CTL_CONN_ENET0_RGMII_TX_CTL 0x06000020
760 IMX8QM_ENET0_RGMII_TXC_CONN_ENET0_RGMII_TXC 0x06000020
761 IMX8QM_ENET0_RGMII_TXD0_CONN_ENET0_RGMII_TXD0 0x06000020
762 IMX8QM_ENET0_RGMII_TXD1_CONN_ENET0_RGMII_TXD1 0x06000020
763 IMX8QM_ENET0_RGMII_TXD2_CONN_ENET0_RGMII_TXD2 0x06000020
764 IMX8QM_ENET0_RGMII_TXD3_CONN_ENET0_RGMII_TXD3 0x06000020
765 IMX8QM_ENET0_RGMII_RXC_CONN_ENET0_RGMII_RXC 0x06000020
766 IMX8QM_ENET0_RGMII_RX_CTL_CONN_ENET0_RGMII_RX_CTL 0x06000020
767 IMX8QM_ENET0_RGMII_RXD0_CONN_ENET0_RGMII_RXD0 0x06000020
768 IMX8QM_ENET0_RGMII_RXD1_CONN_ENET0_RGMII_RXD1 0x06000020
769 IMX8QM_ENET0_RGMII_RXD2_CONN_ENET0_RGMII_RXD2 0x06000020
770 IMX8QM_ENET0_RGMII_RXD3_CONN_ENET0_RGMII_RXD3 0x06000020
771 >;
772 };
773
Tom Rini762f85b2024-07-20 11:15:10 -0600774 pinctrl_lpspi2: lpspi2grp {
775 fsl,pins = <
776 IMX8QM_SPI2_SCK_DMA_SPI2_SCK 0x06000040
777 IMX8QM_SPI2_SDO_DMA_SPI2_SDO 0x06000040
778 IMX8QM_SPI2_SDI_DMA_SPI2_SDI 0x06000040
779 >;
780 };
781
782 pinctrl_lpspi2_cs: lpspi2csgrp {
783 fsl,pins = <
784 IMX8QM_SPI2_CS0_LSIO_GPIO3_IO10 0x21
785 >;
786 };
787
Tom Rini9c8af152024-12-24 12:03:04 -0600788 pinctrl_mipi0_lpi2c0: mipi0_lpi2c0grp {
789 fsl,pins = <
790 IMX8QM_MIPI_DSI0_I2C0_SCL_MIPI_DSI0_I2C0_SCL 0xc6000020
791 IMX8QM_MIPI_DSI0_I2C0_SDA_MIPI_DSI0_I2C0_SDA 0xc6000020
792 IMX8QM_MIPI_DSI0_GPIO0_01_LSIO_GPIO1_IO19 0x00000020
793 >;
794 };
795
796 pinctrl_mipi1_lpi2c0: mipi1_lpi2c0grp {
797 fsl,pins = <
798 IMX8QM_MIPI_DSI1_I2C0_SCL_MIPI_DSI1_I2C0_SCL 0xc6000020
799 IMX8QM_MIPI_DSI1_I2C0_SDA_MIPI_DSI1_I2C0_SDA 0xc6000020
800 IMX8QM_MIPI_DSI1_GPIO0_01_LSIO_GPIO1_IO23 0x00000020
801 >;
802 };
803
Tom Rini762f85b2024-07-20 11:15:10 -0600804 pinctrl_flexspi0: flexspi0grp {
805 fsl,pins = <
806 IMX8QM_QSPI0A_DATA0_LSIO_QSPI0A_DATA0 0x06000021
807 IMX8QM_QSPI0A_DATA1_LSIO_QSPI0A_DATA1 0x06000021
808 IMX8QM_QSPI0A_DATA2_LSIO_QSPI0A_DATA2 0x06000021
809 IMX8QM_QSPI0A_DATA3_LSIO_QSPI0A_DATA3 0x06000021
810 IMX8QM_QSPI0A_DQS_LSIO_QSPI0A_DQS 0x06000021
811 IMX8QM_QSPI0A_SS0_B_LSIO_QSPI0A_SS0_B 0x06000021
812 IMX8QM_QSPI0A_SS1_B_LSIO_QSPI0A_SS1_B 0x06000021
813 IMX8QM_QSPI0A_SCLK_LSIO_QSPI0A_SCLK 0x06000021
814 IMX8QM_QSPI0B_SCLK_LSIO_QSPI0B_SCLK 0x06000021
815 IMX8QM_QSPI0B_DATA0_LSIO_QSPI0B_DATA0 0x06000021
816 IMX8QM_QSPI0B_DATA1_LSIO_QSPI0B_DATA1 0x06000021
817 IMX8QM_QSPI0B_DATA2_LSIO_QSPI0B_DATA2 0x06000021
818 IMX8QM_QSPI0B_DATA3_LSIO_QSPI0B_DATA3 0x06000021
819 IMX8QM_QSPI0B_DQS_LSIO_QSPI0B_DQS 0x06000021
820 IMX8QM_QSPI0B_SS0_B_LSIO_QSPI0B_SS0_B 0x06000021
821 IMX8QM_QSPI0B_SS1_B_LSIO_QSPI0B_SS1_B 0x06000021
822 >;
823 };
824
Tom Rini6b642ac2024-10-01 12:20:28 -0600825 pinctrl_fec2: fec2grp {
826 fsl,pins = <
827 IMX8QM_COMP_CTL_GPIO_1V8_3V3_ENET_ENETA_PAD 0x000014a0
828 IMX8QM_ENET1_RGMII_TX_CTL_CONN_ENET1_RGMII_TX_CTL 0x00000060
829 IMX8QM_ENET1_RGMII_TXC_CONN_ENET1_RGMII_TXC 0x00000060
830 IMX8QM_ENET1_RGMII_TXD0_CONN_ENET1_RGMII_TXD0 0x00000060
831 IMX8QM_ENET1_RGMII_TXD1_CONN_ENET1_RGMII_TXD1 0x00000060
832 IMX8QM_ENET1_RGMII_TXD2_CONN_ENET1_RGMII_TXD2 0x00000060
833 IMX8QM_ENET1_RGMII_TXD3_CONN_ENET1_RGMII_TXD3 0x00000060
834 IMX8QM_ENET1_RGMII_RXC_CONN_ENET1_RGMII_RXC 0x00000060
835 IMX8QM_ENET1_RGMII_RX_CTL_CONN_ENET1_RGMII_RX_CTL 0x00000060
836 IMX8QM_ENET1_RGMII_RXD0_CONN_ENET1_RGMII_RXD0 0x00000060
837 IMX8QM_ENET1_RGMII_RXD1_CONN_ENET1_RGMII_RXD1 0x00000060
838 IMX8QM_ENET1_RGMII_RXD2_CONN_ENET1_RGMII_RXD2 0x00000060
839 IMX8QM_ENET1_RGMII_RXD3_CONN_ENET1_RGMII_RXD3 0x00000060
840 >;
841 };
842
843 pinctrl_flexcan1: flexcan0grp {
844 fsl,pins = <
845 IMX8QM_FLEXCAN0_TX_DMA_FLEXCAN0_TX 0x21
846 IMX8QM_FLEXCAN0_RX_DMA_FLEXCAN0_RX 0x21
847 >;
848 };
849
850 pinctrl_flexcan2: flexcan1grp {
851 fsl,pins = <
852 IMX8QM_FLEXCAN1_TX_DMA_FLEXCAN1_TX 0x21
853 IMX8QM_FLEXCAN1_RX_DMA_FLEXCAN1_RX 0x21
854 >;
855 };
856
857 pinctrl_flexcan3: flexcan3grp {
858 fsl,pins = <
859 IMX8QM_FLEXCAN2_TX_DMA_FLEXCAN2_TX 0x21
860 IMX8QM_FLEXCAN2_RX_DMA_FLEXCAN2_RX 0x21
861 >;
862 };
863
Tom Rini53633a82024-02-29 12:33:36 -0500864 pinctrl_lpuart0: lpuart0grp {
865 fsl,pins = <
866 IMX8QM_UART0_RX_DMA_UART0_RX 0x06000020
867 IMX8QM_UART0_TX_DMA_UART0_TX 0x06000020
868 >;
869 };
870
871 pinctrl_lpuart2: lpuart2grp {
872 fsl,pins = <
873 IMX8QM_UART0_RTS_B_DMA_UART2_RX 0x06000020
874 IMX8QM_UART0_CTS_B_DMA_UART2_TX 0x06000020
875 >;
876 };
877
878 pinctrl_lpuart3: lpuart3grp {
879 fsl,pins = <
880 IMX8QM_M41_GPIO0_00_DMA_UART3_RX 0x06000020
881 IMX8QM_M41_GPIO0_01_DMA_UART3_TX 0x06000020
882 >;
883 };
884
Tom Rini9c8af152024-12-24 12:03:04 -0600885 pinctrl_lvds0_lpi2c1: lvds0lpi2c1grp {
886 fsl,pins = <
887 IMX8QM_LVDS0_I2C1_SCL_LVDS0_I2C1_SCL 0xc600004c
888 IMX8QM_LVDS0_I2C1_SDA_LVDS0_I2C1_SDA 0xc600004c
889 >;
890 };
891
892 pinctrl_lvds1_lpi2c1: lvds1lpi2c1grp {
893 fsl,pins = <
894 IMX8QM_LVDS1_I2C1_SCL_LVDS1_I2C1_SCL 0xc600004c
895 IMX8QM_LVDS1_I2C1_SDA_LVDS1_I2C1_SDA 0xc600004c
896 >;
897 };
898
Tom Rini844493d2025-01-26 16:17:47 -0600899 pinctrl_pciea: pcieagrp {
900 fsl,pins = <
901 IMX8QM_PCIE_CTRL0_WAKE_B_LSIO_GPIO4_IO28 0x04000021
902 IMX8QM_PCIE_CTRL0_PERST_B_LSIO_GPIO4_IO29 0x06000021
903 IMX8QM_SCU_GPIO0_07_SCU_DSC_RTC_CLOCK_OUTPUT_32K 0x20
904 >;
905 };
906
907 pinctrl_pciea_reg: pcieareggrp {
908 fsl,pins = <
909 IMX8QM_LVDS1_I2C0_SDA_LSIO_GPIO1_IO13 0x06000021
910 >;
911 };
912
913 pinctrl_pcieb: pciebgrp {
914 fsl,pins = <
915 IMX8QM_PCIE_CTRL1_CLKREQ_B_HSIO_PCIE1_CLKREQ_B 0x06000021
916 IMX8QM_PCIE_CTRL1_WAKE_B_LSIO_GPIO4_IO31 0x04000021
917 IMX8QM_PCIE_CTRL1_PERST_B_LSIO_GPIO5_IO00 0x06000021
918 >;
919 };
920
Tom Rini9c8af152024-12-24 12:03:04 -0600921 pinctrl_pwm_lvds0: pwmlvds0grp {
922 fsl,pins = <
923 IMX8QM_LVDS0_GPIO00_LVDS0_PWM0_OUT 0x00000020
924 >;
925 };
926
927 pinctrl_pwm_lvds1: pwmlvds1grp {
928 fsl,pins = <
929 IMX8QM_LVDS1_GPIO00_LVDS1_PWM0_OUT 0x00000020
930 >;
931 };
932
Tom Rini6b642ac2024-10-01 12:20:28 -0600933 pinctrl_sai0: sai0grp {
934 fsl,pins = <
935 IMX8QM_SPI0_CS1_AUD_SAI0_TXC 0x0600004c
936 IMX8QM_SPI2_CS1_AUD_SAI0_TXFS 0x0600004c
937 IMX8QM_SAI1_RXFS_AUD_SAI0_RXD 0x0600004c
938 IMX8QM_SAI1_RXC_AUD_SAI0_TXD 0x0600006c
939 >;
940 };
941
942 pinctrl_sai1: sai1grp {
943 fsl,pins = <
944 IMX8QM_SAI1_RXD_AUD_SAI1_RXD 0x06000040
945 IMX8QM_SAI1_TXFS_AUD_SAI1_TXFS 0x06000040
946 IMX8QM_SAI1_TXD_AUD_SAI1_TXD 0x06000060
947 IMX8QM_SAI1_TXC_AUD_SAI1_TXC 0x06000040
948 >;
949 };
950
Tom Rini9c8af152024-12-24 12:03:04 -0600951 pinctrl_typec: typecgrp {
952 fsl,pins = <
953 IMX8QM_QSPI1A_DATA0_LSIO_GPIO4_IO26 0x00000021
954 >;
955 };
956
957 pinctrl_typec_mux: typecmuxgrp {
958 fsl,pins = <
959 IMX8QM_QSPI1A_SS0_B_LSIO_GPIO4_IO19 0x60
960 IMX8QM_USB_SS3_TC3_LSIO_GPIO4_IO06 0x60
961 >;
962 };
963
Tom Rini53633a82024-02-29 12:33:36 -0500964 pinctrl_usdhc1: usdhc1grp {
965 fsl,pins = <
966 IMX8QM_EMMC0_CLK_CONN_EMMC0_CLK 0x06000041
967 IMX8QM_EMMC0_CMD_CONN_EMMC0_CMD 0x00000021
968 IMX8QM_EMMC0_DATA0_CONN_EMMC0_DATA0 0x00000021
969 IMX8QM_EMMC0_DATA1_CONN_EMMC0_DATA1 0x00000021
970 IMX8QM_EMMC0_DATA2_CONN_EMMC0_DATA2 0x00000021
971 IMX8QM_EMMC0_DATA3_CONN_EMMC0_DATA3 0x00000021
972 IMX8QM_EMMC0_DATA4_CONN_EMMC0_DATA4 0x00000021
973 IMX8QM_EMMC0_DATA5_CONN_EMMC0_DATA5 0x00000021
974 IMX8QM_EMMC0_DATA6_CONN_EMMC0_DATA6 0x00000021
975 IMX8QM_EMMC0_DATA7_CONN_EMMC0_DATA7 0x00000021
976 IMX8QM_EMMC0_STROBE_CONN_EMMC0_STROBE 0x00000041
977 >;
978 };
979
980 pinctrl_usdhc2: usdhc2grp {
981 fsl,pins = <
982 IMX8QM_USDHC1_CLK_CONN_USDHC1_CLK 0x06000041
983 IMX8QM_USDHC1_CMD_CONN_USDHC1_CMD 0x00000021
984 IMX8QM_USDHC1_DATA0_CONN_USDHC1_DATA0 0x00000021
985 IMX8QM_USDHC1_DATA1_CONN_USDHC1_DATA1 0x00000021
986 IMX8QM_USDHC1_DATA2_CONN_USDHC1_DATA2 0x00000021
987 IMX8QM_USDHC1_DATA3_CONN_USDHC1_DATA3 0x00000021
988 IMX8QM_USDHC1_VSELECT_CONN_USDHC1_VSELECT 0x00000021
989 >;
990 };
991};