0001 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
0002 /*
0003 * Copyright 2014-2022 Toradex
0004 * Copyright 2012 Freescale Semiconductor, Inc.
0005 * Copyright 2011 Linaro Ltd.
0006 */
0007
0008 /dts-v1/;
0009
0010 #include <dt-bindings/gpio/gpio.h>
0011 #include <dt-bindings/input/input.h>
0012 #include <dt-bindings/interrupt-controller/irq.h>
0013 #include "imx6q.dtsi"
0014 #include "imx6qdl-apalis.dtsi"
0015
0016 / {
0017 model = "Toradex Apalis iMX6Q/D Module on Ixora Carrier Board V1.2";
0018 compatible = "toradex,apalis_imx6q-ixora-v1.2", "toradex,apalis_imx6q",
0019 "fsl,imx6q";
0020
0021 aliases {
0022 i2c0 = &i2c1;
0023 i2c1 = &i2c3;
0024 i2c2 = &i2c2;
0025 rtc0 = &rtc_i2c;
0026 rtc1 = &snvs_rtc;
0027 };
0028
0029 chosen {
0030 stdout-path = "serial0:115200n8";
0031 };
0032
0033 leds {
0034 compatible = "gpio-leds";
0035
0036 pinctrl-names = "default";
0037 pinctrl-0 = <&pinctrl_leds_ixora>;
0038
0039 led4-green {
0040 gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
0041 label = "LED_4_GREEN";
0042 };
0043
0044 led4-red {
0045 gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
0046 label = "LED_4_RED";
0047 };
0048
0049 led5-green {
0050 gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
0051 label = "LED_5_GREEN";
0052 };
0053
0054 led5-red {
0055 gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
0056 label = "LED_5_RED";
0057 };
0058 };
0059
0060 reg_3v3_vmmc: regulator-3v3-vmmc {
0061 compatible = "regulator-fixed";
0062 enable-active-high;
0063 gpio = <&gpio2 0 GPIO_ACTIVE_HIGH>;
0064 pinctrl-names = "default";
0065 pinctrl-0 = <&pinctrl_enable_3v3_vmmc>;
0066 regulator-max-microvolt = <3300000>;
0067 regulator-min-microvolt = <3300000>;
0068 regulator-name = "3v3_vmmc";
0069 startup-delay-us = <100>;
0070 };
0071
0072 reg_can1_supply: regulator-can1-supply {
0073 compatible = "regulator-fixed";
0074 enable-active-high;
0075 gpio = <&gpio2 3 GPIO_ACTIVE_HIGH>;
0076 pinctrl-names = "default";
0077 pinctrl-0 = <&pinctrl_enable_can1_power>;
0078 regulator-name = "can1_supply";
0079 };
0080
0081 reg_can2_supply: regulator-can2-supply {
0082 compatible = "regulator-fixed";
0083 enable-active-high;
0084 gpio = <&gpio3 15 GPIO_ACTIVE_HIGH>;
0085 pinctrl-names = "default";
0086 pinctrl-0 = <&pinctrl_enable_can2_power>;
0087 regulator-name = "can2_supply";
0088 };
0089 };
0090
0091 &can1 {
0092 xceiver-supply = <®_can1_supply>;
0093 status = "okay";
0094 };
0095
0096 &can2 {
0097 xceiver-supply = <®_can2_supply>;
0098 status = "okay";
0099 };
0100
0101 &gpio1 {
0102 pinctrl-names = "default";
0103 pinctrl-0 = <&pinctrl_uart24_forceoff>;
0104
0105 /*
0106 * uart-2-4-on-x21-enable-hog enables the UART transceiver for Apalis
0107 * UART2 and UART3. If one wants to disable the transceiver force
0108 * the GPIO to output-low, if one wants to control the transceiver
0109 * from user space delete the hog node.
0110 */
0111 uart-2-4-on-x21-enable-hog {
0112 gpio-hog;
0113 gpios = <11 GPIO_ACTIVE_HIGH>; /* MXM3 180 */
0114 output-high;
0115 };
0116 };
0117
0118 /* I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */
0119 &i2c1 {
0120 status = "okay";
0121
0122 /* M41T0M6 real time clock on carrier board */
0123 rtc_i2c: rtc@68 {
0124 compatible = "st,m41t0";
0125 reg = <0x68>;
0126 };
0127
0128 eeprom: eeprom@50 {
0129 compatible = "atmel,24c02";
0130 reg = <0x50>;
0131 pagesize = <16>;
0132 };
0133 };
0134
0135 /*
0136 * I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor on carrier
0137 * board)
0138 */
0139 &i2c3 {
0140 status = "okay";
0141 };
0142
0143 &pcie {
0144 pinctrl-names = "default";
0145 pinctrl-0 = <&pinctrl_reset_moci>;
0146 /* active-high meaning opposite of regular PERST# active-low polarity */
0147 reset-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
0148 reset-gpio-active-high;
0149 status = "okay";
0150 };
0151
0152 &pwm1 {
0153 status = "okay";
0154 };
0155
0156 &pwm2 {
0157 status = "okay";
0158 };
0159
0160 &pwm3 {
0161 status = "okay";
0162 };
0163
0164 &pwm4 {
0165 status = "okay";
0166 };
0167
0168 ®_usb_host_vbus {
0169 status = "okay";
0170 };
0171
0172 ®_usb_otg_vbus {
0173 status = "okay";
0174 };
0175
0176 &sata {
0177 status = "okay";
0178 };
0179
0180 &sound_spdif {
0181 status = "okay";
0182 };
0183
0184 &spdif {
0185 status = "okay";
0186 };
0187
0188 &uart1 {
0189 status = "okay";
0190 };
0191
0192 &uart2 {
0193 status = "okay";
0194 };
0195
0196 &uart4 {
0197 status = "okay";
0198 };
0199
0200 &uart5 {
0201 status = "okay";
0202 };
0203
0204 &usbh1 {
0205 vbus-supply = <®_usb_host_vbus>;
0206 status = "okay";
0207 };
0208
0209 &usbotg {
0210 vbus-supply = <®_usb_otg_vbus>;
0211 status = "okay";
0212 };
0213
0214 /* MMC1 */
0215 &usdhc1 {
0216 pinctrl-names = "default", "sleep";
0217 pinctrl-0 = <&pinctrl_usdhc1_4bit &pinctrl_mmc_cd>;
0218 pinctrl-1 = <&pinctrl_usdhc1_4bit_sleep &pinctrl_mmc_cd_sleep>;
0219 bus-width = <4>;
0220 cap-power-off-card;
0221 vmmc-supply = <®_3v3_vmmc>;
0222 status = "okay";
0223 };
0224
0225 &iomuxc {
0226 pinctrl_enable_3v3_vmmc: enable3v3vmmcgrp {
0227 fsl,pins = <
0228 MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0
0229 >;
0230 };
0231
0232 pinctrl_enable_can1_power: enablecan1powergrp {
0233 fsl,pins = <
0234 MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x1b0b0
0235 >;
0236 };
0237
0238 pinctrl_enable_can2_power: enablecan2powergrp {
0239 fsl,pins = <
0240 MX6QDL_PAD_EIM_DA15__GPIO3_IO15 0x1b0b0
0241 >;
0242 };
0243
0244 pinctrl_uart24_forceoff: uart24forceoffgrp {
0245 fsl,pins = <
0246 MX6QDL_PAD_SD2_CMD__GPIO1_IO11 0x1b0b0
0247 >;
0248 };
0249
0250 pinctrl_leds_ixora: ledsixoragrp {
0251 fsl,pins = <
0252 MX6QDL_PAD_SD2_DAT1__GPIO1_IO14 0x1b0b0
0253 MX6QDL_PAD_SD2_DAT3__GPIO1_IO12 0x1b0b0
0254 MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x1b0b0
0255 MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b0b0
0256 >;
0257 };
0258
0259 pinctrl_mmc_cd_sleep: mmccdslpgrp {
0260 fsl,pins = <
0261 /* MMC1 CD */
0262 MX6QDL_PAD_DI0_PIN4__GPIO4_IO20 0x0
0263 >;
0264 };
0265
0266 pinctrl_usdhc1_4bit_sleep: usdhc1-4bitslpgrp {
0267 fsl,pins = <
0268 MX6QDL_PAD_SD1_CMD__SD1_CMD 0x3000
0269 MX6QDL_PAD_SD1_CLK__SD1_CLK 0x3000
0270 MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x3000
0271 MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x3000
0272 MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x3000
0273 MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x3000
0274 >;
0275 };
0276 };