// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2022 Toradex
*/
/dts-v1/;
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include "imx6dl.dtsi"
#include "imx6qdl-colibri.dtsi"
/ {
model = "Toradex Colibri iMX6DL/S on Colibri Iris Board";
compatible = "toradex,colibri_imx6dl-iris", "toradex,colibri_imx6dl",
"fsl,imx6dl";
aliases {
i2c0 = &i2c2;
i2c1 = &i2c3;
};
aliases {
rtc0 = &rtc_i2c;
rtc1 = &snvs_rtc;
};
chosen {
stdout-path = "serial0:115200n8";
};
};
/* Colibri SSP */
&ecspi4 {
status = "okay";
};
&gpio2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1_forceoff &pinctrl_uart23_forceoff>;
/*
* uart-a-on-x13-enable turns the UART transceiver for UART_A on. If one
* wants to turn the transceiver off, that property has to be deleted
* and the gpio handled in userspace.
* The same applies to uart-b-c-on-x14-enable where the UART_B and
* UART_C transceiver is turned on.
*/
uart-a-on-x13-enable-hog {
gpio-hog;
gpios = <4 GPIO_ACTIVE_HIGH>; /* SODIMM 102 */
output-high;
};
uart-b-c-on-x14-enable-hog {
gpio-hog;
gpios = <8 GPIO_ACTIVE_HIGH>; /* SODIMM 104 */
output-high;
};
};
/*
* Colibri I2C: I2C3_SDA/SCL on SODIMM 194/196 (e.g. RTC on carrier board)
*/
&i2c3 {
status = "okay";
rtc_i2c: rtc@68 {
compatible = "st,m41t0";
reg = <0x68>;
};
};
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <
&pinctrl_gpio_iris
&pinctrl_usbh_oc_1
&pinctrl_usbc_id_1
>;
pinctrl_gpio_iris: gpioirisgrp {
fsl,pins = <
MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x1b0b0
MX6QDL_PAD_EIM_A18__GPIO2_IO20 0x1b0b0
MX6QDL_PAD_EIM_A19__GPIO2_IO19 0x1b0b0
MX6QDL_PAD_EIM_A20__GPIO2_IO18 0x1b0b0
MX6QDL_PAD_EIM_A23__GPIO6_IO06 0x1b0b0
MX6QDL_PAD_EIM_D27__GPIO3_IO27 0x1b0b0
MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x1b0b0
MX6QDL_PAD_SD2_DAT0__GPIO1_IO15 0x1b0b0
>;
};
pinctrl_uart1_forceoff: uart1forceoffgrp {
fsl,pins = <
MX6QDL_PAD_NANDF_D4__GPIO2_IO04 0x1b0b0
>;
};
pinctrl_uart23_forceoff: uart23forceoffgrp {
fsl,pins = <
MX6QDL_PAD_SD4_DAT0__GPIO2_IO08 0x1b0b0
>;
};
};
&pwm1 {
status = "okay";
};
&pwm2 {
status = "okay";
};
&pwm3 {
status = "okay";
};
&pwm4 {
status = "okay";
};
®_usb_host_vbus {
status = "okay";
};
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};
&uart3 {
status = "okay";
};
&usbh1 {
disable-over-current;
status = "okay";
};
&usbotg {
disable-over-current;
status = "okay";
};
/* Colibri MMC */
&usdhc1 {
status = "okay";
};