Back to home page

OSCL-LXR

 
 

    


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 = <&reg_can1_supply>;
0093         status = "okay";
0094 };
0095 
0096 &can2 {
0097         xceiver-supply = <&reg_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 &reg_usb_host_vbus {
0169         status = "okay";
0170 };
0171 
0172 &reg_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 = <&reg_usb_host_vbus>;
0206         status = "okay";
0207 };
0208 
0209 &usbotg {
0210         vbus-supply = <&reg_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 = <&reg_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 };