Linux 6.9-rc1
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / freescale / imx8x-colibri.dtsi
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 /*
3  * Copyright 2019 Toradex
4  */
5
6 / {
7         chosen {
8                 stdout-path = &lpuart3;
9         };
10
11         colibri_gpio_keys: gpio-keys {
12                 compatible = "gpio-keys";
13                 pinctrl-names = "default";
14                 pinctrl-0 = <&pinctrl_gpiokeys>;
15                 status = "disabled";
16
17                 key-wakeup {
18                         debounce-interval = <10>;
19                         gpios = <&lsio_gpio3 10 GPIO_ACTIVE_HIGH>;
20                         label = "Wake-Up";
21                         linux,code = <KEY_WAKEUP>;
22                         wakeup-source;
23                 };
24         };
25
26         reg_module_3v3: regulator-module-3v3 {
27                 compatible = "regulator-fixed";
28                 regulator-name = "+V3.3";
29                 regulator-min-microvolt = <3300000>;
30                 regulator-max-microvolt = <3300000>;
31         };
32 };
33
34 /* TODO Analogue Inputs */
35
36 /* TODO Cooling maps for DX */
37
38 &cpu_alert0 {
39         hysteresis = <2000>;
40         temperature = <90000>;
41         type = "passive";
42 };
43
44 &cpu_crit0 {
45         hysteresis = <2000>;
46         temperature = <105000>;
47         type = "critical";
48 };
49
50 /* TODO flexcan1 - 3 */
51
52 /* TODO GPU */
53
54 /* On-module I2C */
55 &i2c0 {
56         #address-cells = <1>;
57         #size-cells = <0>;
58         clock-frequency = <100000>;
59         pinctrl-names = "default";
60         pinctrl-0 = <&pinctrl_i2c0>, <&pinctrl_sgtl5000_usb_clk>;
61         status = "okay";
62
63         /* Touch controller */
64         touchscreen@2c {
65                 compatible = "adi,ad7879-1";
66                 pinctrl-names = "default";
67                 pinctrl-0 = <&pinctrl_ad7879_int>;
68                 reg = <0x2c>;
69                 interrupt-parent = <&lsio_gpio3>;
70                 interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
71                 touchscreen-max-pressure = <4096>;
72                 adi,resistance-plate-x = <120>;
73                 adi,first-conversion-delay = /bits/ 8 <3>;
74                 adi,acquisition-time = /bits/ 8 <1>;
75                 adi,median-filter-size = /bits/ 8 <2>;
76                 adi,averaging = /bits/ 8 <1>;
77                 adi,conversion-interval = /bits/ 8 <255>;
78                 status = "disabled";
79         };
80 };
81
82 /* TODO i2c lvds0 accessible on FFC (X2) */
83
84 /* TODO i2c lvds1 accessible on FFC (X3) */
85
86 /* Colibri I2C */
87 &i2c1 {
88         #address-cells = <1>;
89         #size-cells = <0>;
90         clock-frequency = <100000>;
91         pinctrl-names = "default";
92         pinctrl-0 = <&pinctrl_i2c1>;
93 };
94
95 &jpegdec {
96         status = "okay";
97 };
98
99 &jpegenc {
100         status = "okay";
101 };
102
103 /* TODO Parallel RRB */
104
105 /* Colibri UART_B */
106 &lpuart0 {
107         pinctrl-names = "default";
108         pinctrl-0 = <&pinctrl_lpuart0>;
109 };
110
111 /* Colibri UART_C */
112 &lpuart2 {
113         pinctrl-names = "default";
114         pinctrl-0 = <&pinctrl_lpuart2>;
115 };
116
117 /* Colibri UART_A */
118 &lpuart3 {
119         pinctrl-names = "default";
120         pinctrl-0 = <&pinctrl_lpuart3>, <&pinctrl_lpuart3_ctrl>;
121 };
122
123 /* Colibri FastEthernet */
124 &fec1 {
125         pinctrl-names = "default", "sleep";
126         pinctrl-0 = <&pinctrl_fec1>;
127         pinctrl-1 = <&pinctrl_fec1_sleep>;
128         phy-mode = "rmii";
129         phy-handle = <&ethphy0>;
130         fsl,magic-packet;
131
132         mdio {
133                 #address-cells = <1>;
134                 #size-cells = <0>;
135
136                 ethphy0: ethernet-phy@2 {
137                         compatible = "ethernet-phy-ieee802.3-c22";
138                         max-speed = <100>;
139                         reg = <2>;
140                 };
141         };
142 };
143
144 /* Colibri SPI */
145 &lpspi2 {
146         pinctrl-names = "default";
147         pinctrl-0 = <&pinctrl_lpspi2>;
148         cs-gpios = <&lsio_gpio1 0 GPIO_ACTIVE_LOW>;
149 };
150
151 &lsio_gpio0 {
152         gpio-line-names = "",
153                           "SODIMM_70",
154                           "SODIMM_60",
155                           "SODIMM_58",
156                           "SODIMM_78",
157                           "SODIMM_72",
158                           "SODIMM_80",
159                           "SODIMM_46",
160                           "SODIMM_62",
161                           "SODIMM_48",
162                           "SODIMM_74",
163                           "SODIMM_50",
164                           "SODIMM_52",
165                           "SODIMM_54",
166                           "SODIMM_66",
167                           "SODIMM_64",
168                           "SODIMM_68",
169                           "",
170                           "",
171                           "SODIMM_82",
172                           "SODIMM_56",
173                           "SODIMM_28",
174                           "SODIMM_30",
175                           "",
176                           "SODIMM_61",
177                           "SODIMM_103",
178                           "",
179                           "",
180                           "",
181                           "SODIMM_25",
182                           "SODIMM_27",
183                           "SODIMM_100";
184 };
185
186 &lsio_gpio1 {
187         gpio-line-names = "SODIMM_86",
188                           "SODIMM_92",
189                           "SODIMM_90",
190                           "SODIMM_88",
191                           "",
192                           "",
193                           "",
194                           "SODIMM_59",
195                           "",
196                           "SODIMM_6",
197                           "SODIMM_8",
198                           "",
199                           "",
200                           "SODIMM_2",
201                           "SODIMM_4",
202                           "SODIMM_34",
203                           "SODIMM_32",
204                           "SODIMM_63",
205                           "SODIMM_55",
206                           "SODIMM_33",
207                           "SODIMM_35",
208                           "SODIMM_36",
209                           "SODIMM_38",
210                           "SODIMM_21",
211                           "SODIMM_19",
212                           "SODIMM_140",
213                           "SODIMM_142",
214                           "SODIMM_196",
215                           "SODIMM_194",
216                           "SODIMM_186",
217                           "SODIMM_188",
218                           "SODIMM_138";
219 };
220
221 &lsio_gpio2 {
222         gpio-line-names = "SODIMM_23",
223                           "",
224                           "",
225                           "SODIMM_144";
226 };
227
228 &lsio_gpio3 {
229         gpio-line-names = "SODIMM_96",
230                           "SODIMM_75",
231                           "SODIMM_37",
232                           "SODIMM_29",
233                           "",
234                           "",
235                           "",
236                           "",
237                           "",
238                           "SODIMM_43",
239                           "SODIMM_45",
240                           "SODIMM_69",
241                           "SODIMM_71",
242                           "SODIMM_73",
243                           "SODIMM_77",
244                           "SODIMM_89",
245                           "SODIMM_93",
246                           "SODIMM_95",
247                           "SODIMM_99",
248                           "SODIMM_105",
249                           "SODIMM_107",
250                           "SODIMM_98",
251                           "SODIMM_102",
252                           "SODIMM_104",
253                           "SODIMM_106";
254 };
255
256 &lsio_gpio4 {
257         gpio-line-names = "",
258                           "",
259                           "",
260                           "SODIMM_129",
261                           "SODIMM_133",
262                           "SODIMM_127",
263                           "SODIMM_131",
264                           "",
265                           "",
266                           "",
267                           "",
268                           "",
269                           "",
270                           "",
271                           "",
272                           "",
273                           "",
274                           "",
275                           "",
276                           "SODIMM_44",
277                           "",
278                           "SODIMM_76",
279                           "SODIMM_31",
280                           "SODIMM_47",
281                           "SODIMM_190",
282                           "SODIMM_192",
283                           "SODIMM_49",
284                           "SODIMM_51",
285                           "SODIMM_53";
286 };
287
288 &lsio_gpio5 {
289         gpio-line-names = "",
290                           "SODIMM_57",
291                           "SODIMM_65",
292                           "SODIMM_85",
293                           "",
294                           "",
295                           "",
296                           "",
297                           "SODIMM_135",
298                           "SODIMM_137",
299                           "UNUSABLE_SODIMM_180",
300                           "UNUSABLE_SODIMM_184";
301 };
302
303 /* Colibri PWM_B */
304 &lsio_pwm0 {
305         #pwm-cells = <3>;
306         pinctrl-0 = <&pinctrl_pwm_b>;
307         pinctrl-names = "default";
308 };
309
310 /* Colibri PWM_C */
311 &lsio_pwm1 {
312         #pwm-cells = <3>;
313         pinctrl-0 = <&pinctrl_pwm_c>;
314         pinctrl-names = "default";
315 };
316
317 /* Colibri PWM_D */
318 &lsio_pwm2 {
319         #pwm-cells = <3>;
320         pinctrl-0 = <&pinctrl_pwm_d>;
321         pinctrl-names = "default";
322 };
323
324 /* TODO MIPI CSI */
325
326 /* TODO MIPI DSI with DSI-to-HDMI bridge lt8912 */
327
328 /* TODO on-module PCIe for Wi-Fi */
329
330 /* TODO On-module i2s / Audio */
331
332 /* On-module eMMC */
333 &usdhc1 {
334         bus-width = <8>;
335         non-removable;
336         no-sd;
337         no-sdio;
338         pinctrl-names = "default", "state_100mhz", "state_200mhz";
339         pinctrl-0 = <&pinctrl_usdhc1>;
340         pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
341         pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
342         status = "okay";
343 };
344
345 /* Colibri SD/MMC Card */
346 &usdhc2 {
347         bus-width = <4>;
348         cd-gpios = <&lsio_gpio3 9 GPIO_ACTIVE_LOW>;
349         vmmc-supply = <&reg_module_3v3>;
350         pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
351         pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
352         pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
353         pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
354         pinctrl-3 = <&pinctrl_usdhc2_sleep>, <&pinctrl_usdhc2_gpio_sleep>;
355         disable-wp;
356         no-1-8-v;
357 };
358
359 /* TODO USB Client/Host */
360
361 /* TODO USB Host */
362
363 /* TODO VPU Encoder/Decoder */
364
365 &iomuxc {
366         /* On-module touch pen-down interrupt */
367         pinctrl_ad7879_int: ad7879intgrp {
368                 fsl,pins = <IMX8QXP_MIPI_CSI0_I2C0_SCL_LSIO_GPIO3_IO05  0x21>;
369         };
370
371         /* Colibri Analogue Inputs */
372         pinctrl_adc0: adc0grp {
373                 fsl,pins = <IMX8QXP_ADC_IN0_ADMA_ADC_IN0                        0x60>,          /* SODIMM   8 */
374                            <IMX8QXP_ADC_IN1_ADMA_ADC_IN1                        0x60>,          /* SODIMM   6 */
375                            <IMX8QXP_ADC_IN4_ADMA_ADC_IN4                        0x60>,          /* SODIMM   4 */
376                            <IMX8QXP_ADC_IN5_ADMA_ADC_IN5                        0x60>;          /* SODIMM   2 */
377         };
378
379         /* Atmel MXT touchsceen + Capacitive Touch Adapter */
380         /* NOTE: This pingroup conflicts with pingroups
381          * pinctrl_pwm_b/pinctrl_pwm_c. Don't enable them
382          * simultaneously.
383          */
384         pinctrl_atmel_adap: atmeladaptergrp {
385                 fsl,pins = <IMX8QXP_UART1_RX_LSIO_GPIO0_IO22                    0x21>,          /* SODIMM  30 */
386                            <IMX8QXP_UART1_TX_LSIO_GPIO0_IO21                    0x4000021>;     /* SODIMM  28 */
387         };
388
389         /* Atmel MXT touchsceen + boards with built-in Capacitive Touch Connector */
390         pinctrl_atmel_conn: atmelconnectorgrp {
391                 fsl,pins = <IMX8QXP_QSPI0B_DATA2_LSIO_GPIO3_IO20                0x4000021>,     /* SODIMM 107 */
392                            <IMX8QXP_QSPI0B_SS1_B_LSIO_GPIO3_IO24                0x21>;          /* SODIMM 106 */
393         };
394
395         pinctrl_can_int: canintgrp {
396                 fsl,pins = <IMX8QXP_QSPI0A_DQS_LSIO_GPIO3_IO13                  0x40>;          /* SODIMM  73 */
397         };
398
399         pinctrl_csi_ctl: csictlgrp {
400                 fsl,pins = <IMX8QXP_QSPI0A_SS0_B_LSIO_GPIO3_IO14                0x20>,          /* SODIMM  77 */
401                            <IMX8QXP_QSPI0A_SS1_B_LSIO_GPIO3_IO15                0x20>;          /* SODIMM  89 */
402         };
403
404         pinctrl_csi_mclk: csimclkgrp {
405                 fsl,pins = <IMX8QXP_CSI_MCLK_CI_PI_MCLK                         0xC0000041>;    /* SODIMM  75 / X3-12 */
406         };
407
408         pinctrl_ext_io0: extio0grp {
409                 fsl,pins = <IMX8QXP_ENET0_RGMII_RXD3_LSIO_GPIO5_IO08            0x06000040>;    /* SODIMM 135 */
410         };
411
412         /* Colibri Ethernet: On-module 100Mbps PHY Micrel KSZ8041 */
413         pinctrl_fec1: fec1grp {
414                 fsl,pins = <IMX8QXP_ENET0_MDC_CONN_ENET0_MDC                    0x06000020>,
415                            <IMX8QXP_ENET0_MDIO_CONN_ENET0_MDIO                  0x06000020>,
416                            <IMX8QXP_ENET0_RGMII_TX_CTL_CONN_ENET0_RGMII_TX_CTL  0x61>,
417                            <IMX8QXP_ENET0_RGMII_TXC_CONN_ENET0_RCLK50M_OUT      0x06000061>,
418                            <IMX8QXP_ENET0_RGMII_TXD0_CONN_ENET0_RGMII_TXD0      0x61>,
419                            <IMX8QXP_ENET0_RGMII_TXD1_CONN_ENET0_RGMII_TXD1      0x61>,
420                            <IMX8QXP_ENET0_RGMII_RX_CTL_CONN_ENET0_RGMII_RX_CTL  0x61>,
421                            <IMX8QXP_ENET0_RGMII_RXD0_CONN_ENET0_RGMII_RXD0      0x61>,
422                            <IMX8QXP_ENET0_RGMII_RXD1_CONN_ENET0_RGMII_RXD1      0x61>,
423                            <IMX8QXP_ENET0_RGMII_RXD2_CONN_ENET0_RMII_RX_ER      0x61>;
424         };
425
426         pinctrl_fec1_sleep: fec1slpgrp {
427                 fsl,pins = <IMX8QXP_ENET0_MDC_LSIO_GPIO5_IO11                   0x06000041>,
428                            <IMX8QXP_ENET0_MDIO_LSIO_GPIO5_IO10                  0x06000041>,
429                            <IMX8QXP_ENET0_RGMII_TX_CTL_LSIO_GPIO4_IO30          0x41>,
430                            <IMX8QXP_ENET0_RGMII_TXC_LSIO_GPIO4_IO29             0x41>,
431                            <IMX8QXP_ENET0_RGMII_TXD0_LSIO_GPIO4_IO31            0x41>,
432                            <IMX8QXP_ENET0_RGMII_TXD1_LSIO_GPIO5_IO00            0x41>,
433                            <IMX8QXP_ENET0_RGMII_RX_CTL_LSIO_GPIO5_IO04          0x41>,
434                            <IMX8QXP_ENET0_RGMII_RXD0_LSIO_GPIO5_IO05            0x41>,
435                            <IMX8QXP_ENET0_RGMII_RXD1_LSIO_GPIO5_IO06            0x41>,
436                            <IMX8QXP_ENET0_RGMII_RXD2_LSIO_GPIO5_IO07            0x41>;
437         };
438
439         /* Colibri optional CAN on UART_B RTS/CTS */
440         pinctrl_flexcan1: flexcan0grp {
441                 fsl,pins = <IMX8QXP_FLEXCAN0_TX_ADMA_FLEXCAN0_TX                0x21>,          /* SODIMM  32 */
442                            <IMX8QXP_FLEXCAN0_RX_ADMA_FLEXCAN0_RX                0x21>;          /* SODIMM  34 */
443         };
444
445         /* Colibri optional CAN on PS2 */
446         pinctrl_flexcan2: flexcan1grp {
447                 fsl,pins = <IMX8QXP_FLEXCAN1_TX_ADMA_FLEXCAN1_TX                0x21>,          /* SODIMM  55 */
448                            <IMX8QXP_FLEXCAN1_RX_ADMA_FLEXCAN1_RX                0x21>;          /* SODIMM  63 */
449         };
450
451         /* Colibri optional CAN on UART_A TXD/RXD */
452         pinctrl_flexcan3: flexcan2grp {
453                 fsl,pins = <IMX8QXP_FLEXCAN2_TX_ADMA_FLEXCAN2_TX                0x21>,          /* SODIMM  35 */
454                            <IMX8QXP_FLEXCAN2_RX_ADMA_FLEXCAN2_RX                0x21>;          /* SODIMM  33 */
455         };
456
457         /* Colibri LCD Back-Light GPIO */
458         pinctrl_gpio_bl_on: gpioblongrp {
459                 fsl,pins = <IMX8QXP_QSPI0A_DATA3_LSIO_GPIO3_IO12                0x60>;          /* SODIMM  71 */
460         };
461
462         /* HDMI Hot Plug Detect on FFC (X2) */
463         pinctrl_gpio_hpd: gpiohpdgrp {
464                 fsl,pins = <IMX8QXP_MIPI_DSI1_GPIO0_00_LSIO_GPIO1_IO31          0x20>;          /* SODIMM 138 */
465         };
466
467         pinctrl_gpiokeys: gpiokeysgrp {
468                 fsl,pins = <IMX8QXP_QSPI0A_DATA1_LSIO_GPIO3_IO10                0x06700041>;    /* SODIMM  45 */
469         };
470
471         pinctrl_hog0: hog0grp {
472                 fsl,pins = <IMX8QXP_CSI_D07_CI_PI_D09                           0x61>,          /* SODIMM  65 */
473                            <IMX8QXP_QSPI0A_DATA2_LSIO_GPIO3_IO11                0x20>,          /* SODIMM  69 */
474                            <IMX8QXP_SAI0_TXC_LSIO_GPIO0_IO26                    0x20>,          /* SODIMM  79 */
475                            <IMX8QXP_CSI_D02_CI_PI_D04                           0x61>,          /* SODIMM  79 */
476                            <IMX8QXP_ENET0_RGMII_RXC_LSIO_GPIO5_IO03             0x06000020>,    /* SODIMM  85 */
477                            <IMX8QXP_CSI_D06_CI_PI_D08                           0x61>,          /* SODIMM  85 */
478                            <IMX8QXP_QSPI0B_SCLK_LSIO_GPIO3_IO17                 0x20>,          /* SODIMM  95 */
479                            <IMX8QXP_SAI0_RXD_LSIO_GPIO0_IO27                    0x20>,          /* SODIMM  97 */
480                            <IMX8QXP_CSI_D03_CI_PI_D05                           0x61>,          /* SODIMM  97 */
481                            <IMX8QXP_QSPI0B_DATA0_LSIO_GPIO3_IO18                0x20>,          /* SODIMM  99 */
482                            <IMX8QXP_SAI0_TXFS_LSIO_GPIO0_IO28                   0x20>,          /* SODIMM 101 */
483                            <IMX8QXP_CSI_D00_CI_PI_D02                           0x61>,          /* SODIMM 101 */
484                            <IMX8QXP_SAI0_TXD_LSIO_GPIO0_IO25                    0x20>,          /* SODIMM 103 */
485                            <IMX8QXP_CSI_D01_CI_PI_D03                           0x61>,          /* SODIMM 103 */
486                            <IMX8QXP_QSPI0B_DATA1_LSIO_GPIO3_IO19                0x20>,          /* SODIMM 105 */
487                            <IMX8QXP_USB_SS3_TC2_LSIO_GPIO4_IO05                 0x20>,          /* SODIMM 127 */
488                            <IMX8QXP_USB_SS3_TC3_LSIO_GPIO4_IO06                 0x20>,          /* SODIMM 131 */
489                            <IMX8QXP_USB_SS3_TC1_LSIO_GPIO4_IO04                 0x20>,          /* SODIMM 133 */
490                            <IMX8QXP_CSI_PCLK_LSIO_GPIO3_IO00                    0x20>,          /* SODIMM  96 */
491                            <IMX8QXP_QSPI0B_DATA3_LSIO_GPIO3_IO21                0x20>,          /* SODIMM  98 */
492                            <IMX8QXP_SAI1_RXFS_LSIO_GPIO0_IO31                   0x20>,          /* SODIMM 100 */
493                            <IMX8QXP_QSPI0B_DQS_LSIO_GPIO3_IO22                  0x20>,          /* SODIMM 102 */
494                            <IMX8QXP_QSPI0B_SS0_B_LSIO_GPIO3_IO23                0x20>;          /* SODIMM 104 */
495         };
496
497         pinctrl_hog1: hog1grp {
498                 fsl,pins = <IMX8QXP_QSPI0A_SCLK_LSIO_GPIO3_IO16                 0x20>;          /* SODIMM  93 */
499         };
500
501         pinctrl_hog2: hog2grp {
502                 fsl,pins = <IMX8QXP_CSI_MCLK_LSIO_GPIO3_IO01                    0x20>;          /* SODIMM  75 */
503         };
504
505         /*
506          * This pin is used in the SCFW as a UART. Using it from
507          * Linux would require rewritting the SCFW board file.
508          */
509         pinctrl_hog_scfw: hogscfwgrp {
510                 fsl,pins = <IMX8QXP_SCU_GPIO0_00_LSIO_GPIO2_IO03                0x20>;          /* SODIMM 144 */
511         };
512
513         /* On Module I2C */
514         pinctrl_i2c0: i2c0grp {
515                 fsl,pins = <IMX8QXP_MIPI_CSI0_GPIO0_00_ADMA_I2C0_SCL            0x06000021>,
516                            <IMX8QXP_MIPI_CSI0_GPIO0_01_ADMA_I2C0_SDA            0x06000021>;
517         };
518
519         /* MIPI DSI I2C accessible on SODIMM (X1) and FFC (X2) */
520         pinctrl_i2c0_mipi_lvds0: i2c0mipilvds0grp {
521                 fsl,pins = <IMX8QXP_MIPI_DSI0_I2C0_SCL_MIPI_DSI0_I2C0_SCL       0xc6000020>,    /* SODIMM 140 */
522                            <IMX8QXP_MIPI_DSI0_I2C0_SDA_MIPI_DSI0_I2C0_SDA       0xc6000020>;    /* SODIMM 142 */
523         };
524
525         /* MIPI CSI I2C accessible on SODIMM (X1) and FFC (X3) */
526         pinctrl_i2c0_mipi_lvds1: i2c0mipilvds1grp {
527                 fsl,pins = <IMX8QXP_MIPI_DSI1_I2C0_SCL_MIPI_DSI1_I2C0_SCL       0xc6000020>,    /* SODIMM 186 */
528                            <IMX8QXP_MIPI_DSI1_I2C0_SDA_MIPI_DSI1_I2C0_SDA       0xc6000020>;    /* SODIMM 188 */
529         };
530
531         /* Colibri I2C */
532         pinctrl_i2c1: i2c1grp {
533                 fsl,pins = <IMX8QXP_MIPI_DSI0_GPIO0_00_ADMA_I2C1_SCL            0x06000021>,    /* SODIMM 196 */
534                            <IMX8QXP_MIPI_DSI0_GPIO0_01_ADMA_I2C1_SDA            0x06000021>;    /* SODIMM 194 */
535         };
536
537         /* Colibri Parallel RGB LCD Interface */
538         pinctrl_lcdif: lcdifgrp {
539                 fsl,pins = <IMX8QXP_MCLK_OUT0_ADMA_LCDIF_CLK                    0x60>,          /* SODIMM  56 */
540                            <IMX8QXP_SPI3_CS0_ADMA_LCDIF_HSYNC                   0x60>,          /* SODIMM  68 */
541                            <IMX8QXP_MCLK_IN0_ADMA_LCDIF_VSYNC                   0x60>,          /* SODIMM  82 */
542                            <IMX8QXP_MCLK_IN1_ADMA_LCDIF_EN                      0x40>,          /* SODIMM  44 */
543                            <IMX8QXP_USDHC1_RESET_B_LSIO_GPIO4_IO19              0x40>,          /* SODIMM  44 */
544                            <IMX8QXP_ESAI0_FSR_ADMA_LCDIF_D00                    0x60>,          /* SODIMM  76 */
545                            <IMX8QXP_USDHC1_WP_LSIO_GPIO4_IO21                   0x60>,          /* SODIMM  76 */
546                            <IMX8QXP_ESAI0_FST_ADMA_LCDIF_D01                    0x60>,          /* SODIMM  70 */
547                            <IMX8QXP_ESAI0_SCKR_ADMA_LCDIF_D02                   0x60>,          /* SODIMM  60 */
548                            <IMX8QXP_ESAI0_SCKT_ADMA_LCDIF_D03                   0x60>,          /* SODIMM  58 */
549                            <IMX8QXP_ESAI0_TX0_ADMA_LCDIF_D04                    0x60>,          /* SODIMM  78 */
550                            <IMX8QXP_ESAI0_TX1_ADMA_LCDIF_D05                    0x60>,          /* SODIMM  72 */
551                            <IMX8QXP_ESAI0_TX2_RX3_ADMA_LCDIF_D06                0x60>,          /* SODIMM  80 */
552                            <IMX8QXP_ESAI0_TX3_RX2_ADMA_LCDIF_D07                0x60>,          /* SODIMM  46 */
553                            <IMX8QXP_ESAI0_TX4_RX1_ADMA_LCDIF_D08                0x60>,          /* SODIMM  62 */
554                            <IMX8QXP_ESAI0_TX5_RX0_ADMA_LCDIF_D09                0x60>,          /* SODIMM  48 */
555                            <IMX8QXP_SPDIF0_RX_ADMA_LCDIF_D10                    0x60>,          /* SODIMM  74 */
556                            <IMX8QXP_SPDIF0_TX_ADMA_LCDIF_D11                    0x60>,          /* SODIMM  50 */
557                            <IMX8QXP_SPDIF0_EXT_CLK_ADMA_LCDIF_D12               0x60>,          /* SODIMM  52 */
558                            <IMX8QXP_SPI3_SCK_ADMA_LCDIF_D13                     0x60>,          /* SODIMM  54 */
559                            <IMX8QXP_SPI3_SDO_ADMA_LCDIF_D14                     0x60>,          /* SODIMM  66 */
560                            <IMX8QXP_SPI3_SDI_ADMA_LCDIF_D15                     0x60>,          /* SODIMM  64 */
561                            <IMX8QXP_SPI3_CS1_ADMA_LCDIF_D16                     0x60>,          /* SODIMM  57 */
562                            <IMX8QXP_ENET0_RGMII_TXD2_LSIO_GPIO5_IO01            0x60>,          /* SODIMM  57 */
563                            <IMX8QXP_UART1_CTS_B_ADMA_LCDIF_D17                  0x60>;          /* SODIMM  61 */
564         };
565
566         /* Colibri SPI */
567         pinctrl_lpspi2: lpspi2grp {
568                 fsl,pins = <IMX8QXP_SPI2_CS0_LSIO_GPIO1_IO00                    0x21>,          /* SODIMM  86 */
569                            <IMX8QXP_SPI2_SDO_ADMA_SPI2_SDO                      0x06000040>,    /* SODIMM  92 */
570                            <IMX8QXP_SPI2_SDI_ADMA_SPI2_SDI                      0x06000040>,    /* SODIMM  90 */
571                            <IMX8QXP_SPI2_SCK_ADMA_SPI2_SCK                      0x06000040>;    /* SODIMM  88 */
572         };
573
574         pinctrl_lpspi2_cs2: lpspi2cs2grp {
575                 fsl,pins = <IMX8QXP_ENET0_RGMII_TXD3_LSIO_GPIO5_IO02            0x21>;          /* SODIMM  65 */
576         };
577
578         /* Colibri UART_B */
579         pinctrl_lpuart0: lpuart0grp {
580                 fsl,pins = <IMX8QXP_UART0_RX_ADMA_UART0_RX                      0x06000020>,    /* SODIMM  36 */
581                            <IMX8QXP_UART0_TX_ADMA_UART0_TX                      0x06000020>,    /* SODIMM  38 */
582                            <IMX8QXP_FLEXCAN0_RX_ADMA_UART0_RTS_B                0x06000020>,    /* SODIMM  34 */
583                            <IMX8QXP_FLEXCAN0_TX_ADMA_UART0_CTS_B                0x06000020>;    /* SODIMM  32 */
584         };
585
586         /* Colibri UART_C */
587         pinctrl_lpuart2: lpuart2grp {
588                 fsl,pins = <IMX8QXP_UART2_RX_ADMA_UART2_RX                      0x06000020>,    /* SODIMM  19 */
589                            <IMX8QXP_UART2_TX_ADMA_UART2_TX                      0x06000020>;    /* SODIMM  21 */
590         };
591
592         /* Colibri UART_A */
593         pinctrl_lpuart3: lpuart3grp {
594                 fsl,pins = <IMX8QXP_FLEXCAN2_RX_ADMA_UART3_RX                   0x06000020>,    /* SODIMM  33 */
595                            <IMX8QXP_FLEXCAN2_TX_ADMA_UART3_TX                   0x06000020>;    /* SODIMM  35 */
596         };
597
598         /* Colibri UART_A Control */
599         pinctrl_lpuart3_ctrl: lpuart3ctrlgrp {
600                 fsl,pins = <IMX8QXP_MIPI_DSI1_GPIO0_01_LSIO_GPIO2_IO00          0x20>,          /* SODIMM  23 */
601                            <IMX8QXP_SAI1_RXD_LSIO_GPIO0_IO29                    0x20>,          /* SODIMM  25 */
602                            <IMX8QXP_SAI1_RXC_LSIO_GPIO0_IO30                    0x20>,          /* SODIMM  27 */
603                            <IMX8QXP_CSI_RESET_LSIO_GPIO3_IO03                   0x20>,          /* SODIMM  29 */
604                            <IMX8QXP_USDHC1_CD_B_LSIO_GPIO4_IO22                 0x20>,          /* SODIMM  31 */
605                            <IMX8QXP_CSI_EN_LSIO_GPIO3_IO02                      0x20>;          /* SODIMM  37 */
606         };
607
608         /* On module wifi module */
609         pinctrl_pcieb: pciebgrp {
610                 fsl,pins = <IMX8QXP_PCIE_CTRL0_CLKREQ_B_LSIO_GPIO4_IO01         0x04000061>,    /* SODIMM 178 */
611                            <IMX8QXP_PCIE_CTRL0_WAKE_B_LSIO_GPIO4_IO02           0x04000061>,    /* SODIMM  94 */
612                            <IMX8QXP_PCIE_CTRL0_PERST_B_LSIO_GPIO4_IO00          0x60>;          /* SODIMM  81 */
613         };
614
615         /* Colibri PWM_A */
616         pinctrl_pwm_a: pwmagrp {
617         /* both pins are connected together, reserve the unused CSI_D05 */
618                 fsl,pins = <IMX8QXP_CSI_D05_CI_PI_D07                           0x61>,          /* SODIMM  59 */
619                            <IMX8QXP_SPI0_CS1_ADMA_LCD_PWM0_OUT                  0x60>;          /* SODIMM  59 */
620         };
621
622         /* Colibri PWM_B */
623         pinctrl_pwm_b: pwmbgrp {
624                 fsl,pins = <IMX8QXP_UART1_TX_LSIO_PWM0_OUT                      0x60>;          /* SODIMM  28 */
625         };
626
627         /* Colibri PWM_C */
628         pinctrl_pwm_c: pwmcgrp {
629                 fsl,pins = <IMX8QXP_UART1_RX_LSIO_PWM1_OUT                      0x60>;          /* SODIMM  30 */
630         };
631
632         /* Colibri PWM_D */
633         pinctrl_pwm_d: pwmdgrp {
634         /* both pins are connected together, reserve the unused CSI_D04 */
635                 fsl,pins = <IMX8QXP_CSI_D04_CI_PI_D06                           0x61>,          /* SODIMM  67 */
636                            <IMX8QXP_UART1_RTS_B_LSIO_PWM2_OUT                   0x60>;          /* SODIMM  67 */
637         };
638
639         /* On-module I2S */
640         pinctrl_sai0: sai0grp {
641                 fsl,pins = <IMX8QXP_SPI0_SDI_ADMA_SAI0_TXD                      0x06000040>,
642                            <IMX8QXP_SPI0_CS0_ADMA_SAI0_RXD                      0x06000040>,
643                            <IMX8QXP_SPI0_SCK_ADMA_SAI0_TXC                      0x06000040>,
644                            <IMX8QXP_SPI0_SDO_ADMA_SAI0_TXFS                     0x06000040>;
645         };
646
647         /* Colibri Audio Analogue Microphone GND */
648         pinctrl_sgtl5000: sgtl5000grp {
649                 fsl,pins = <IMX8QXP_MIPI_CSI0_I2C0_SDA_LSIO_GPIO3_IO06          0x41>;
650         };
651
652         /* On-module SGTL5000 clock */
653         pinctrl_sgtl5000_usb_clk: sgtl5000usbclkgrp {
654                 fsl,pins = <IMX8QXP_ADC_IN3_ADMA_ACM_MCLK_OUT0                  0x21>;
655         };
656
657         /* On-module USB interrupt */
658         pinctrl_usb3503a: usb3503agrp {
659                 fsl,pins = <IMX8QXP_MIPI_CSI0_MCLK_OUT_LSIO_GPIO3_IO04          0x61>;
660         };
661
662         /* Colibri USB Client Cable Detect */
663         pinctrl_usbc_det: usbcdetgrp {
664                 fsl,pins = <IMX8QXP_ENET0_REFCLK_125M_25M_LSIO_GPIO5_IO09       0x06000040>;    /* SODIMM 137 */
665         };
666
667         /* USB Host Power Enable */
668         pinctrl_usbh1_reg: usbh1reggrp {
669                 fsl,pins = <IMX8QXP_USB_SS3_TC0_LSIO_GPIO4_IO03                 0x06000040>;    /* SODIMM 129 */
670         };
671
672         /* On-module eMMC */
673         pinctrl_usdhc1: usdhc1grp {
674                 fsl,pins = <IMX8QXP_EMMC0_CLK_CONN_EMMC0_CLK                    0x06000041>,
675                            <IMX8QXP_EMMC0_CMD_CONN_EMMC0_CMD                    0x21>,
676                            <IMX8QXP_EMMC0_DATA0_CONN_EMMC0_DATA0                0x21>,
677                            <IMX8QXP_EMMC0_DATA1_CONN_EMMC0_DATA1                0x21>,
678                            <IMX8QXP_EMMC0_DATA2_CONN_EMMC0_DATA2                0x21>,
679                            <IMX8QXP_EMMC0_DATA3_CONN_EMMC0_DATA3                0x21>,
680                            <IMX8QXP_EMMC0_DATA4_CONN_EMMC0_DATA4                0x21>,
681                            <IMX8QXP_EMMC0_DATA5_CONN_EMMC0_DATA5                0x21>,
682                            <IMX8QXP_EMMC0_DATA6_CONN_EMMC0_DATA6                0x21>,
683                            <IMX8QXP_EMMC0_DATA7_CONN_EMMC0_DATA7                0x21>,
684                            <IMX8QXP_EMMC0_STROBE_CONN_EMMC0_STROBE              0x41>,
685                            <IMX8QXP_EMMC0_RESET_B_CONN_EMMC0_RESET_B            0x21>;
686         };
687
688         pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
689                 fsl,pins = <IMX8QXP_EMMC0_CLK_CONN_EMMC0_CLK                    0x06000041>,
690                            <IMX8QXP_EMMC0_CMD_CONN_EMMC0_CMD                    0x21>,
691                            <IMX8QXP_EMMC0_DATA0_CONN_EMMC0_DATA0                0x21>,
692                            <IMX8QXP_EMMC0_DATA1_CONN_EMMC0_DATA1                0x21>,
693                            <IMX8QXP_EMMC0_DATA2_CONN_EMMC0_DATA2                0x21>,
694                            <IMX8QXP_EMMC0_DATA3_CONN_EMMC0_DATA3                0x21>,
695                            <IMX8QXP_EMMC0_DATA4_CONN_EMMC0_DATA4                0x21>,
696                            <IMX8QXP_EMMC0_DATA5_CONN_EMMC0_DATA5                0x21>,
697                            <IMX8QXP_EMMC0_DATA6_CONN_EMMC0_DATA6                0x21>,
698                            <IMX8QXP_EMMC0_DATA7_CONN_EMMC0_DATA7                0x21>,
699                            <IMX8QXP_EMMC0_STROBE_CONN_EMMC0_STROBE              0x41>,
700                            <IMX8QXP_EMMC0_RESET_B_CONN_EMMC0_RESET_B            0x21>;
701         };
702
703         pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
704                 fsl,pins = <IMX8QXP_EMMC0_CLK_CONN_EMMC0_CLK                    0x06000041>,
705                            <IMX8QXP_EMMC0_CMD_CONN_EMMC0_CMD                    0x21>,
706                            <IMX8QXP_EMMC0_DATA0_CONN_EMMC0_DATA0                0x21>,
707                            <IMX8QXP_EMMC0_DATA1_CONN_EMMC0_DATA1                0x21>,
708                            <IMX8QXP_EMMC0_DATA2_CONN_EMMC0_DATA2                0x21>,
709                            <IMX8QXP_EMMC0_DATA3_CONN_EMMC0_DATA3                0x21>,
710                            <IMX8QXP_EMMC0_DATA4_CONN_EMMC0_DATA4                0x21>,
711                            <IMX8QXP_EMMC0_DATA5_CONN_EMMC0_DATA5                0x21>,
712                            <IMX8QXP_EMMC0_DATA6_CONN_EMMC0_DATA6                0x21>,
713                            <IMX8QXP_EMMC0_DATA7_CONN_EMMC0_DATA7                0x21>,
714                            <IMX8QXP_EMMC0_STROBE_CONN_EMMC0_STROBE              0x41>,
715                            <IMX8QXP_EMMC0_RESET_B_CONN_EMMC0_RESET_B            0x21>;
716         };
717
718         /* Colibri SD/MMC Card Detect */
719         pinctrl_usdhc2_gpio: usdhc2gpiogrp {
720                 fsl,pins = <IMX8QXP_QSPI0A_DATA0_LSIO_GPIO3_IO09                0x06000021>;    /* SODIMM  43 */
721         };
722
723         pinctrl_usdhc2_gpio_sleep: usdhc2gpioslpgrp {
724                 fsl,pins = <IMX8QXP_QSPI0A_DATA0_LSIO_GPIO3_IO09                0x60>;          /* SODIMM  43 */
725         };
726
727         /* Colibri SD/MMC Card */
728         pinctrl_usdhc2: usdhc2grp {
729                 fsl,pins = <IMX8QXP_USDHC1_CLK_CONN_USDHC1_CLK                  0x06000041>,    /* SODIMM  47 */
730                            <IMX8QXP_USDHC1_CMD_CONN_USDHC1_CMD                  0x21>,          /* SODIMM 190 */
731                            <IMX8QXP_USDHC1_DATA0_CONN_USDHC1_DATA0              0x21>,          /* SODIMM 192 */
732                            <IMX8QXP_USDHC1_DATA1_CONN_USDHC1_DATA1              0x21>,          /* SODIMM  49 */
733                            <IMX8QXP_USDHC1_DATA2_CONN_USDHC1_DATA2              0x21>,          /* SODIMM  51 */
734                            <IMX8QXP_USDHC1_DATA3_CONN_USDHC1_DATA3              0x21>,          /* SODIMM  53 */
735                            <IMX8QXP_USDHC1_VSELECT_CONN_USDHC1_VSELECT          0x21>;
736         };
737
738         pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
739                 fsl,pins = <IMX8QXP_USDHC1_CLK_CONN_USDHC1_CLK                  0x06000041>,    /* SODIMM  47 */
740                            <IMX8QXP_USDHC1_CMD_CONN_USDHC1_CMD                  0x21>,          /* SODIMM 190 */
741                            <IMX8QXP_USDHC1_DATA0_CONN_USDHC1_DATA0              0x21>,          /* SODIMM 192 */
742                            <IMX8QXP_USDHC1_DATA1_CONN_USDHC1_DATA1              0x21>,          /* SODIMM  49 */
743                            <IMX8QXP_USDHC1_DATA2_CONN_USDHC1_DATA2              0x21>,          /* SODIMM  51 */
744                            <IMX8QXP_USDHC1_DATA3_CONN_USDHC1_DATA3              0x21>,          /* SODIMM  53 */
745                            <IMX8QXP_USDHC1_VSELECT_CONN_USDHC1_VSELECT          0x21>;
746         };
747
748         pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
749                 fsl,pins = <IMX8QXP_USDHC1_CLK_CONN_USDHC1_CLK                  0x06000041>,    /* SODIMM  47 */
750                            <IMX8QXP_USDHC1_CMD_CONN_USDHC1_CMD                  0x21>,          /* SODIMM 190 */
751                            <IMX8QXP_USDHC1_DATA0_CONN_USDHC1_DATA0              0x21>,          /* SODIMM 192 */
752                            <IMX8QXP_USDHC1_DATA1_CONN_USDHC1_DATA1              0x21>,          /* SODIMM  49 */
753                            <IMX8QXP_USDHC1_DATA2_CONN_USDHC1_DATA2              0x21>,          /* SODIMM  51 */
754                            <IMX8QXP_USDHC1_DATA3_CONN_USDHC1_DATA3              0x21>,          /* SODIMM  53 */
755                            <IMX8QXP_USDHC1_VSELECT_CONN_USDHC1_VSELECT          0x21>;
756         };
757
758         pinctrl_usdhc2_sleep: usdhc2slpgrp {
759                 fsl,pins = <IMX8QXP_USDHC1_CLK_LSIO_GPIO4_IO23                  0x60>,          /* SODIMM  47 */
760                            <IMX8QXP_USDHC1_CMD_LSIO_GPIO4_IO24                  0x60>,          /* SODIMM 190 */
761                            <IMX8QXP_USDHC1_DATA0_LSIO_GPIO4_IO25                0x60>,          /* SODIMM 192 */
762                            <IMX8QXP_USDHC1_DATA1_LSIO_GPIO4_IO26                0x60>,          /* SODIMM  49 */
763                            <IMX8QXP_USDHC1_DATA2_LSIO_GPIO4_IO27                0x60>,          /* SODIMM  51 */
764                            <IMX8QXP_USDHC1_DATA3_LSIO_GPIO4_IO28                0x60>,          /* SODIMM  53 */
765                            <IMX8QXP_USDHC1_VSELECT_CONN_USDHC1_VSELECT          0x21>;
766         };
767
768         pinctrl_wifi: wifigrp {
769                 fsl,pins = <IMX8QXP_SCU_BOOT_MODE3_SCU_DSC_RTC_CLOCK_OUTPUT_32K 0x20>;
770         };
771 };
772
773 /* Delete peripherals which are not present on SOC, but are defined in imx8-ss-*.dtsi */
774
775 /delete-node/ &adc1;
776 /delete-node/ &adc1_lpcg;
777 /delete-node/ &dsp;
778 /delete-node/ &dsp_lpcg;