0001 // SPDX-License-Identifier: GPL-2.0+ OR MIT
0002 /*
0003 * Copyright 2019 Toradex
0004 */
0005
0006 #include "imx8qxp.dtsi"
0007
0008 / {
0009 model = "Toradex Colibri iMX8QXP/DX Module";
0010 compatible = "toradex,colibri-imx8x", "fsl,imx8qxp";
0011
0012 chosen {
0013 stdout-path = &lpuart3;
0014 };
0015
0016 reg_module_3v3: regulator-module-3v3 {
0017 compatible = "regulator-fixed";
0018 regulator-name = "+V3.3";
0019 regulator-min-microvolt = <3300000>;
0020 regulator-max-microvolt = <3300000>;
0021 };
0022 };
0023
0024 /* On-module I2C */
0025 &i2c0 {
0026 #address-cells = <1>;
0027 #size-cells = <0>;
0028 clock-frequency = <100000>;
0029 pinctrl-names = "default";
0030 pinctrl-0 = <&pinctrl_i2c0>, <&pinctrl_sgtl5000_usb_clk>;
0031 status = "okay";
0032
0033 /* Touch controller */
0034 touchscreen@2c {
0035 compatible = "adi,ad7879-1";
0036 pinctrl-names = "default";
0037 pinctrl-0 = <&pinctrl_ad7879_int>;
0038 reg = <0x2c>;
0039 interrupt-parent = <&lsio_gpio3>;
0040 interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
0041 touchscreen-max-pressure = <4096>;
0042 adi,resistance-plate-x = <120>;
0043 adi,first-conversion-delay = /bits/ 8 <3>;
0044 adi,acquisition-time = /bits/ 8 <1>;
0045 adi,median-filter-size = /bits/ 8 <2>;
0046 adi,averaging = /bits/ 8 <1>;
0047 adi,conversion-interval = /bits/ 8 <255>;
0048 };
0049 };
0050
0051 /* Colibri I2C */
0052 &i2c1 {
0053 #address-cells = <1>;
0054 #size-cells = <0>;
0055 clock-frequency = <100000>;
0056 pinctrl-names = "default";
0057 pinctrl-0 = <&pinctrl_i2c1>;
0058 };
0059
0060 /* Colibri UART_B */
0061 &lpuart0 {
0062 pinctrl-names = "default";
0063 pinctrl-0 = <&pinctrl_lpuart0>;
0064 };
0065
0066 /* Colibri UART_C */
0067 &lpuart2 {
0068 pinctrl-names = "default";
0069 pinctrl-0 = <&pinctrl_lpuart2>;
0070 };
0071
0072 /* Colibri UART_A */
0073 &lpuart3 {
0074 pinctrl-names = "default";
0075 pinctrl-0 = <&pinctrl_lpuart3>, <&pinctrl_lpuart3_ctrl>;
0076 };
0077
0078 /* Colibri FastEthernet */
0079 &fec1 {
0080 pinctrl-names = "default", "sleep";
0081 pinctrl-0 = <&pinctrl_fec1>;
0082 pinctrl-1 = <&pinctrl_fec1_sleep>;
0083 phy-mode = "rmii";
0084 phy-handle = <ðphy0>;
0085 fsl,magic-packet;
0086
0087 mdio {
0088 #address-cells = <1>;
0089 #size-cells = <0>;
0090
0091 ethphy0: ethernet-phy@2 {
0092 compatible = "ethernet-phy-ieee802.3-c22";
0093 max-speed = <100>;
0094 reg = <2>;
0095 };
0096 };
0097 };
0098
0099 /* On-module eMMC */
0100 &usdhc1 {
0101 bus-width = <8>;
0102 non-removable;
0103 no-sd;
0104 no-sdio;
0105 pinctrl-names = "default", "state_100mhz", "state_200mhz";
0106 pinctrl-0 = <&pinctrl_usdhc1>;
0107 pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
0108 pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
0109 status = "okay";
0110 };
0111
0112 /* Colibri SD/MMC Card */
0113 &usdhc2 {
0114 bus-width = <4>;
0115 cd-gpios = <&lsio_gpio3 9 GPIO_ACTIVE_LOW>;
0116 vmmc-supply = <®_module_3v3>;
0117 pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
0118 pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
0119 pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
0120 pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
0121 pinctrl-3 = <&pinctrl_usdhc2_sleep>, <&pinctrl_usdhc2_gpio_sleep>;
0122 disable-wp;
0123 };
0124
0125 &iomuxc {
0126 pinctrl-names = "default";
0127 pinctrl-0 = <&pinctrl_ext_io0>, <&pinctrl_hog0>, <&pinctrl_hog1>;
0128
0129 /* On-module touch pen-down interrupt */
0130 pinctrl_ad7879_int: ad7879intgrp {
0131 fsl,pins = <
0132 IMX8QXP_MIPI_CSI0_I2C0_SCL_LSIO_GPIO3_IO05 0x21
0133 >;
0134 };
0135
0136 /* Colibri Analogue Inputs */
0137 pinctrl_adc0: adc0grp {
0138 fsl,pins = <
0139 IMX8QXP_ADC_IN0_ADMA_ADC_IN0 0x60 /* SODIMM 8 */
0140 IMX8QXP_ADC_IN1_ADMA_ADC_IN1 0x60 /* SODIMM 6 */
0141 IMX8QXP_ADC_IN4_ADMA_ADC_IN4 0x60 /* SODIMM 4 */
0142 IMX8QXP_ADC_IN5_ADMA_ADC_IN5 0x60 /* SODIMM 2 */
0143 >;
0144 };
0145
0146 pinctrl_can_int: canintgrp {
0147 fsl,pins = <
0148 IMX8QXP_QSPI0A_DQS_LSIO_GPIO3_IO13 0x40 /* SODIMM 73 */
0149 >;
0150 };
0151
0152 pinctrl_csi_ctl: csictlgrp {
0153 fsl,pins = <
0154 IMX8QXP_QSPI0A_SS0_B_LSIO_GPIO3_IO14 0x20 /* SODIMM 77 */
0155 IMX8QXP_QSPI0A_SS1_B_LSIO_GPIO3_IO15 0x20 /* SODIMM 89 */
0156 >;
0157 };
0158
0159 pinctrl_ext_io0: extio0grp {
0160 fsl,pins = <
0161 IMX8QXP_ENET0_RGMII_RXD3_LSIO_GPIO5_IO08 0x06000040 /* SODIMM 135 */
0162 >;
0163 };
0164
0165 /* Colibri Ethernet: On-module 100Mbps PHY Micrel KSZ8041 */
0166 pinctrl_fec1: fec1grp {
0167 fsl,pins = <
0168 IMX8QXP_ENET0_MDC_CONN_ENET0_MDC 0x06000020
0169 IMX8QXP_ENET0_MDIO_CONN_ENET0_MDIO 0x06000020
0170 IMX8QXP_ENET0_RGMII_TX_CTL_CONN_ENET0_RGMII_TX_CTL 0x61
0171 IMX8QXP_ENET0_RGMII_TXC_CONN_ENET0_RCLK50M_OUT 0x06000061
0172 IMX8QXP_ENET0_RGMII_TXD0_CONN_ENET0_RGMII_TXD0 0x61
0173 IMX8QXP_ENET0_RGMII_TXD1_CONN_ENET0_RGMII_TXD1 0x61
0174 IMX8QXP_ENET0_RGMII_RX_CTL_CONN_ENET0_RGMII_RX_CTL 0x61
0175 IMX8QXP_ENET0_RGMII_RXD0_CONN_ENET0_RGMII_RXD0 0x61
0176 IMX8QXP_ENET0_RGMII_RXD1_CONN_ENET0_RGMII_RXD1 0x61
0177 IMX8QXP_ENET0_RGMII_RXD2_CONN_ENET0_RMII_RX_ER 0x61
0178 >;
0179 };
0180
0181 pinctrl_fec1_sleep: fec1slpgrp {
0182 fsl,pins = <
0183 IMX8QXP_ENET0_MDC_LSIO_GPIO5_IO11 0x06000041
0184 IMX8QXP_ENET0_MDIO_LSIO_GPIO5_IO10 0x06000041
0185 IMX8QXP_ENET0_RGMII_TX_CTL_LSIO_GPIO4_IO30 0x41
0186 IMX8QXP_ENET0_RGMII_TXC_LSIO_GPIO4_IO29 0x41
0187 IMX8QXP_ENET0_RGMII_TXD0_LSIO_GPIO4_IO31 0x41
0188 IMX8QXP_ENET0_RGMII_TXD1_LSIO_GPIO5_IO00 0x41
0189 IMX8QXP_ENET0_RGMII_RX_CTL_LSIO_GPIO5_IO04 0x41
0190 IMX8QXP_ENET0_RGMII_RXD0_LSIO_GPIO5_IO05 0x41
0191 IMX8QXP_ENET0_RGMII_RXD1_LSIO_GPIO5_IO06 0x41
0192 IMX8QXP_ENET0_RGMII_RXD2_LSIO_GPIO5_IO07 0x41
0193 >;
0194 };
0195
0196 /* Colibri optional CAN on UART_B RTS/CTS */
0197 pinctrl_flexcan1: flexcan0grp {
0198 fsl,pins = <
0199 IMX8QXP_FLEXCAN0_TX_ADMA_FLEXCAN0_TX 0x21 /* SODIMM 32 */
0200 IMX8QXP_FLEXCAN0_RX_ADMA_FLEXCAN0_RX 0x21 /* SODIMM 34 */
0201 >;
0202 };
0203
0204 /* Colibri optional CAN on PS2 */
0205 pinctrl_flexcan2: flexcan1grp {
0206 fsl,pins = <
0207 IMX8QXP_FLEXCAN1_TX_ADMA_FLEXCAN1_TX 0x21 /* SODIMM 55 */
0208 IMX8QXP_FLEXCAN1_RX_ADMA_FLEXCAN1_RX 0x21 /* SODIMM 63 */
0209 >;
0210 };
0211
0212 /* Colibri optional CAN on UART_A TXD/RXD */
0213 pinctrl_flexcan3: flexcan2grp {
0214 fsl,pins = <
0215 IMX8QXP_FLEXCAN2_TX_ADMA_FLEXCAN2_TX 0x21 /* SODIMM 35 */
0216 IMX8QXP_FLEXCAN2_RX_ADMA_FLEXCAN2_RX 0x21 /* SODIMM 33 */
0217 >;
0218 };
0219
0220 /* Colibri LCD Back-Light GPIO */
0221 pinctrl_gpio_bl_on: gpioblongrp {
0222 fsl,pins = <
0223 IMX8QXP_QSPI0A_DATA3_LSIO_GPIO3_IO12 0x60 /* SODIMM 71 */
0224 >;
0225 };
0226
0227 pinctrl_gpiokeys: gpiokeysgrp {
0228 fsl,pins = <
0229 IMX8QXP_QSPI0A_DATA1_LSIO_GPIO3_IO10 0x06700041 /* SODIMM 45 */
0230 >;
0231 };
0232
0233 pinctrl_hog0: hog0grp {
0234 fsl,pins = <
0235 IMX8QXP_ENET0_RGMII_TXD3_LSIO_GPIO5_IO02 0x06000020 /* SODIMM 65 */
0236 IMX8QXP_CSI_D07_CI_PI_D09 0x61 /* SODIMM 65 */
0237 IMX8QXP_QSPI0A_DATA2_LSIO_GPIO3_IO11 0x20 /* SODIMM 69 */
0238 IMX8QXP_SAI0_TXC_LSIO_GPIO0_IO26 0x20 /* SODIMM 79 */
0239 IMX8QXP_CSI_D02_CI_PI_D04 0x61 /* SODIMM 79 */
0240 IMX8QXP_ENET0_RGMII_RXC_LSIO_GPIO5_IO03 0x06000020 /* SODIMM 85 */
0241 IMX8QXP_CSI_D06_CI_PI_D08 0x61 /* SODIMM 85 */
0242 IMX8QXP_QSPI0B_SCLK_LSIO_GPIO3_IO17 0x20 /* SODIMM 95 */
0243 IMX8QXP_SAI0_RXD_LSIO_GPIO0_IO27 0x20 /* SODIMM 97 */
0244 IMX8QXP_CSI_D03_CI_PI_D05 0x61 /* SODIMM 97 */
0245 IMX8QXP_QSPI0B_DATA0_LSIO_GPIO3_IO18 0x20 /* SODIMM 99 */
0246 IMX8QXP_SAI0_TXFS_LSIO_GPIO0_IO28 0x20 /* SODIMM 101 */
0247 IMX8QXP_CSI_D00_CI_PI_D02 0x61 /* SODIMM 101 */
0248 IMX8QXP_SAI0_TXD_LSIO_GPIO0_IO25 0x20 /* SODIMM 103 */
0249 IMX8QXP_CSI_D01_CI_PI_D03 0x61 /* SODIMM 103 */
0250 IMX8QXP_QSPI0B_DATA1_LSIO_GPIO3_IO19 0x20 /* SODIMM 105 */
0251 IMX8QXP_QSPI0B_DATA2_LSIO_GPIO3_IO20 0x20 /* SODIMM 107 */
0252 IMX8QXP_USB_SS3_TC2_LSIO_GPIO4_IO05 0x20 /* SODIMM 127 */
0253 IMX8QXP_USB_SS3_TC3_LSIO_GPIO4_IO06 0x20 /* SODIMM 131 */
0254 IMX8QXP_USB_SS3_TC1_LSIO_GPIO4_IO04 0x20 /* SODIMM 133 */
0255 IMX8QXP_CSI_PCLK_LSIO_GPIO3_IO00 0x20 /* SODIMM 96 */
0256 IMX8QXP_QSPI0B_DATA3_LSIO_GPIO3_IO21 0x20 /* SODIMM 98 */
0257 IMX8QXP_SAI1_RXFS_LSIO_GPIO0_IO31 0x20 /* SODIMM 100 */
0258 IMX8QXP_QSPI0B_DQS_LSIO_GPIO3_IO22 0x20 /* SODIMM 102 */
0259 IMX8QXP_QSPI0B_SS0_B_LSIO_GPIO3_IO23 0x20 /* SODIMM 104 */
0260 IMX8QXP_QSPI0B_SS1_B_LSIO_GPIO3_IO24 0x20 /* SODIMM 106 */
0261 >;
0262 };
0263
0264 pinctrl_hog1: hog1grp {
0265 fsl,pins = <
0266 IMX8QXP_CSI_MCLK_LSIO_GPIO3_IO01 0x20 /* SODIMM 75 */
0267 IMX8QXP_QSPI0A_SCLK_LSIO_GPIO3_IO16 0x20 /* SODIMM 93 */
0268 >;
0269 };
0270
0271 /*
0272 * This pin is used in the SCFW as a UART. Using it from
0273 * Linux would require rewritting the SCFW board file.
0274 */
0275 pinctrl_hog_scfw: hogscfwgrp {
0276 fsl,pins = <
0277 IMX8QXP_SCU_GPIO0_00_LSIO_GPIO2_IO03 0x20 /* SODIMM 144 */
0278 >;
0279 };
0280
0281 /* On Module I2C */
0282 pinctrl_i2c0: i2c0grp {
0283 fsl,pins = <
0284 IMX8QXP_MIPI_CSI0_GPIO0_00_ADMA_I2C0_SCL 0x06000021
0285 IMX8QXP_MIPI_CSI0_GPIO0_01_ADMA_I2C0_SDA 0x06000021
0286 >;
0287 };
0288
0289 /* MIPI DSI I2C accessible on SODIMM (X1) and FFC (X2) */
0290 pinctrl_i2c0_mipi_lvds0: i2c0mipilvds0grp {
0291 fsl,pins = <
0292 IMX8QXP_MIPI_DSI0_I2C0_SCL_MIPI_DSI0_I2C0_SCL 0xc6000020 /* SODIMM 140 */
0293 IMX8QXP_MIPI_DSI0_I2C0_SDA_MIPI_DSI0_I2C0_SDA 0xc6000020 /* SODIMM 142 */
0294 >;
0295 };
0296
0297 /* MIPI CSI I2C accessible on SODIMM (X1) and FFC (X3) */
0298 pinctrl_i2c0_mipi_lvds1: i2c0mipilvds1grp {
0299 fsl,pins = <
0300 IMX8QXP_MIPI_DSI1_I2C0_SCL_MIPI_DSI1_I2C0_SCL 0xc6000020 /* SODIMM 186 */
0301 IMX8QXP_MIPI_DSI1_I2C0_SDA_MIPI_DSI1_I2C0_SDA 0xc6000020 /* SODIMM 188 */
0302 >;
0303 };
0304
0305 /* Colibri I2C */
0306 pinctrl_i2c1: i2c1grp {
0307 fsl,pins = <
0308 IMX8QXP_MIPI_DSI0_GPIO0_00_ADMA_I2C1_SCL 0x06000021 /* SODIMM 196 */
0309 IMX8QXP_MIPI_DSI0_GPIO0_01_ADMA_I2C1_SDA 0x06000021 /* SODIMM 194 */
0310 >;
0311 };
0312
0313 /* Colibri Parallel RGB LCD Interface */
0314 pinctrl_lcdif: lcdifgrp {
0315 fsl,pins = <
0316 IMX8QXP_MCLK_OUT0_ADMA_LCDIF_CLK 0x60 /* SODIMM 56 */
0317 IMX8QXP_SPI3_CS0_ADMA_LCDIF_HSYNC 0x60 /* SODIMM 68 */
0318 IMX8QXP_MCLK_IN0_ADMA_LCDIF_VSYNC 0x60 /* SODIMM 82 */
0319 IMX8QXP_MCLK_IN1_ADMA_LCDIF_EN 0x60 /* SODIMM 44 */
0320 IMX8QXP_USDHC1_RESET_B_LSIO_GPIO4_IO19 0x60 /* SODIMM 44 */
0321 IMX8QXP_ESAI0_FSR_ADMA_LCDIF_D00 0x60 /* SODIMM 76 */
0322 IMX8QXP_USDHC1_WP_LSIO_GPIO4_IO21 0x60 /* SODIMM 76 */
0323 IMX8QXP_ESAI0_FST_ADMA_LCDIF_D01 0x60 /* SODIMM 70 */
0324 IMX8QXP_ESAI0_SCKR_ADMA_LCDIF_D02 0x60 /* SODIMM 60 */
0325 IMX8QXP_ESAI0_SCKT_ADMA_LCDIF_D03 0x60 /* SODIMM 58 */
0326 IMX8QXP_ESAI0_TX0_ADMA_LCDIF_D04 0x60 /* SODIMM 78 */
0327 IMX8QXP_ESAI0_TX1_ADMA_LCDIF_D05 0x60 /* SODIMM 72 */
0328 IMX8QXP_ESAI0_TX2_RX3_ADMA_LCDIF_D06 0x60 /* SODIMM 80 */
0329 IMX8QXP_ESAI0_TX3_RX2_ADMA_LCDIF_D07 0x60 /* SODIMM 46 */
0330 IMX8QXP_ESAI0_TX4_RX1_ADMA_LCDIF_D08 0x60 /* SODIMM 62 */
0331 IMX8QXP_ESAI0_TX5_RX0_ADMA_LCDIF_D09 0x60 /* SODIMM 48 */
0332 IMX8QXP_SPDIF0_RX_ADMA_LCDIF_D10 0x60 /* SODIMM 74 */
0333 IMX8QXP_SPDIF0_TX_ADMA_LCDIF_D11 0x60 /* SODIMM 50 */
0334 IMX8QXP_SPDIF0_EXT_CLK_ADMA_LCDIF_D12 0x60 /* SODIMM 52 */
0335 IMX8QXP_SPI3_SCK_ADMA_LCDIF_D13 0x60 /* SODIMM 54 */
0336 IMX8QXP_SPI3_SDO_ADMA_LCDIF_D14 0x60 /* SODIMM 66 */
0337 IMX8QXP_SPI3_SDI_ADMA_LCDIF_D15 0x60 /* SODIMM 64 */
0338 IMX8QXP_SPI3_CS1_ADMA_LCDIF_D16 0x60 /* SODIMM 57 */
0339 IMX8QXP_ENET0_RGMII_TXD2_LSIO_GPIO5_IO01 0x60 /* SODIMM 57 */
0340 IMX8QXP_UART1_CTS_B_ADMA_LCDIF_D17 0x60 /* SODIMM 61 */
0341 >;
0342 };
0343
0344 /* Colibri SPI */
0345 pinctrl_lpspi2: lpspi2grp {
0346 fsl,pins = <
0347 IMX8QXP_SPI2_CS0_LSIO_GPIO1_IO00 0x21 /* SODIMM 86 */
0348 IMX8QXP_SPI2_SDO_ADMA_SPI2_SDO 0x06000040 /* SODIMM 92 */
0349 IMX8QXP_SPI2_SDI_ADMA_SPI2_SDI 0x06000040 /* SODIMM 90 */
0350 IMX8QXP_SPI2_SCK_ADMA_SPI2_SCK 0x06000040 /* SODIMM 88 */
0351 >;
0352 };
0353
0354 /* Colibri UART_B */
0355 pinctrl_lpuart0: lpuart0grp {
0356 fsl,pins = <
0357 IMX8QXP_UART0_RX_ADMA_UART0_RX 0x06000020 /* SODIMM 36 */
0358 IMX8QXP_UART0_TX_ADMA_UART0_TX 0x06000020 /* SODIMM 38 */
0359 IMX8QXP_FLEXCAN0_RX_ADMA_UART0_RTS_B 0x06000020 /* SODIMM 34 */
0360 IMX8QXP_FLEXCAN0_TX_ADMA_UART0_CTS_B 0x06000020 /* SODIMM 32 */
0361 >;
0362 };
0363
0364 /* Colibri UART_C */
0365 pinctrl_lpuart2: lpuart2grp {
0366 fsl,pins = <
0367 IMX8QXP_UART2_RX_ADMA_UART2_RX 0x06000020 /* SODIMM 19 */
0368 IMX8QXP_UART2_TX_ADMA_UART2_TX 0x06000020 /* SODIMM 21 */
0369 >;
0370 };
0371
0372 /* Colibri UART_A */
0373 pinctrl_lpuart3: lpuart3grp {
0374 fsl,pins = <
0375 IMX8QXP_FLEXCAN2_RX_ADMA_UART3_RX 0x06000020 /* SODIMM 33 */
0376 IMX8QXP_FLEXCAN2_TX_ADMA_UART3_TX 0x06000020 /* SODIMM 35 */
0377 >;
0378 };
0379
0380 /* Colibri UART_A Control */
0381 pinctrl_lpuart3_ctrl: lpuart3ctrlgrp {
0382 fsl,pins = <
0383 IMX8QXP_MIPI_DSI1_GPIO0_01_LSIO_GPIO2_IO00 0x20 /* SODIMM 23 */
0384 IMX8QXP_SAI1_RXD_LSIO_GPIO0_IO29 0x20 /* SODIMM 25 */
0385 IMX8QXP_SAI1_RXC_LSIO_GPIO0_IO30 0x20 /* SODIMM 27 */
0386 IMX8QXP_CSI_RESET_LSIO_GPIO3_IO03 0x20 /* SODIMM 29 */
0387 IMX8QXP_USDHC1_CD_B_LSIO_GPIO4_IO22 0x20 /* SODIMM 31 */
0388 IMX8QXP_CSI_EN_LSIO_GPIO3_IO02 0x20 /* SODIMM 37 */
0389 >;
0390 };
0391
0392 /* On module wifi module */
0393 pinctrl_pcieb: pciebgrp {
0394 fsl,pins = <
0395 IMX8QXP_PCIE_CTRL0_CLKREQ_B_LSIO_GPIO4_IO01 0x04000061 /* SODIMM 178 */
0396 IMX8QXP_PCIE_CTRL0_WAKE_B_LSIO_GPIO4_IO02 0x04000061 /* SODIMM 94 */
0397 IMX8QXP_PCIE_CTRL0_PERST_B_LSIO_GPIO4_IO00 0x60 /* SODIMM 81 */
0398 >;
0399 };
0400
0401 /* Colibri PWM_A */
0402 pinctrl_pwm_a: pwmagrp {
0403 /* both pins are connected together, reserve the unused CSI_D05 */
0404 fsl,pins = <
0405 IMX8QXP_CSI_D05_CI_PI_D07 0x61 /* SODIMM 59 */
0406 IMX8QXP_SPI0_CS1_ADMA_LCD_PWM0_OUT 0x60 /* SODIMM 59 */
0407 >;
0408 };
0409
0410 /* Colibri PWM_B */
0411 pinctrl_pwm_b: pwmbgrp {
0412 fsl,pins = <
0413 IMX8QXP_UART1_TX_LSIO_PWM0_OUT 0x60 /* SODIMM 28 */
0414 >;
0415 };
0416
0417 /* Colibri PWM_C */
0418 pinctrl_pwm_c: pwmcgrp {
0419 fsl,pins = <
0420 IMX8QXP_UART1_RX_LSIO_PWM1_OUT 0x60 /* SODIMM 30 */
0421 >;
0422 };
0423
0424 /* Colibri PWM_D */
0425 pinctrl_pwm_d: pwmdgrp {
0426 /* both pins are connected together, reserve the unused CSI_D04 */
0427 fsl,pins = <
0428 IMX8QXP_CSI_D04_CI_PI_D06 0x61 /* SODIMM 67 */
0429 IMX8QXP_UART1_RTS_B_LSIO_PWM2_OUT 0x60 /* SODIMM 67 */
0430 >;
0431 };
0432
0433 /* On-module I2S */
0434 pinctrl_sai0: sai0grp {
0435 fsl,pins = <
0436 IMX8QXP_SPI0_SDI_ADMA_SAI0_TXD 0x06000040
0437 IMX8QXP_SPI0_CS0_ADMA_SAI0_RXD 0x06000040
0438 IMX8QXP_SPI0_SCK_ADMA_SAI0_TXC 0x06000040
0439 IMX8QXP_SPI0_SDO_ADMA_SAI0_TXFS 0x06000040
0440 >;
0441 };
0442
0443 /* Colibri Audio Analogue Microphone GND */
0444 pinctrl_sgtl5000: sgtl5000grp {
0445 fsl,pins = <
0446 /* MIC GND EN */
0447 IMX8QXP_MIPI_CSI0_I2C0_SDA_LSIO_GPIO3_IO06 0x41
0448 >;
0449 };
0450
0451 /* On-module SGTL5000 clock */
0452 pinctrl_sgtl5000_usb_clk: sgtl5000usbclkgrp {
0453 fsl,pins = <
0454 IMX8QXP_ADC_IN3_ADMA_ACM_MCLK_OUT0 0x21
0455 >;
0456 };
0457
0458 /* On-module USB interrupt */
0459 pinctrl_usb3503a: usb3503agrp {
0460 fsl,pins = <
0461 IMX8QXP_MIPI_CSI0_MCLK_OUT_LSIO_GPIO3_IO04 0x61
0462 >;
0463 };
0464
0465 /* Colibri USB Client Cable Detect */
0466 pinctrl_usbc_det: usbcdetgrp {
0467 fsl,pins = <
0468 IMX8QXP_ENET0_REFCLK_125M_25M_LSIO_GPIO5_IO09 0x06000040 /* SODIMM 137 */
0469 >;
0470 };
0471
0472 /* USB Host Power Enable */
0473 pinctrl_usbh1_reg: usbh1reggrp {
0474 fsl,pins = <
0475 IMX8QXP_USB_SS3_TC0_LSIO_GPIO4_IO03 0x06000040 /* SODIMM 129 */
0476 >;
0477 };
0478
0479 /* On-module eMMC */
0480 pinctrl_usdhc1: usdhc1grp {
0481 fsl,pins = <
0482 IMX8QXP_EMMC0_CLK_CONN_EMMC0_CLK 0x06000041
0483 IMX8QXP_EMMC0_CMD_CONN_EMMC0_CMD 0x21
0484 IMX8QXP_EMMC0_DATA0_CONN_EMMC0_DATA0 0x21
0485 IMX8QXP_EMMC0_DATA1_CONN_EMMC0_DATA1 0x21
0486 IMX8QXP_EMMC0_DATA2_CONN_EMMC0_DATA2 0x21
0487 IMX8QXP_EMMC0_DATA3_CONN_EMMC0_DATA3 0x21
0488 IMX8QXP_EMMC0_DATA4_CONN_EMMC0_DATA4 0x21
0489 IMX8QXP_EMMC0_DATA5_CONN_EMMC0_DATA5 0x21
0490 IMX8QXP_EMMC0_DATA6_CONN_EMMC0_DATA6 0x21
0491 IMX8QXP_EMMC0_DATA7_CONN_EMMC0_DATA7 0x21
0492 IMX8QXP_EMMC0_STROBE_CONN_EMMC0_STROBE 0x41
0493 IMX8QXP_EMMC0_RESET_B_CONN_EMMC0_RESET_B 0x21
0494 >;
0495 };
0496
0497 pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
0498 fsl,pins = <
0499 IMX8QXP_EMMC0_CLK_CONN_EMMC0_CLK 0x06000041
0500 IMX8QXP_EMMC0_CMD_CONN_EMMC0_CMD 0x21
0501 IMX8QXP_EMMC0_DATA0_CONN_EMMC0_DATA0 0x21
0502 IMX8QXP_EMMC0_DATA1_CONN_EMMC0_DATA1 0x21
0503 IMX8QXP_EMMC0_DATA2_CONN_EMMC0_DATA2 0x21
0504 IMX8QXP_EMMC0_DATA3_CONN_EMMC0_DATA3 0x21
0505 IMX8QXP_EMMC0_DATA4_CONN_EMMC0_DATA4 0x21
0506 IMX8QXP_EMMC0_DATA5_CONN_EMMC0_DATA5 0x21
0507 IMX8QXP_EMMC0_DATA6_CONN_EMMC0_DATA6 0x21
0508 IMX8QXP_EMMC0_DATA7_CONN_EMMC0_DATA7 0x21
0509 IMX8QXP_EMMC0_STROBE_CONN_EMMC0_STROBE 0x41
0510 IMX8QXP_EMMC0_RESET_B_CONN_EMMC0_RESET_B 0x21
0511 >;
0512 };
0513
0514 pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
0515 fsl,pins = <
0516 IMX8QXP_EMMC0_CLK_CONN_EMMC0_CLK 0x06000041
0517 IMX8QXP_EMMC0_CMD_CONN_EMMC0_CMD 0x21
0518 IMX8QXP_EMMC0_DATA0_CONN_EMMC0_DATA0 0x21
0519 IMX8QXP_EMMC0_DATA1_CONN_EMMC0_DATA1 0x21
0520 IMX8QXP_EMMC0_DATA2_CONN_EMMC0_DATA2 0x21
0521 IMX8QXP_EMMC0_DATA3_CONN_EMMC0_DATA3 0x21
0522 IMX8QXP_EMMC0_DATA4_CONN_EMMC0_DATA4 0x21
0523 IMX8QXP_EMMC0_DATA5_CONN_EMMC0_DATA5 0x21
0524 IMX8QXP_EMMC0_DATA6_CONN_EMMC0_DATA6 0x21
0525 IMX8QXP_EMMC0_DATA7_CONN_EMMC0_DATA7 0x21
0526 IMX8QXP_EMMC0_STROBE_CONN_EMMC0_STROBE 0x41
0527 IMX8QXP_EMMC0_RESET_B_CONN_EMMC0_RESET_B 0x21
0528 >;
0529 };
0530
0531 /* Colibri SD/MMC Card Detect */
0532 pinctrl_usdhc2_gpio: usdhc2gpiogrp {
0533 fsl,pins = <
0534 IMX8QXP_QSPI0A_DATA0_LSIO_GPIO3_IO09 0x06000021 /* SODIMM 43 */
0535 >;
0536 };
0537
0538 pinctrl_usdhc2_gpio_sleep: usdhc2gpioslpgrp {
0539 fsl,pins = <
0540 IMX8QXP_QSPI0A_DATA0_LSIO_GPIO3_IO09 0x60 /* SODIMM 43 */
0541 >;
0542 };
0543
0544 /* Colibri SD/MMC Card */
0545 pinctrl_usdhc2: usdhc2grp {
0546 fsl,pins = <
0547 IMX8QXP_USDHC1_CLK_CONN_USDHC1_CLK 0x06000041 /* SODIMM 47 */
0548 IMX8QXP_USDHC1_CMD_CONN_USDHC1_CMD 0x21 /* SODIMM 190 */
0549 IMX8QXP_USDHC1_DATA0_CONN_USDHC1_DATA0 0x21 /* SODIMM 192 */
0550 IMX8QXP_USDHC1_DATA1_CONN_USDHC1_DATA1 0x21 /* SODIMM 49 */
0551 IMX8QXP_USDHC1_DATA2_CONN_USDHC1_DATA2 0x21 /* SODIMM 51 */
0552 IMX8QXP_USDHC1_DATA3_CONN_USDHC1_DATA3 0x21 /* SODIMM 53 */
0553 IMX8QXP_USDHC1_VSELECT_CONN_USDHC1_VSELECT 0x21
0554 >;
0555 };
0556
0557 pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
0558 fsl,pins = <
0559 IMX8QXP_USDHC1_CLK_CONN_USDHC1_CLK 0x06000041 /* SODIMM 47 */
0560 IMX8QXP_USDHC1_CMD_CONN_USDHC1_CMD 0x21 /* SODIMM 190 */
0561 IMX8QXP_USDHC1_DATA0_CONN_USDHC1_DATA0 0x21 /* SODIMM 192 */
0562 IMX8QXP_USDHC1_DATA1_CONN_USDHC1_DATA1 0x21 /* SODIMM 49 */
0563 IMX8QXP_USDHC1_DATA2_CONN_USDHC1_DATA2 0x21 /* SODIMM 51 */
0564 IMX8QXP_USDHC1_DATA3_CONN_USDHC1_DATA3 0x21 /* SODIMM 53 */
0565 IMX8QXP_USDHC1_VSELECT_CONN_USDHC1_VSELECT 0x21
0566 >;
0567 };
0568
0569 pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
0570 fsl,pins = <
0571 IMX8QXP_USDHC1_CLK_CONN_USDHC1_CLK 0x06000041 /* SODIMM 47 */
0572 IMX8QXP_USDHC1_CMD_CONN_USDHC1_CMD 0x21 /* SODIMM 190 */
0573 IMX8QXP_USDHC1_DATA0_CONN_USDHC1_DATA0 0x21 /* SODIMM 192 */
0574 IMX8QXP_USDHC1_DATA1_CONN_USDHC1_DATA1 0x21 /* SODIMM 49 */
0575 IMX8QXP_USDHC1_DATA2_CONN_USDHC1_DATA2 0x21 /* SODIMM 51 */
0576 IMX8QXP_USDHC1_DATA3_CONN_USDHC1_DATA3 0x21 /* SODIMM 53 */
0577 IMX8QXP_USDHC1_VSELECT_CONN_USDHC1_VSELECT 0x21
0578 >;
0579 };
0580
0581 pinctrl_usdhc2_sleep: usdhc2slpgrp {
0582 fsl,pins = <
0583 IMX8QXP_USDHC1_CLK_LSIO_GPIO4_IO23 0x60 /* SODIMM 47 */
0584 IMX8QXP_USDHC1_CMD_LSIO_GPIO4_IO24 0x60 /* SODIMM 190 */
0585 IMX8QXP_USDHC1_DATA0_LSIO_GPIO4_IO25 0x60 /* SODIMM 192 */
0586 IMX8QXP_USDHC1_DATA1_LSIO_GPIO4_IO26 0x60 /* SODIMM 49 */
0587 IMX8QXP_USDHC1_DATA2_LSIO_GPIO4_IO27 0x60 /* SODIMM 51 */
0588 IMX8QXP_USDHC1_DATA3_LSIO_GPIO4_IO28 0x60 /* SODIMM 53 */
0589 IMX8QXP_USDHC1_VSELECT_CONN_USDHC1_VSELECT 0x21
0590 >;
0591 };
0592
0593 pinctrl_wifi: wifigrp {
0594 fsl,pins = <
0595 IMX8QXP_SCU_BOOT_MODE3_SCU_DSC_RTC_CLOCK_OUTPUT_32K 0x20
0596 >;
0597 };
0598 };