0001 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
0002 /*
0003 * Copyright 2022 Toradex
0004 */
0005
0006 /dts-v1/;
0007
0008 #include <dt-bindings/input/input.h>
0009 #include <dt-bindings/interrupt-controller/irq.h>
0010 #include "imx6dl.dtsi"
0011 #include "imx6qdl-colibri.dtsi"
0012
0013 / {
0014 model = "Toradex Colibri iMX6DL/S on Colibri Iris Board";
0015 compatible = "toradex,colibri_imx6dl-iris", "toradex,colibri_imx6dl",
0016 "fsl,imx6dl";
0017
0018 aliases {
0019 i2c0 = &i2c2;
0020 i2c1 = &i2c3;
0021 };
0022
0023 aliases {
0024 rtc0 = &rtc_i2c;
0025 rtc1 = &snvs_rtc;
0026 };
0027
0028 chosen {
0029 stdout-path = "serial0:115200n8";
0030 };
0031 };
0032
0033 /* Colibri SSP */
0034 &ecspi4 {
0035 status = "okay";
0036 };
0037
0038 &gpio2 {
0039 pinctrl-names = "default";
0040 pinctrl-0 = <&pinctrl_uart1_forceoff &pinctrl_uart23_forceoff>;
0041
0042 /*
0043 * uart-a-on-x13-enable turns the UART transceiver for UART_A on. If one
0044 * wants to turn the transceiver off, that property has to be deleted
0045 * and the gpio handled in userspace.
0046 * The same applies to uart-b-c-on-x14-enable where the UART_B and
0047 * UART_C transceiver is turned on.
0048 */
0049 uart-a-on-x13-enable-hog {
0050 gpio-hog;
0051 gpios = <4 GPIO_ACTIVE_HIGH>; /* SODIMM 102 */
0052 output-high;
0053 };
0054
0055 uart-b-c-on-x14-enable-hog {
0056 gpio-hog;
0057 gpios = <8 GPIO_ACTIVE_HIGH>; /* SODIMM 104 */
0058 output-high;
0059 };
0060 };
0061
0062 /*
0063 * Colibri I2C: I2C3_SDA/SCL on SODIMM 194/196 (e.g. RTC on carrier board)
0064 */
0065 &i2c3 {
0066 status = "okay";
0067
0068 rtc_i2c: rtc@68 {
0069 compatible = "st,m41t0";
0070 reg = <0x68>;
0071 };
0072 };
0073
0074 &iomuxc {
0075 pinctrl-names = "default";
0076 pinctrl-0 = <
0077 &pinctrl_gpio_iris
0078 &pinctrl_usbh_oc_1
0079 &pinctrl_usbc_id_1
0080 >;
0081
0082 pinctrl_gpio_iris: gpioirisgrp {
0083 fsl,pins = <
0084 MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x1b0b0
0085 MX6QDL_PAD_EIM_A18__GPIO2_IO20 0x1b0b0
0086 MX6QDL_PAD_EIM_A19__GPIO2_IO19 0x1b0b0
0087 MX6QDL_PAD_EIM_A20__GPIO2_IO18 0x1b0b0
0088 MX6QDL_PAD_EIM_A23__GPIO6_IO06 0x1b0b0
0089 MX6QDL_PAD_EIM_D27__GPIO3_IO27 0x1b0b0
0090 MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x1b0b0
0091 MX6QDL_PAD_SD2_DAT0__GPIO1_IO15 0x1b0b0
0092 >;
0093 };
0094
0095 pinctrl_uart1_forceoff: uart1forceoffgrp {
0096 fsl,pins = <
0097 MX6QDL_PAD_NANDF_D4__GPIO2_IO04 0x1b0b0
0098 >;
0099 };
0100
0101 pinctrl_uart23_forceoff: uart23forceoffgrp {
0102 fsl,pins = <
0103 MX6QDL_PAD_SD4_DAT0__GPIO2_IO08 0x1b0b0
0104 >;
0105 };
0106 };
0107
0108 &pwm1 {
0109 status = "okay";
0110 };
0111
0112 &pwm2 {
0113 status = "okay";
0114 };
0115
0116 &pwm3 {
0117 status = "okay";
0118 };
0119
0120 &pwm4 {
0121 status = "okay";
0122 };
0123
0124 ®_usb_host_vbus {
0125 status = "okay";
0126 };
0127
0128 &uart1 {
0129 status = "okay";
0130 };
0131
0132 &uart2 {
0133 status = "okay";
0134 };
0135
0136 &uart3 {
0137 status = "okay";
0138 };
0139
0140 &usbh1 {
0141 vbus-supply = <®_usb_host_vbus>;
0142 status = "okay";
0143 };
0144
0145 &usbotg {
0146 status = "okay";
0147 };
0148
0149 /* Colibri MMC */
0150 &usdhc1 {
0151 status = "okay";
0152 };