Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / freescale / imx8mp-evk.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright 2019 NXP
4  */
5
6 /dts-v1/;
7
8 #include <dt-bindings/phy/phy-imx8-pcie.h>
9 #include "imx8mp.dtsi"
10
11 / {
12         model = "NXP i.MX8MPlus EVK board";
13         compatible = "fsl,imx8mp-evk", "fsl,imx8mp";
14
15         chosen {
16                 stdout-path = &uart2;
17         };
18
19         hdmi-connector {
20                 compatible = "hdmi-connector";
21                 label = "hdmi";
22                 type = "a";
23
24                 port {
25                         hdmi_connector_in: endpoint {
26                                 remote-endpoint = <&adv7533_out>;
27                         };
28                 };
29         };
30
31         gpio-leds {
32                 compatible = "gpio-leds";
33                 pinctrl-names = "default";
34                 pinctrl-0 = <&pinctrl_gpio_led>;
35
36                 status {
37                         label = "yellow:status";
38                         gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
39                         default-state = "on";
40                 };
41         };
42
43         memory@40000000 {
44                 device_type = "memory";
45                 reg = <0x0 0x40000000 0 0xc0000000>,
46                       <0x1 0x00000000 0 0xc0000000>;
47         };
48
49         pcie0_refclk: pcie0-refclk {
50                 compatible = "fixed-clock";
51                 #clock-cells = <0>;
52                 clock-frequency = <100000000>;
53         };
54
55         reg_audio_pwr: regulator-audio-pwr {
56                 compatible = "regulator-fixed";
57                 pinctrl-names = "default";
58                 pinctrl-0 = <&pinctrl_audio_pwr_reg>;
59                 regulator-name = "audio-pwr";
60                 regulator-min-microvolt = <3300000>;
61                 regulator-max-microvolt = <3300000>;
62                 gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
63                 enable-active-high;
64         };
65
66         reg_can1_stby: regulator-can1-stby {
67                 compatible = "regulator-fixed";
68                 regulator-name = "can1-stby";
69                 pinctrl-names = "default";
70                 pinctrl-0 = <&pinctrl_flexcan1_reg>;
71                 regulator-min-microvolt = <3300000>;
72                 regulator-max-microvolt = <3300000>;
73                 gpio = <&gpio5 5 GPIO_ACTIVE_HIGH>;
74                 enable-active-high;
75         };
76
77         reg_can2_stby: regulator-can2-stby {
78                 compatible = "regulator-fixed";
79                 regulator-name = "can2-stby";
80                 pinctrl-names = "default";
81                 pinctrl-0 = <&pinctrl_flexcan2_reg>;
82                 regulator-min-microvolt = <3300000>;
83                 regulator-max-microvolt = <3300000>;
84                 gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>;
85                 enable-active-high;
86         };
87
88         reg_pcie0: regulator-pcie {
89                 compatible = "regulator-fixed";
90                 pinctrl-names = "default";
91                 pinctrl-0 = <&pinctrl_pcie0_reg>;
92                 regulator-name = "MPCIE_3V3";
93                 regulator-min-microvolt = <3300000>;
94                 regulator-max-microvolt = <3300000>;
95                 gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>;
96                 enable-active-high;
97         };
98
99         reg_usdhc2_vmmc: regulator-usdhc2 {
100                 compatible = "regulator-fixed";
101                 pinctrl-names = "default";
102                 pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>;
103                 regulator-name = "VSD_3V3";
104                 regulator-min-microvolt = <3300000>;
105                 regulator-max-microvolt = <3300000>;
106                 gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
107                 enable-active-high;
108         };
109
110         sound {
111                 compatible = "simple-audio-card";
112                 simple-audio-card,name = "wm8960-audio";
113                 simple-audio-card,format = "i2s";
114                 simple-audio-card,frame-master = <&cpudai>;
115                 simple-audio-card,bitclock-master = <&cpudai>;
116                 simple-audio-card,widgets =
117                         "Headphone", "Headphone Jack",
118                         "Speaker", "External Speaker",
119                         "Microphone", "Mic Jack";
120                 simple-audio-card,routing =
121                         "Headphone Jack", "HP_L",
122                         "Headphone Jack", "HP_R",
123                         "External Speaker", "SPK_LP",
124                         "External Speaker", "SPK_LN",
125                         "External Speaker", "SPK_RP",
126                         "External Speaker", "SPK_RN",
127                         "LINPUT1", "Mic Jack",
128                         "LINPUT3", "Mic Jack",
129                         "Mic Jack", "MICB";
130
131                 cpudai: simple-audio-card,cpu {
132                         sound-dai = <&sai3>;
133                 };
134
135                 simple-audio-card,codec {
136                         sound-dai = <&wm8960>;
137                 };
138
139         };
140 };
141
142 &flexspi {
143         pinctrl-names = "default";
144         pinctrl-0 = <&pinctrl_flexspi0>;
145         status = "okay";
146
147         flash@0 {
148                 compatible = "jedec,spi-nor";
149                 reg = <0>;
150                 spi-max-frequency = <80000000>;
151                 spi-tx-bus-width = <1>;
152                 spi-rx-bus-width = <4>;
153         };
154 };
155
156 &A53_0 {
157         cpu-supply = <&reg_arm>;
158 };
159
160 &A53_1 {
161         cpu-supply = <&reg_arm>;
162 };
163
164 &A53_2 {
165         cpu-supply = <&reg_arm>;
166 };
167
168 &A53_3 {
169         cpu-supply = <&reg_arm>;
170 };
171
172 &eqos {
173         pinctrl-names = "default";
174         pinctrl-0 = <&pinctrl_eqos>;
175         phy-mode = "rgmii-id";
176         phy-handle = <&ethphy0>;
177         snps,force_thresh_dma_mode;
178         snps,mtl-tx-config = <&mtl_tx_setup>;
179         snps,mtl-rx-config = <&mtl_rx_setup>;
180         status = "okay";
181
182         mdio {
183                 compatible = "snps,dwmac-mdio";
184                 #address-cells = <1>;
185                 #size-cells = <0>;
186
187                 ethphy0: ethernet-phy@1 {
188                         compatible = "ethernet-phy-ieee802.3-c22";
189                         reg = <1>;
190                         eee-broken-1000t;
191                         reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
192                         reset-assert-us = <10000>;
193                         reset-deassert-us = <80000>;
194                         realtek,clkout-disable;
195                 };
196         };
197
198         mtl_tx_setup: tx-queues-config {
199                 snps,tx-queues-to-use = <5>;
200                 snps,tx-sched-sp;
201
202                 queue0 {
203                         snps,dcb-algorithm;
204                         snps,priority = <0x1>;
205                 };
206
207                 queue1 {
208                         snps,dcb-algorithm;
209                         snps,priority = <0x2>;
210                 };
211
212                 queue2 {
213                         snps,dcb-algorithm;
214                         snps,priority = <0x4>;
215                 };
216
217                 queue3 {
218                         snps,dcb-algorithm;
219                         snps,priority = <0x8>;
220                 };
221
222                 queue4 {
223                         snps,dcb-algorithm;
224                         snps,priority = <0xf0>;
225                 };
226         };
227
228         mtl_rx_setup: rx-queues-config {
229                 snps,rx-queues-to-use = <5>;
230                 snps,rx-sched-sp;
231
232                 queue0 {
233                         snps,dcb-algorithm;
234                         snps,priority = <0x1>;
235                         snps,map-to-dma-channel = <0>;
236                 };
237
238                 queue1 {
239                         snps,dcb-algorithm;
240                         snps,priority = <0x2>;
241                         snps,map-to-dma-channel = <1>;
242                 };
243
244                 queue2 {
245                         snps,dcb-algorithm;
246                         snps,priority = <0x4>;
247                         snps,map-to-dma-channel = <2>;
248                 };
249
250                 queue3 {
251                         snps,dcb-algorithm;
252                         snps,priority = <0x8>;
253                         snps,map-to-dma-channel = <3>;
254                 };
255
256                 queue4 {
257                         snps,dcb-algorithm;
258                         snps,priority = <0xf0>;
259                         snps,map-to-dma-channel = <4>;
260                 };
261         };
262 };
263
264 &fec {
265         pinctrl-names = "default";
266         pinctrl-0 = <&pinctrl_fec>;
267         phy-mode = "rgmii-id";
268         phy-handle = <&ethphy1>;
269         fsl,magic-packet;
270         status = "okay";
271
272         mdio {
273                 #address-cells = <1>;
274                 #size-cells = <0>;
275
276                 ethphy1: ethernet-phy@1 {
277                         compatible = "ethernet-phy-ieee802.3-c22";
278                         reg = <1>;
279                         eee-broken-1000t;
280                         reset-gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
281                         reset-assert-us = <10000>;
282                         reset-deassert-us = <80000>;
283                         realtek,clkout-disable;
284                 };
285         };
286 };
287
288 &flexcan1 {
289         pinctrl-names = "default";
290         pinctrl-0 = <&pinctrl_flexcan1>;
291         xceiver-supply = <&reg_can1_stby>;
292         status = "okay";
293 };
294
295 &flexcan2 {
296         pinctrl-names = "default";
297         pinctrl-0 = <&pinctrl_flexcan2>;
298         xceiver-supply = <&reg_can2_stby>;
299         status = "disabled";/* can2 pin conflict with pdm */
300 };
301
302 &i2c1 {
303         clock-frequency = <400000>;
304         pinctrl-names = "default";
305         pinctrl-0 = <&pinctrl_i2c1>;
306         status = "okay";
307
308         pmic@25 {
309                 compatible = "nxp,pca9450c";
310                 reg = <0x25>;
311                 pinctrl-names = "default";
312                 pinctrl-0 = <&pinctrl_pmic>;
313                 interrupt-parent = <&gpio1>;
314                 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
315
316                 regulators {
317                         BUCK1 {
318                                 regulator-name = "BUCK1";
319                                 regulator-min-microvolt = <720000>;
320                                 regulator-max-microvolt = <1000000>;
321                                 regulator-boot-on;
322                                 regulator-always-on;
323                                 regulator-ramp-delay = <3125>;
324                         };
325
326                         reg_arm: BUCK2 {
327                                 regulator-name = "BUCK2";
328                                 regulator-min-microvolt = <720000>;
329                                 regulator-max-microvolt = <1025000>;
330                                 regulator-boot-on;
331                                 regulator-always-on;
332                                 regulator-ramp-delay = <3125>;
333                                 nxp,dvs-run-voltage = <950000>;
334                                 nxp,dvs-standby-voltage = <850000>;
335                         };
336
337                         BUCK4 {
338                                 regulator-name = "BUCK4";
339                                 regulator-min-microvolt = <3000000>;
340                                 regulator-max-microvolt = <3600000>;
341                                 regulator-boot-on;
342                                 regulator-always-on;
343                         };
344
345                         BUCK5 {
346                                 regulator-name = "BUCK5";
347                                 regulator-min-microvolt = <1650000>;
348                                 regulator-max-microvolt = <1950000>;
349                                 regulator-boot-on;
350                                 regulator-always-on;
351                         };
352
353                         BUCK6 {
354                                 regulator-name = "BUCK6";
355                                 regulator-min-microvolt = <1045000>;
356                                 regulator-max-microvolt = <1155000>;
357                                 regulator-boot-on;
358                                 regulator-always-on;
359                         };
360
361                         LDO1 {
362                                 regulator-name = "LDO1";
363                                 regulator-min-microvolt = <1650000>;
364                                 regulator-max-microvolt = <1950000>;
365                                 regulator-boot-on;
366                                 regulator-always-on;
367                         };
368
369                         LDO3 {
370                                 regulator-name = "LDO3";
371                                 regulator-min-microvolt = <1710000>;
372                                 regulator-max-microvolt = <1890000>;
373                                 regulator-boot-on;
374                                 regulator-always-on;
375                         };
376
377                         LDO5 {
378                                 regulator-name = "LDO5";
379                                 regulator-min-microvolt = <1800000>;
380                                 regulator-max-microvolt = <3300000>;
381                                 regulator-boot-on;
382                                 regulator-always-on;
383                         };
384                 };
385         };
386 };
387
388 &i2c2 {
389         clock-frequency = <400000>;
390         pinctrl-names = "default";
391         pinctrl-0 = <&pinctrl_i2c2>;
392         status = "okay";
393
394         hdmi@3d {
395                 compatible = "adi,adv7535";
396                 reg = <0x3d>, <0x3c>, <0x3e>, <0x3f>;
397                 reg-names = "main", "cec", "edid", "packet";
398                 adi,dsi-lanes = <4>;
399                 adi,input-depth = <8>;
400                 adi,input-colorspace = "rgb";
401                 adi,input-clock = "1x";
402                 adi,input-style = <1>;
403                 adi,input-justification = "evenly";
404
405                 ports {
406                         #address-cells = <1>;
407                         #size-cells = <0>;
408
409                         port@0 {
410                                 reg = <0>;
411
412                                 adv7533_in: endpoint {
413                                         remote-endpoint = <&dsi_out>;
414                                 };
415                         };
416
417                         port@1 {
418                                 reg = <1>;
419
420                                 adv7533_out: endpoint {
421                                         remote-endpoint = <&hdmi_connector_in>;
422                                 };
423                         };
424
425                 };
426         };
427 };
428
429 &i2c3 {
430         clock-frequency = <400000>;
431         pinctrl-names = "default";
432         pinctrl-0 = <&pinctrl_i2c3>;
433         status = "okay";
434
435         wm8960: codec@1a {
436                 compatible = "wlf,wm8960";
437                 reg = <0x1a>;
438                 #sound-dai-cells = <0>;
439                 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>;
440                 clock-names = "mclk";
441                 wlf,shared-lrclk;
442                 wlf,hp-cfg = <3 2 3>;
443                 wlf,gpio-cfg = <1 3>;
444                 SPKVDD1-supply = <&reg_audio_pwr>;
445         };
446
447         pca6416: gpio@20 {
448                 compatible = "ti,tca6416";
449                 reg = <0x20>;
450                 gpio-controller;
451                 #gpio-cells = <2>;
452                 interrupt-controller;
453                 #interrupt-cells = <2>;
454                 pinctrl-names = "default";
455                 pinctrl-0 = <&pinctrl_pca6416_int>;
456                 interrupt-parent = <&gpio1>;
457                 interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
458                 gpio-line-names = "EXT_PWREN1",
459                         "EXT_PWREN2",
460                         "CAN1/I2C5_SEL",
461                         "PDM/CAN2_SEL",
462                         "FAN_EN",
463                         "PWR_MEAS_IO1",
464                         "PWR_MEAS_IO2",
465                         "EXP_P0_7",
466                         "EXP_P1_0",
467                         "EXP_P1_1",
468                         "EXP_P1_2",
469                         "EXP_P1_3",
470                         "EXP_P1_4",
471                         "EXP_P1_5",
472                         "EXP_P1_6",
473                         "EXP_P1_7";
474         };
475 };
476
477 /* I2C on expansion connector J22. */
478 &i2c5 {
479         clock-frequency = <100000>; /* Lower clock speed for external bus. */
480         pinctrl-names = "default";
481         pinctrl-0 = <&pinctrl_i2c5>;
482         status = "disabled"; /* can1 pins conflict with i2c5 */
483
484         /* GPIO 2 of PCA6416 is used to switch between CAN1 and I2C5 functions:
485          *     LOW:  CAN1 (default, pull-down)
486          *     HIGH: I2C5
487          * You need to set it to high to enable I2C5 (for example, add gpio-hog
488          * in pca6416 node).
489          */
490 };
491
492 &lcdif1 {
493         status = "okay";
494 };
495
496 &mipi_dsi {
497         samsung,esc-clock-frequency = <10000000>;
498         status = "okay";
499
500         ports {
501                 port@1 {
502                         reg = <1>;
503
504                         dsi_out: endpoint {
505                                 remote-endpoint = <&adv7533_in>;
506                                 data-lanes = <1 2 3 4>;
507                         };
508                 };
509         };
510 };
511
512 &pcie_phy {
513         fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
514         clocks = <&pcie0_refclk>;
515         clock-names = "ref";
516         status = "okay";
517 };
518
519 &pcie {
520         pinctrl-names = "default";
521         pinctrl-0 = <&pinctrl_pcie0>;
522         reset-gpio = <&gpio2 7 GPIO_ACTIVE_LOW>;
523         vpcie-supply = <&reg_pcie0>;
524         status = "okay";
525 };
526
527 &pwm1 {
528         pinctrl-names = "default";
529         pinctrl-0 = <&pinctrl_pwm1>;
530         status = "okay";
531 };
532
533 &pwm2 {
534         pinctrl-names = "default";
535         pinctrl-0 = <&pinctrl_pwm2>;
536         status = "okay";
537 };
538
539 &pwm4 {
540         pinctrl-names = "default";
541         pinctrl-0 = <&pinctrl_pwm4>;
542         status = "okay";
543 };
544
545 &sai3 {
546         pinctrl-names = "default";
547         pinctrl-0 = <&pinctrl_sai3>;
548         assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
549         assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
550         assigned-clock-rates = <12288000>;
551         fsl,sai-mclk-direction-output;
552         status = "okay";
553 };
554
555 &snvs_pwrkey {
556         status = "okay";
557 };
558
559 &uart1 { /* BT */
560         pinctrl-names = "default";
561         pinctrl-0 = <&pinctrl_uart1>;
562         assigned-clocks = <&clk IMX8MP_CLK_UART1>;
563         assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
564         uart-has-rtscts;
565         status = "okay";
566 };
567
568 &uart2 {
569         /* console */
570         pinctrl-names = "default";
571         pinctrl-0 = <&pinctrl_uart2>;
572         status = "okay";
573 };
574
575 &usb3_phy1 {
576         status = "okay";
577 };
578
579 &usb3_1 {
580         status = "okay";
581 };
582
583 &usb_dwc3_1 {
584         pinctrl-names = "default";
585         pinctrl-0 = <&pinctrl_usb1_vbus>;
586         dr_mode = "host";
587         status = "okay";
588 };
589
590 &uart3 {
591         pinctrl-names = "default";
592         pinctrl-0 = <&pinctrl_uart3>;
593         assigned-clocks = <&clk IMX8MP_CLK_UART3>;
594         assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
595         uart-has-rtscts;
596         status = "okay";
597 };
598
599 &usdhc2 {
600         assigned-clocks = <&clk IMX8MP_CLK_USDHC2>;
601         assigned-clock-rates = <400000000>;
602         pinctrl-names = "default", "state_100mhz", "state_200mhz";
603         pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
604         pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
605         pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
606         cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
607         vmmc-supply = <&reg_usdhc2_vmmc>;
608         bus-width = <4>;
609         status = "okay";
610 };
611
612 &usdhc3 {
613         assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
614         assigned-clock-rates = <400000000>;
615         pinctrl-names = "default", "state_100mhz", "state_200mhz";
616         pinctrl-0 = <&pinctrl_usdhc3>;
617         pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
618         pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
619         bus-width = <8>;
620         non-removable;
621         status = "okay";
622 };
623
624 &wdog1 {
625         pinctrl-names = "default";
626         pinctrl-0 = <&pinctrl_wdog>;
627         fsl,ext-reset-output;
628         status = "okay";
629 };
630
631 &iomuxc {
632         pinctrl_audio_pwr_reg: audiopwrreggrp {
633                 fsl,pins = <
634                         MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29               0xd6
635                 >;
636         };
637
638         pinctrl_eqos: eqosgrp {
639                 fsl,pins = <
640                         MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC                             0x2
641                         MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO                           0x2
642                         MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0                       0x90
643                         MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1                       0x90
644                         MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2                       0x90
645                         MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3                       0x90
646                         MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK       0x90
647                         MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL                 0x90
648                         MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0                       0x16
649                         MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1                       0x16
650                         MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2                       0x16
651                         MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3                       0x16
652                         MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL                 0x16
653                         MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK       0x16
654                         MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22                               0x10
655                 >;
656         };
657
658         pinctrl_fec: fecgrp {
659                 fsl,pins = <
660                         MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC               0x2
661                         MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO              0x2
662                         MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0         0x90
663                         MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1         0x90
664                         MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2         0x90
665                         MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3         0x90
666                         MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC          0x90
667                         MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL      0x90
668                         MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0         0x16
669                         MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1         0x16
670                         MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2         0x16
671                         MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3         0x16
672                         MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL      0x16
673                         MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC         0x16
674                         MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02              0x10
675                 >;
676         };
677
678         pinctrl_flexcan1: flexcan1grp {
679                 fsl,pins = <
680                         MX8MP_IOMUXC_SPDIF_RX__CAN1_RX          0x154
681                         MX8MP_IOMUXC_SPDIF_TX__CAN1_TX          0x154
682                 >;
683         };
684
685         pinctrl_flexcan2: flexcan2grp {
686                 fsl,pins = <
687                         MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX         0x154
688                         MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX         0x154
689                 >;
690         };
691
692         pinctrl_flexcan1_reg: flexcan1reggrp {
693                 fsl,pins = <
694                         MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05  0x154   /* CAN1_STBY */
695                 >;
696         };
697
698         pinctrl_flexcan2_reg: flexcan2reggrp {
699                 fsl,pins = <
700                         MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27      0x154   /* CAN2_STBY */
701                 >;
702         };
703
704         pinctrl_flexspi0: flexspi0grp {
705                 fsl,pins = <
706                         MX8MP_IOMUXC_NAND_ALE__FLEXSPI_A_SCLK           0x1c2
707                         MX8MP_IOMUXC_NAND_CE0_B__FLEXSPI_A_SS0_B        0x82
708                         MX8MP_IOMUXC_NAND_DATA00__FLEXSPI_A_DATA00      0x82
709                         MX8MP_IOMUXC_NAND_DATA01__FLEXSPI_A_DATA01      0x82
710                         MX8MP_IOMUXC_NAND_DATA02__FLEXSPI_A_DATA02      0x82
711                         MX8MP_IOMUXC_NAND_DATA03__FLEXSPI_A_DATA03      0x82
712                 >;
713         };
714
715         pinctrl_gpio_led: gpioledgrp {
716                 fsl,pins = <
717                         MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16   0x140
718                 >;
719         };
720
721         pinctrl_i2c1: i2c1grp {
722                 fsl,pins = <
723                         MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL         0x400001c2
724                         MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA         0x400001c2
725                 >;
726         };
727
728         pinctrl_i2c2: i2c2grp {
729                 fsl,pins = <
730                         MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL         0x400001c2
731                         MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA         0x400001c2
732                 >;
733         };
734
735         pinctrl_i2c3: i2c3grp {
736                 fsl,pins = <
737                         MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL         0x400001c2
738                         MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA         0x400001c2
739                 >;
740         };
741
742         pinctrl_i2c5: i2c5grp {
743                 fsl,pins = <
744                         MX8MP_IOMUXC_SPDIF_RX__I2C5_SDA         0x400001c2
745                         MX8MP_IOMUXC_SPDIF_TX__I2C5_SCL         0x400001c2
746                 >;
747         };
748
749         pinctrl_pcie0: pcie0grp {
750                 fsl,pins = <
751                         MX8MP_IOMUXC_I2C4_SCL__PCIE_CLKREQ_B    0x60 /* open drain, pull up */
752                         MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07      0x40
753                 >;
754         };
755
756         pinctrl_pcie0_reg: pcie0reggrp {
757                 fsl,pins = <
758                         MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06      0x40
759                 >;
760         };
761
762         pinctrl_pmic: pmicgrp {
763                 fsl,pins = <
764                         MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03     0x000001c0
765                 >;
766         };
767
768         pinctrl_pca6416_int: pca6416_int_grp {
769                 fsl,pins = <
770                         MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12     0x146 /* Input pull-up. */
771                 >;
772         };
773
774         pinctrl_pwm1: pwm1grp {
775                 fsl,pins = <
776                         MX8MP_IOMUXC_GPIO1_IO01__PWM1_OUT       0x116
777                 >;
778         };
779
780         pinctrl_pwm2: pwm2grp {
781                 fsl,pins = <
782                         MX8MP_IOMUXC_GPIO1_IO11__PWM2_OUT       0x116
783                 >;
784         };
785
786         pinctrl_pwm4: pwm4grp {
787                 fsl,pins = <
788                         MX8MP_IOMUXC_SAI5_RXFS__PWM4_OUT        0x116
789                 >;
790         };
791
792         pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
793                 fsl,pins = <
794                         MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19    0x40
795                 >;
796         };
797
798         pinctrl_uart1: uart1grp {
799                 fsl,pins = <
800                         MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX    0x140
801                         MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX    0x140
802                         MX8MP_IOMUXC_UART3_RXD__UART1_DCE_CTS   0x140
803                         MX8MP_IOMUXC_UART3_TXD__UART1_DCE_RTS   0x140
804                 >;
805         };
806
807         pinctrl_sai3: sai3grp {
808                 fsl,pins = <
809                         MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC   0xd6
810                         MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK    0xd6
811                         MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00  0xd6
812                         MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00  0xd6
813                         MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK      0xd6
814                 >;
815         };
816
817         pinctrl_uart2: uart2grp {
818                 fsl,pins = <
819                         MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX    0x140
820                         MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX    0x140
821                 >;
822         };
823
824         pinctrl_usb1_vbus: usb1grp {
825                 fsl,pins = <
826                         MX8MP_IOMUXC_GPIO1_IO14__USB2_OTG_PWR   0x10
827                 >;
828         };
829
830         pinctrl_uart3: uart3grp {
831                 fsl,pins = <
832                         MX8MP_IOMUXC_ECSPI1_SCLK__UART3_DCE_RX          0x140
833                         MX8MP_IOMUXC_ECSPI1_MOSI__UART3_DCE_TX          0x140
834                         MX8MP_IOMUXC_ECSPI1_SS0__UART3_DCE_RTS          0x140
835                         MX8MP_IOMUXC_ECSPI1_MISO__UART3_DCE_CTS         0x140
836                 >;
837         };
838
839         pinctrl_usdhc2: usdhc2grp {
840                 fsl,pins = <
841                         MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK        0x190
842                         MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD        0x1d0
843                         MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0    0x1d0
844                         MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1    0x1d0
845                         MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2    0x1d0
846                         MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3    0x1d0
847                         MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0
848                 >;
849         };
850
851         pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
852                 fsl,pins = <
853                         MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK        0x194
854                         MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD        0x1d4
855                         MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0    0x1d4
856                         MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1    0x1d4
857                         MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2    0x1d4
858                         MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3    0x1d4
859                         MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0
860                 >;
861         };
862
863         pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
864                 fsl,pins = <
865                         MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK        0x196
866                         MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD        0x1d6
867                         MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0    0x1d6
868                         MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1    0x1d6
869                         MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2    0x1d6
870                         MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3    0x1d6
871                         MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0
872                 >;
873         };
874
875         pinctrl_usdhc2_gpio: usdhc2gpiogrp {
876                 fsl,pins = <
877                         MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12       0x1c4
878                 >;
879         };
880
881         pinctrl_usdhc3: usdhc3grp {
882                 fsl,pins = <
883                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x190
884                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d0
885                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d0
886                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d0
887                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d0
888                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d0
889                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d0
890                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d0
891                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d0
892                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d0
893                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x190
894                 >;
895         };
896
897         pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
898                 fsl,pins = <
899                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x194
900                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d4
901                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d4
902                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d4
903                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d4
904                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d4
905                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d4
906                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d4
907                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d4
908                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d4
909                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x194
910                 >;
911         };
912
913         pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
914                 fsl,pins = <
915                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x196
916                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d6
917                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d6
918                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d6
919                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d6
920                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d6
921                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d6
922                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d6
923                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d6
924                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d6
925                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x196
926                 >;
927         };
928
929         pinctrl_wdog: wdoggrp {
930                 fsl,pins = <
931                         MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B   0x166
932                 >;
933         };
934 };