GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm64 / boot / dts / freescale / imx8mp-tqma8mpql-mba8mpxl.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 /*
3  * Copyright 2021-2022 TQ-Systems GmbH
4  * Author: Alexander Stein <alexander.stein@tq-group.com>
5  */
6
7 /dts-v1/;
8
9 #include <dt-bindings/leds/common.h>
10 #include <dt-bindings/net/ti-dp83867.h>
11 #include <dt-bindings/pwm/pwm.h>
12 #include "imx8mp-tqma8mpql.dtsi"
13
14 / {
15         model = "TQ-Systems i.MX8MPlus TQMa8MPxL on MBa8MPxL";
16         compatible = "tq,imx8mp-tqma8mpql-mba8mpxl", "tq,imx8mp-tqma8mpql", "fsl,imx8mp";
17
18         chosen {
19                 stdout-path = &uart4;
20         };
21
22         iio-hwmon {
23                 compatible = "iio-hwmon";
24                 io-channels = <&adc 0>, <&adc 1>;
25         };
26
27         aliases {
28                 mmc0 = &usdhc3;
29                 mmc1 = &usdhc2;
30                 mmc2 = &usdhc1;
31                 rtc0 = &pcf85063;
32                 rtc1 = &snvs_rtc;
33                 spi0 = &flexspi;
34                 spi1 = &ecspi1;
35                 spi2 = &ecspi2;
36                 spi3 = &ecspi3;
37         };
38
39         backlight_lvds: backlight {
40                 compatible = "pwm-backlight";
41                 pinctrl-names = "default";
42                 pinctrl-0 = <&pinctrl_backlight>;
43                 pwms = <&pwm2 0 5000000 0>;
44                 brightness-levels = <0 4 8 16 32 64 128 255>;
45                 default-brightness-level = <7>;
46                 power-supply = <&reg_vcc_12v0>;
47                 enable-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
48                 status = "disabled";
49         };
50
51         gpio-keys {
52                 compatible = "gpio-keys";
53                 pinctrl-names = "default";
54                 pinctrl-0 = <&pinctrl_gpiobutton>;
55                 autorepeat;
56
57                 switch-1 {
58                         label = "S12";
59                         linux,code = <BTN_0>;
60                         gpios = <&gpio5 27 GPIO_ACTIVE_LOW>;
61                 };
62
63                 switch-2 {
64                         label = "S13";
65                         linux,code = <BTN_1>;
66                         gpios = <&gpio5 26 GPIO_ACTIVE_LOW>;
67                 };
68         };
69
70         gpio-leds {
71                 compatible = "gpio-leds";
72                 pinctrl-names = "default";
73                 pinctrl-0 = <&pinctrl_gpioled>;
74
75                 led-0 {
76                         color = <LED_COLOR_ID_GREEN>;
77                         function = LED_FUNCTION_STATUS;
78                         function-enumerator = <0>;
79                         gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>;
80                         linux,default-trigger = "default-on";
81                 };
82
83                 led-1 {
84                         color = <LED_COLOR_ID_GREEN>;
85                         function = LED_FUNCTION_HEARTBEAT;
86                         gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>;
87                         linux,default-trigger = "heartbeat";
88                 };
89
90                 led-2 {
91                         color = <LED_COLOR_ID_YELLOW>;
92                         function = LED_FUNCTION_STATUS;
93                         function-enumerator = <1>;
94                         gpios = <&gpio5 3 GPIO_ACTIVE_HIGH>;
95                 };
96         };
97
98         display: display {
99                 /*
100                  * Display is not fixed, so compatible has to be added from
101                  * DT overlay
102                  */
103                 pinctrl-names = "default";
104                 pinctrl-0 = <&pinctrl_lvdsdisplay>;
105                 power-supply = <&reg_vcc_3v3>;
106                 enable-gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>;
107                 backlight = <&backlight_lvds>;
108                 status = "disabled";
109         };
110
111         reg_usdhc2_vmmc: regulator-usdhc2 {
112                 compatible = "regulator-fixed";
113                 pinctrl-names = "default";
114                 pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>;
115                 regulator-name = "VSD_3V3";
116                 regulator-min-microvolt = <3300000>;
117                 regulator-max-microvolt = <3300000>;
118                 gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
119                 enable-active-high;
120                 startup-delay-us = <100>;
121                 off-on-delay-us = <12000>;
122         };
123
124         reg_vcc_12v0: regulator-12v0 {
125                 compatible = "regulator-fixed";
126                 pinctrl-names = "default";
127                 pinctrl-0 = <&pinctrl_reg12v0>;
128                 regulator-name = "VCC_12V0";
129                 regulator-min-microvolt = <12000000>;
130                 regulator-max-microvolt = <12000000>;
131                 gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>;
132                 enable-active-high;
133         };
134
135         reg_vcc_3v3: regulator-3v3 {
136                 compatible = "regulator-fixed";
137                 regulator-name = "VCC_3V3";
138                 regulator-min-microvolt = <3300000>;
139                 regulator-max-microvolt = <3300000>;
140         };
141
142         reg_vcc_5v0: regulator-5v0 {
143                 compatible = "regulator-fixed";
144                 regulator-name = "VCC_5V0";
145                 regulator-min-microvolt = <5000000>;
146                 regulator-max-microvolt = <5000000>;
147         };
148
149         reserved-memory {
150                 #address-cells = <2>;
151                 #size-cells = <2>;
152                 ranges;
153
154                 ocram: ocram@900000 {
155                         no-map;
156                         reg = <0 0x900000 0 0x70000>;
157                 };
158
159                 /* global autoconfigured region for contiguous allocations */
160                 linux,cma {
161                         compatible = "shared-dma-pool";
162                         reusable;
163                         size = <0 0x38000000>;
164                         alloc-ranges = <0 0x40000000 0 0xB0000000>;
165                         linux,cma-default;
166                 };
167         };
168 };
169
170 &ecspi1 {
171         pinctrl-names = "default";
172         pinctrl-0 = <&pinctrl_ecspi1>;
173         cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
174         status = "okay";
175 };
176
177 &ecspi2 {
178         pinctrl-names = "default";
179         pinctrl-0 = <&pinctrl_ecspi2>;
180         cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
181         status = "okay";
182 };
183
184 &ecspi3 {
185         pinctrl-names = "default";
186         pinctrl-0 = <&pinctrl_ecspi3>;
187         cs-gpios = <&gpio5 25 GPIO_ACTIVE_LOW>;
188         status = "okay";
189
190         adc: adc@0 {
191                 reg = <0>;
192                 compatible = "microchip,mcp3202";
193                 /* 100 ksps * 18 */
194                 spi-max-frequency = <1800000>;
195                 vref-supply = <&reg_vcc_3v3>;
196                 #io-channel-cells = <1>;
197         };
198 };
199
200 &eqos {
201         pinctrl-names = "default";
202         pinctrl-0 = <&pinctrl_eqos>, <&pinctrl_eqos_phy>;
203         phy-mode = "rgmii-id";
204         phy-handle = <&ethphy3>;
205         status = "okay";
206
207         mdio {
208                 compatible = "snps,dwmac-mdio";
209                 #address-cells = <1>;
210                 #size-cells = <0>;
211
212                 ethphy3: ethernet-phy@3 {
213                         compatible = "ethernet-phy-ieee802.3-c22";
214                         reg = <3>;
215                         ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
216                         ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
217                         ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
218                         ti,dp83867-rxctrl-strap-quirk;
219                         ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
220                         reset-gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
221                         reset-assert-us = <500000>;
222                         reset-deassert-us = <50000>;
223                         enet-phy-lane-no-swap;
224                         interrupt-parent = <&gpio4>;
225                         interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
226                 };
227         };
228 };
229
230 &fec {
231         pinctrl-names = "default";
232         pinctrl-0 = <&pinctrl_fec>, <&pinctrl_fec_phy>;
233         phy-mode = "rgmii-id";
234         phy-handle = <&ethphy0>;
235         fsl,magic-packet;
236         status = "okay";
237
238         mdio {
239                 #address-cells = <1>;
240                 #size-cells = <0>;
241
242                 ethphy0: ethernet-phy@0 {
243                         compatible = "ethernet-phy-ieee802.3-c22";
244                         reg = <0>;
245                         ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
246                         ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
247                         ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
248                         ti,dp83867-rxctrl-strap-quirk;
249                         ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
250                         reset-gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;
251                         reset-assert-us = <500000>;
252                         reset-deassert-us = <50000>;
253                         enet-phy-lane-no-swap;
254                         interrupt-parent = <&gpio4>;
255                         interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
256                 };
257         };
258 };
259
260 &flexcan1 {
261         pinctrl-names = "default";
262         pinctrl-0 = <&pinctrl_flexcan1>;
263         xceiver-supply = <&reg_vcc_3v3>;
264         status = "okay";
265 };
266
267 &flexcan2 {
268         pinctrl-names = "default";
269         pinctrl-0 = <&pinctrl_flexcan2>;
270         xceiver-supply = <&reg_vcc_3v3>;
271         status = "okay";
272 };
273
274 &gpio1 {
275         pinctrl-names = "default";
276         pinctrl-0 = <&pinctrl_gpio1>;
277
278         gpio-line-names = "GPO1", "GPO0", "", "GPO3",
279                           "", "", "GPO2", "GPI0",
280                           "PMIC_IRQ", "GPI1", "OTG_ID", "USB_HUB_RST#",
281                           "OTG_PWR", "", "GPI2", "GPI3",
282                           "", "", "", "",
283                           "", "", "", "",
284                           "", "", "", "",
285                           "", "", "", "";
286 };
287
288 &gpio2 {
289         pinctrl-names = "default";
290         pinctrl-0 = <&pinctrl_hoggpio2>;
291
292         gpio-line-names = "", "", "", "",
293                           "", "", "VCC12V_EN", "PERST#",
294                           "", "", "CLKREQ#", "PEWAKE#",
295                           "USDHC2_CD", "", "", "",
296                           "", "", "", "V_SD3V3_EN",
297                           "", "", "", "",
298                           "", "", "", "",
299                           "", "", "", "";
300
301         perst-hog {
302                 gpio-hog;
303                 gpios = <7 0>;
304                 output-high;
305                 line-name = "PERST#";
306         };
307
308         clkreq-hog {
309                 gpio-hog;
310                 gpios = <10 0>;
311                 input;
312                 line-name = "CLKREQ#";
313         };
314
315         pewake-hog {
316                 gpio-hog;
317                 gpios = <11 0>;
318                 input;
319                 line-name = "PEWAKE#";
320         };
321 };
322
323 &gpio3 {
324         gpio-line-names = "", "", "", "",
325                           "", "", "", "",
326                           "", "", "", "",
327                           "", "", "LVDS0_RESET#", "",
328                           "", "", "", "LVDS0_BLT_EN",
329                           "LVDS0_PWR_EN", "", "", "",
330                           "", "", "", "",
331                           "", "", "", "";
332 };
333
334 &gpio4 {
335         pinctrl-names = "default";
336         pinctrl-0 = <&pinctrl_gpio4>;
337
338         gpio-line-names = "ENET0_RST#", "ENET0_INT#", "ENET1_RST#", "ENET1_INT#",
339                           "", "", "", "",
340                           "", "", "", "",
341                           "", "", "", "",
342                           "", "", "DP_IRQ", "DSI_EN",
343                           "HDMI_OC#", "TEMP_EVENT#", "PCIE_CLK_OE#", "",
344                           "", "", "", "FAN_PWR",
345                           "RTC_EVENT#", "CODEC_RST#", "", "";
346 };
347
348 &gpio5 {
349         gpio-line-names = "", "", "", "LED2",
350                           "LED1", "LED0", "CSI0_RESET#", "CSI0_SYNC",
351                           "CSI0_TRIGGER", "CSI0_ENABLE", "", "",
352                           "", "ECSPI2_SS0", "", "",
353                           "", "", "", "",
354                           "", "", "", "",
355                           "", "ECSPI3_SS0", "SWITCH_A", "SWITCH_B",
356                           "", "", "", "";
357 };
358
359 &i2c2 {
360         clock-frequency = <384000>;
361         pinctrl-names = "default", "gpio";
362         pinctrl-0 = <&pinctrl_i2c2>;
363         pinctrl-1 = <&pinctrl_i2c2_gpio>;
364         scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
365         sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
366         status = "okay";
367
368         /* NXP SE97BTP with temperature sensor + eeprom */
369         se97_1c: temperature-sensor-eeprom@1c {
370                 compatible = "nxp,se97", "jedec,jc-42.4-temp";
371                 reg = <0x1c>;
372         };
373
374         at24c02_54: eeprom@54 {
375                 compatible = "nxp,se97b", "atmel,24c02";
376                 reg = <0x54>;
377                 pagesize = <16>;
378                 vcc-supply = <&reg_vcc_3v3>;
379         };
380 };
381
382 &i2c4 {
383         clock-frequency = <384000>;
384         pinctrl-names = "default", "gpio";
385         pinctrl-0 = <&pinctrl_i2c4>;
386         pinctrl-1 = <&pinctrl_i2c4_gpio>;
387         scl-gpios = <&gpio5 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
388         sda-gpios = <&gpio5 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
389         status = "okay";
390 };
391
392 &i2c6 {
393         clock-frequency = <384000>;
394         pinctrl-names = "default", "gpio";
395         pinctrl-0 = <&pinctrl_i2c6>;
396         pinctrl-1 = <&pinctrl_i2c6_gpio>;
397         scl-gpios = <&gpio2 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
398         sda-gpios = <&gpio2 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
399         status = "okay";
400 };
401
402 &pcf85063 {
403         /* RTC_EVENT# is connected on MBa8MPxL */
404         pinctrl-names = "default";
405         pinctrl-0 = <&pinctrl_pcf85063>;
406         interrupt-parent = <&gpio4>;
407         interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
408 };
409
410 &pwm2 {
411         pinctrl-names = "default";
412         pinctrl-0 = <&pinctrl_pwm2>;
413         status = "disabled";
414 };
415
416 &pwm3 {
417         pinctrl-names = "default";
418         pinctrl-0 = <&pinctrl_pwm3>;
419         status = "okay";
420 };
421
422 &snvs_pwrkey {
423         status = "okay";
424 };
425
426 &uart1 {
427         pinctrl-names = "default";
428         pinctrl-0 = <&pinctrl_uart1>;
429         assigned-clocks = <&clk IMX8MP_CLK_UART1>;
430         assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
431         status = "okay";
432 };
433
434 &uart2 {
435         pinctrl-names = "default";
436         pinctrl-0 = <&pinctrl_uart2>;
437         assigned-clocks = <&clk IMX8MP_CLK_UART2>;
438         assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
439         status = "okay";
440 };
441
442 &uart3 {
443         pinctrl-names = "default";
444         pinctrl-0 = <&pinctrl_uart3>;
445         assigned-clocks = <&clk IMX8MP_CLK_UART3>;
446         assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
447         status = "okay";
448 };
449
450 &uart4 {
451         /* console */
452         pinctrl-names = "default";
453         pinctrl-0 = <&pinctrl_uart4>;
454         status = "okay";
455 };
456
457 &usb3_0 {
458         pinctrl-names = "default";
459         pinctrl-0 = <&pinctrl_usb0>;
460         fsl,over-current-active-low;
461         status = "okay";
462 };
463
464 &usb3_phy0 {
465         vbus-supply = <&reg_vcc_5v0>;
466         status = "okay";
467 };
468
469 &usb_dwc3_0 {
470         /* dual role is implemented, but not a full featured OTG */
471         hnp-disable;
472         srp-disable;
473         adp-disable;
474         dr_mode = "otg";
475         usb-role-switch;
476         role-switch-default-mode = "peripheral";
477         status = "okay";
478
479         connector {
480                 compatible = "gpio-usb-b-connector", "usb-b-connector";
481                 type = "micro";
482                 label = "X29";
483                 pinctrl-names = "default";
484                 pinctrl-0 = <&pinctrl_usbcon0>;
485                 id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
486         };
487 };
488
489 &usdhc2 {
490         pinctrl-names = "default", "state_100mhz", "state_200mhz";
491         pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
492         pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
493         pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
494         cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
495         vmmc-supply = <&reg_usdhc2_vmmc>;
496         no-mmc;
497         no-sdio;
498         disable-wp;
499         bus-width = <4>;
500         status = "okay";
501 };
502
503 &iomuxc {
504         pinctrl_backlight: backlightgrp {
505                 fsl,pins = <MX8MP_IOMUXC_SAI5_RXFS__GPIO3_IO19          0x14>;
506         };
507
508         pinctrl_flexcan1: flexcan1grp {
509                 fsl,pins = <MX8MP_IOMUXC_SAI5_RXD1__CAN1_TX             0x150>,
510                            <MX8MP_IOMUXC_SAI5_RXD2__CAN1_RX             0x150>;
511         };
512
513         pinctrl_flexcan2: flexcan2grp {
514                 fsl,pins = <MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX             0x150>,
515                            <MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX             0x150>;
516         };
517
518         /* only on X57, primary used as CSI0 control signals */
519         pinctrl_ecspi1: ecspi1grp {
520                 fsl,pins = <MX8MP_IOMUXC_ECSPI1_MISO__ECSPI1_MISO       0x1c0>,
521                            <MX8MP_IOMUXC_ECSPI1_MOSI__ECSPI1_MOSI       0x1c0>,
522                            <MX8MP_IOMUXC_ECSPI1_SCLK__ECSPI1_SCLK       0x1c0>,
523                            <MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09         0x1c0>;
524         };
525
526         /* on X63 and optionally on X57, can also be used as CSI1 control signals */
527         pinctrl_ecspi2: ecspi2grp {
528                 fsl,pins = <MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO       0x1c0>,
529                            <MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI       0x1c0>,
530                            <MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK       0x1c0>,
531                            <MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13         0x1c0>;
532         };
533
534         pinctrl_ecspi3: ecspi3grp {
535                 fsl,pins = <MX8MP_IOMUXC_UART1_TXD__ECSPI3_MOSI         0x1c0>,
536                            <MX8MP_IOMUXC_UART1_RXD__ECSPI3_SCLK         0x1c0>,
537                            <MX8MP_IOMUXC_UART2_RXD__ECSPI3_MISO         0x1c0>,
538                            <MX8MP_IOMUXC_UART2_TXD__GPIO5_IO25          0x1c0>;
539         };
540
541         pinctrl_eqos: eqosgrp {
542                 fsl,pins = <MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC                         0x40000044>,
543                            <MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO                       0x40000044>,
544                            <MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0                   0x90>,
545                            <MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1                   0x90>,
546                            <MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2                   0x90>,
547                            <MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3                   0x90>,
548                            <MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK   0x90>,
549                            <MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL             0x90>,
550                            <MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0                   0x12>,
551                            <MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1                   0x12>,
552                            <MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2                   0x12>,
553                            <MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3                   0x12>,
554                            <MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL             0x12>,
555                            <MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK   0x14>;
556         };
557
558         pinctrl_eqos_event: eqosevtgrp {
559                 fsl,pins = <MX8MP_IOMUXC_SAI2_RXD0__ENET_QOS_1588_EVENT2_OUT            0x100>,
560                            <MX8MP_IOMUXC_SAI2_TXD0__ENET_QOS_1588_EVENT2_IN             0x1c0>;
561         };
562
563         pinctrl_eqos_phy: eqosphygrp {
564                 fsl,pins = <MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02                          0x100>,
565                            <MX8MP_IOMUXC_SAI1_RXD1__GPIO4_IO03                          0x1c0>;
566         };
567
568         pinctrl_fec: fecgrp {
569                 fsl,pins = <MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC           0x40000044>,
570                            <MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO          0x40000044>,
571                            <MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0     0x90>,
572                            <MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1     0x90>,
573                            <MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2     0x90>,
574                            <MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3     0x90>,
575                            <MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC      0x90>,
576                            <MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL  0x90>,
577                            <MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0     0x12>,
578                            <MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1     0x12>,
579                            <MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2     0x12>,
580                            <MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3     0x12>,
581                            <MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL  0x12>,
582                            <MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC     0x14>;
583         };
584
585         pinctrl_fec_event: fecevtgrp {
586                 fsl,pins = <MX8MP_IOMUXC_SAI1_RXFS__ENET1_1588_EVENT0_IN        0x100>,
587                            <MX8MP_IOMUXC_SAI1_RXC__ENET1_1588_EVENT0_OUT        0x1c0>;
588         };
589
590         pinctrl_fec_phy: fecphygrp {
591                 fsl,pins = <MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00          0x100>,
592                            <MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01           0x1c0>;
593         };
594
595         pinctrl_fec_phyalt: fecphyaltgrp {
596                 fsl,pins = <MX8MP_IOMUXC_SAI2_TXFS__GPIO4_IO24          0x180>,
597                            <MX8MP_IOMUXC_SAI2_TXC__GPIO4_IO25           0x180>;
598         };
599
600         pinctrl_gpiobutton: gpiobuttongrp {
601                 fsl,pins = <MX8MP_IOMUXC_UART3_RXD__GPIO5_IO26          0x10>,
602                            <MX8MP_IOMUXC_UART3_TXD__GPIO5_IO27          0x10>;
603         };
604
605         pinctrl_gpioled: gpioledgrp {
606                 fsl,pins = <MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05      0x14>,
607                            <MX8MP_IOMUXC_SPDIF_RX__GPIO5_IO04           0x14>,
608                            <MX8MP_IOMUXC_SPDIF_TX__GPIO5_IO03           0x14>;
609         };
610
611         pinctrl_gpio1: gpio1grp {
612                 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00         0x10>,
613                            <MX8MP_IOMUXC_GPIO1_IO01__GPIO1_IO01         0x10>,
614                            <MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03         0x10>,
615                            <MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06         0x10>,
616                            <MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07         0x80>,
617                            <MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09         0x80>,
618                            <MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14         0x80>,
619                            <MX8MP_IOMUXC_GPIO1_IO15__GPIO1_IO15         0x80>;
620         };
621
622         pinctrl_gpio4: gpio4grp {
623                 fsl,pins = <MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20          0x180>,
624                            <MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22           0x180>;
625         };
626
627         pinctrl_hdmi: hdmigrp {
628                 fsl,pins = <MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL 0x400001c2>,
629                            <MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA 0x400001c2>,
630                            <MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD     0x40000010>,
631                            <MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC     0x40000010>;
632         };
633
634         pinctrl_hoggpio2: hoggpio2grp {
635                 fsl,pins = <MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07          0x140>,
636                            <MX8MP_IOMUXC_SD1_RESET_B__GPIO2_IO10        0x140>,
637                            <MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11         0x140>;
638         };
639
640         pinctrl_i2c2: i2c2grp {
641                 fsl,pins = <MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL             0x400001e2>,
642                            <MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA             0x400001e2>;
643         };
644
645         pinctrl_i2c2_gpio: i2c2-gpiogrp {
646                 fsl,pins = <MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16           0x400001e2>,
647                            <MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17           0x400001e2>;
648         };
649
650         pinctrl_i2c4: i2c4grp {
651                 fsl,pins = <MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL             0x400001e2>,
652                            <MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA             0x400001e2>;
653         };
654
655         pinctrl_i2c4_gpio: i2c4-gpiogrp {
656                 fsl,pins = <MX8MP_IOMUXC_I2C4_SCL__GPIO5_IO20           0x400001e2>,
657                            <MX8MP_IOMUXC_I2C4_SDA__GPIO5_IO21           0x400001e2>;
658         };
659
660         pinctrl_i2c6: i2c6grp {
661                 fsl,pins = <MX8MP_IOMUXC_SD1_DATA0__I2C6_SCL            0x400001e2>,
662                            <MX8MP_IOMUXC_SD1_DATA1__I2C6_SDA            0x400001e2>;
663         };
664
665         pinctrl_i2c6_gpio: i2c6-gpiogrp {
666                 fsl,pins = <MX8MP_IOMUXC_SD1_DATA0__GPIO2_IO02          0x400001e2>,
667                            <MX8MP_IOMUXC_SD1_DATA1__GPIO2_IO03          0x400001e2>;
668         };
669
670         pinctrl_lvdsdisplay: lvdsdisplaygrp {
671                 fsl,pins = <MX8MP_IOMUXC_SAI5_RXC__GPIO3_IO20           0x10>; /* Power enable */
672         };
673
674         pinctrl_pcf85063: pcf85063grp {
675                 fsl,pins = <MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28          0x80>;
676         };
677
678         /* LVDS Backlight */
679         pinctrl_pwm2: pwm2grp {
680                 fsl,pins = <MX8MP_IOMUXC_SAI5_RXD0__PWM2_OUT            0x14>;
681         };
682
683         /* FAN */
684         pinctrl_pwm3: pwm3grp {
685                 fsl,pins = <MX8MP_IOMUXC_I2C3_SDA__PWM3_OUT             0x14>;
686         };
687
688         pinctrl_reg12v0: reg12v0grp {
689                 fsl,pins = <MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06          0x140>; /* VCC12V enable */
690         };
691
692         /* X61 */
693         pinctrl_uart1: uart1grp {
694                 fsl,pins = <MX8MP_IOMUXC_SD1_CLK__UART1_DCE_TX          0x140>,
695                            <MX8MP_IOMUXC_SD1_CMD__UART1_DCE_RX          0x140>;
696         };
697
698         /* X61 */
699         pinctrl_uart2: uart2grp {
700                 fsl,pins = <MX8MP_IOMUXC_SD1_DATA2__UART2_DCE_TX        0x140>,
701                            <MX8MP_IOMUXC_SD1_DATA3__UART2_DCE_RX        0x140>;
702         };
703
704         pinctrl_uart3: uart3grp {
705                 fsl,pins = <MX8MP_IOMUXC_SD1_DATA6__UART3_DCE_TX        0x140>,
706                            <MX8MP_IOMUXC_SD1_DATA7__UART3_DCE_RX        0x140>;
707         };
708
709         pinctrl_uart4: uart4grp {
710                 fsl,pins = <MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX        0x140>,
711                            <MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX        0x140>;
712         };
713
714         pinctrl_usb0: usb0grp {
715                 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC        0x1c0>,
716                            <MX8MP_IOMUXC_GPIO1_IO12__USB1_OTG_PWR       0x1c0>;
717         };
718
719         pinctrl_usbcon0: usb0congrp {
720                 fsl,pins = <MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10         0x1c0>;
721         };
722
723         pinctrl_usdhc2: usdhc2grp {
724                 fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK            0x192>,
725                            <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD            0x1d2>,
726                            <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0        0x1d2>,
727                            <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1        0x1d2>,
728                            <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2        0x1d2>,
729                            <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3        0x1d2>,
730                            <MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT     0xc0>;
731         };
732
733         pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
734                 fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK            0x194>,
735                            <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD            0x1d4>,
736                            <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0        0x1d4>,
737                            <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1        0x1d4>,
738                            <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2        0x1d4>,
739                            <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3        0x1d4>,
740                            <MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT     0xc0>;
741         };
742
743         pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
744                 fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK            0x194>,
745                            <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD            0x1d4>,
746                            <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0        0x1d4>,
747                            <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1        0x1d4>,
748                            <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2        0x1d4>,
749                            <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3        0x1d4>,
750                            <MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT     0xc0>;
751         };
752
753         pinctrl_usdhc2_gpio: usdhc2-gpiogrp {
754                 fsl,pins = <MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12           0x1c0>;
755         };
756 };