123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276 |
- // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
- /*
- * Copyright 2014-2022 Toradex
- * Copyright 2012 Freescale Semiconductor, Inc.
- * Copyright 2011 Linaro Ltd.
- */
- /dts-v1/;
- #include <dt-bindings/gpio/gpio.h>
- #include <dt-bindings/input/input.h>
- #include <dt-bindings/interrupt-controller/irq.h>
- #include "imx6q.dtsi"
- #include "imx6qdl-apalis.dtsi"
- / {
- model = "Toradex Apalis iMX6Q/D Module on Ixora Carrier Board V1.2";
- compatible = "toradex,apalis_imx6q-ixora-v1.2", "toradex,apalis_imx6q",
- "fsl,imx6q";
- aliases {
- i2c0 = &i2c1;
- i2c1 = &i2c3;
- i2c2 = &i2c2;
- rtc0 = &rtc_i2c;
- rtc1 = &snvs_rtc;
- };
- chosen {
- stdout-path = "serial0:115200n8";
- };
- leds {
- compatible = "gpio-leds";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_leds_ixora>;
- led4-green {
- gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
- label = "LED_4_GREEN";
- };
- led4-red {
- gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
- label = "LED_4_RED";
- };
- led5-green {
- gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
- label = "LED_5_GREEN";
- };
- led5-red {
- gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
- label = "LED_5_RED";
- };
- };
- reg_3v3_vmmc: regulator-3v3-vmmc {
- compatible = "regulator-fixed";
- enable-active-high;
- gpio = <&gpio2 0 GPIO_ACTIVE_HIGH>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_enable_3v3_vmmc>;
- regulator-max-microvolt = <3300000>;
- regulator-min-microvolt = <3300000>;
- regulator-name = "3v3_vmmc";
- startup-delay-us = <100>;
- };
- reg_can1_supply: regulator-can1-supply {
- compatible = "regulator-fixed";
- enable-active-high;
- gpio = <&gpio2 3 GPIO_ACTIVE_HIGH>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_enable_can1_power>;
- regulator-name = "can1_supply";
- };
- reg_can2_supply: regulator-can2-supply {
- compatible = "regulator-fixed";
- enable-active-high;
- gpio = <&gpio3 15 GPIO_ACTIVE_HIGH>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_enable_can2_power>;
- regulator-name = "can2_supply";
- };
- };
- &can1 {
- xceiver-supply = <®_can1_supply>;
- status = "okay";
- };
- &can2 {
- xceiver-supply = <®_can2_supply>;
- status = "okay";
- };
- &gpio1 {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_uart24_forceoff>;
- /*
- * uart-2-4-on-x21-enable-hog enables the UART transceiver for Apalis
- * UART2 and UART3. If one wants to disable the transceiver force
- * the GPIO to output-low, if one wants to control the transceiver
- * from user space delete the hog node.
- */
- uart-2-4-on-x21-enable-hog {
- gpio-hog;
- gpios = <11 GPIO_ACTIVE_HIGH>; /* MXM3 180 */
- output-high;
- };
- };
- /* I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */
- &i2c1 {
- status = "okay";
- /* M41T0M6 real time clock on carrier board */
- rtc_i2c: rtc@68 {
- compatible = "st,m41t0";
- reg = <0x68>;
- };
- eeprom: eeprom@50 {
- compatible = "atmel,24c02";
- reg = <0x50>;
- pagesize = <16>;
- };
- };
- /*
- * I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor on carrier
- * board)
- */
- &i2c3 {
- status = "okay";
- };
- &pcie {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_reset_moci>;
- /* active-high meaning opposite of regular PERST# active-low polarity */
- reset-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
- reset-gpio-active-high;
- status = "okay";
- };
- &pwm1 {
- status = "okay";
- };
- &pwm2 {
- status = "okay";
- };
- &pwm3 {
- status = "okay";
- };
- &pwm4 {
- status = "okay";
- };
- ®_usb_host_vbus {
- status = "okay";
- };
- ®_usb_otg_vbus {
- status = "okay";
- };
- &sata {
- status = "okay";
- };
- &sound_spdif {
- status = "okay";
- };
- &spdif {
- status = "okay";
- };
- &uart1 {
- status = "okay";
- };
- &uart2 {
- status = "okay";
- };
- &uart4 {
- status = "okay";
- };
- &uart5 {
- status = "okay";
- };
- &usbh1 {
- vbus-supply = <®_usb_host_vbus>;
- status = "okay";
- };
- &usbotg {
- vbus-supply = <®_usb_otg_vbus>;
- status = "okay";
- };
- /* MMC1 */
- &usdhc1 {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&pinctrl_usdhc1_4bit &pinctrl_mmc_cd>;
- pinctrl-1 = <&pinctrl_usdhc1_4bit_sleep &pinctrl_mmc_cd_sleep>;
- bus-width = <4>;
- cap-power-off-card;
- vmmc-supply = <®_3v3_vmmc>;
- status = "okay";
- };
- &iomuxc {
- pinctrl_enable_3v3_vmmc: enable3v3vmmcgrp {
- fsl,pins = <
- MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0
- >;
- };
- pinctrl_enable_can1_power: enablecan1powergrp {
- fsl,pins = <
- MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x1b0b0
- >;
- };
- pinctrl_enable_can2_power: enablecan2powergrp {
- fsl,pins = <
- MX6QDL_PAD_EIM_DA15__GPIO3_IO15 0x1b0b0
- >;
- };
- pinctrl_uart24_forceoff: uart24forceoffgrp {
- fsl,pins = <
- MX6QDL_PAD_SD2_CMD__GPIO1_IO11 0x1b0b0
- >;
- };
- pinctrl_leds_ixora: ledsixoragrp {
- fsl,pins = <
- MX6QDL_PAD_SD2_DAT1__GPIO1_IO14 0x1b0b0
- MX6QDL_PAD_SD2_DAT3__GPIO1_IO12 0x1b0b0
- MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x1b0b0
- MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b0b0
- >;
- };
- pinctrl_mmc_cd_sleep: mmccdslpgrp {
- fsl,pins = <
- /* MMC1 CD */
- MX6QDL_PAD_DI0_PIN4__GPIO4_IO20 0x0
- >;
- };
- pinctrl_usdhc1_4bit_sleep: usdhc1-4bitslpgrp {
- fsl,pins = <
- MX6QDL_PAD_SD1_CMD__SD1_CMD 0x3000
- MX6QDL_PAD_SD1_CLK__SD1_CLK 0x3000
- MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x3000
- MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x3000
- MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x3000
- MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x3000
- >;
- };
- };
|