162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright 2022 Toradex
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci/dts-v1/;
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
962306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h>
1062306a36Sopenharmony_ci#include "imx6dl.dtsi"
1162306a36Sopenharmony_ci#include "imx6qdl-colibri.dtsi"
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci/ {
1462306a36Sopenharmony_ci	model = "Toradex Colibri iMX6DL/S on Colibri Iris Board";
1562306a36Sopenharmony_ci	compatible = "toradex,colibri_imx6dl-iris", "toradex,colibri_imx6dl",
1662306a36Sopenharmony_ci		     "fsl,imx6dl";
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	aliases {
1962306a36Sopenharmony_ci		i2c0 = &i2c2;
2062306a36Sopenharmony_ci		i2c1 = &i2c3;
2162306a36Sopenharmony_ci	};
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	aliases {
2462306a36Sopenharmony_ci		rtc0 = &rtc_i2c;
2562306a36Sopenharmony_ci		rtc1 = &snvs_rtc;
2662306a36Sopenharmony_ci	};
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	chosen {
2962306a36Sopenharmony_ci		stdout-path = "serial0:115200n8";
3062306a36Sopenharmony_ci	};
3162306a36Sopenharmony_ci};
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci/* Colibri SSP */
3462306a36Sopenharmony_ci&ecspi4 {
3562306a36Sopenharmony_ci	status = "okay";
3662306a36Sopenharmony_ci};
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci&gpio2 {
3962306a36Sopenharmony_ci	pinctrl-names = "default";
4062306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_uart1_forceoff &pinctrl_uart23_forceoff>;
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci	/*
4362306a36Sopenharmony_ci	 * uart-a-on-x13-enable turns the UART transceiver for UART_A on. If one
4462306a36Sopenharmony_ci	 * wants to turn the transceiver off, that property has to be deleted
4562306a36Sopenharmony_ci	 * and the gpio handled in userspace.
4662306a36Sopenharmony_ci	 * The same applies to uart-b-c-on-x14-enable where the UART_B and
4762306a36Sopenharmony_ci	 * UART_C transceiver is turned on.
4862306a36Sopenharmony_ci	 */
4962306a36Sopenharmony_ci	uart-a-on-x13-enable-hog {
5062306a36Sopenharmony_ci		gpio-hog;
5162306a36Sopenharmony_ci		gpios = <4 GPIO_ACTIVE_HIGH>; /* SODIMM 102 */
5262306a36Sopenharmony_ci		output-high;
5362306a36Sopenharmony_ci	};
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci	uart-b-c-on-x14-enable-hog {
5662306a36Sopenharmony_ci		gpio-hog;
5762306a36Sopenharmony_ci		gpios = <8 GPIO_ACTIVE_HIGH>; /* SODIMM 104 */
5862306a36Sopenharmony_ci		output-high;
5962306a36Sopenharmony_ci	};
6062306a36Sopenharmony_ci};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci/*
6362306a36Sopenharmony_ci * Colibri I2C: I2C3_SDA/SCL on SODIMM 194/196 (e.g. RTC on carrier board)
6462306a36Sopenharmony_ci */
6562306a36Sopenharmony_ci&i2c3 {
6662306a36Sopenharmony_ci	status = "okay";
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci	rtc_i2c: rtc@68 {
6962306a36Sopenharmony_ci		compatible = "st,m41t0";
7062306a36Sopenharmony_ci		reg = <0x68>;
7162306a36Sopenharmony_ci	};
7262306a36Sopenharmony_ci};
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci&iomuxc {
7562306a36Sopenharmony_ci	pinctrl-names = "default";
7662306a36Sopenharmony_ci	pinctrl-0 = <
7762306a36Sopenharmony_ci		&pinctrl_gpio_iris
7862306a36Sopenharmony_ci		&pinctrl_usbh_oc_1
7962306a36Sopenharmony_ci		&pinctrl_usbc_id_1
8062306a36Sopenharmony_ci	>;
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci	pinctrl_gpio_iris: gpioirisgrp {
8362306a36Sopenharmony_ci		fsl,pins = <
8462306a36Sopenharmony_ci			MX6QDL_PAD_EIM_A17__GPIO2_IO21	0x1b0b0
8562306a36Sopenharmony_ci			MX6QDL_PAD_EIM_A18__GPIO2_IO20	0x1b0b0
8662306a36Sopenharmony_ci			MX6QDL_PAD_EIM_A19__GPIO2_IO19	0x1b0b0
8762306a36Sopenharmony_ci			MX6QDL_PAD_EIM_A20__GPIO2_IO18	0x1b0b0
8862306a36Sopenharmony_ci			MX6QDL_PAD_EIM_A23__GPIO6_IO06	0x1b0b0
8962306a36Sopenharmony_ci			MX6QDL_PAD_EIM_D27__GPIO3_IO27	0x1b0b0
9062306a36Sopenharmony_ci			MX6QDL_PAD_NANDF_D3__GPIO2_IO03	0x1b0b0
9162306a36Sopenharmony_ci			MX6QDL_PAD_SD2_DAT0__GPIO1_IO15	0x1b0b0
9262306a36Sopenharmony_ci		>;
9362306a36Sopenharmony_ci	};
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci	pinctrl_uart1_forceoff: uart1forceoffgrp {
9662306a36Sopenharmony_ci		fsl,pins = <
9762306a36Sopenharmony_ci			MX6QDL_PAD_NANDF_D4__GPIO2_IO04 0x1b0b0
9862306a36Sopenharmony_ci		>;
9962306a36Sopenharmony_ci	};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci	pinctrl_uart23_forceoff: uart23forceoffgrp {
10262306a36Sopenharmony_ci		fsl,pins = <
10362306a36Sopenharmony_ci			MX6QDL_PAD_SD4_DAT0__GPIO2_IO08 0x1b0b0
10462306a36Sopenharmony_ci		>;
10562306a36Sopenharmony_ci	};
10662306a36Sopenharmony_ci};
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci&pwm1 {
10962306a36Sopenharmony_ci	status = "okay";
11062306a36Sopenharmony_ci};
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci&pwm2 {
11362306a36Sopenharmony_ci	status = "okay";
11462306a36Sopenharmony_ci};
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci&pwm3 {
11762306a36Sopenharmony_ci	status = "okay";
11862306a36Sopenharmony_ci};
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ci&pwm4 {
12162306a36Sopenharmony_ci	status = "okay";
12262306a36Sopenharmony_ci};
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci&reg_usb_host_vbus {
12562306a36Sopenharmony_ci	status = "okay";
12662306a36Sopenharmony_ci};
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci&uart1 {
12962306a36Sopenharmony_ci	status = "okay";
13062306a36Sopenharmony_ci};
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci&uart2 {
13362306a36Sopenharmony_ci	status = "okay";
13462306a36Sopenharmony_ci};
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ci&uart3 {
13762306a36Sopenharmony_ci	status = "okay";
13862306a36Sopenharmony_ci};
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ci&usbh1 {
14162306a36Sopenharmony_ci	disable-over-current;
14262306a36Sopenharmony_ci	status = "okay";
14362306a36Sopenharmony_ci};
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ci&usbotg {
14662306a36Sopenharmony_ci	disable-over-current;
14762306a36Sopenharmony_ci	status = "okay";
14862306a36Sopenharmony_ci};
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci/* Colibri MMC */
15162306a36Sopenharmony_ci&usdhc1 {
15262306a36Sopenharmony_ci	status = "okay";
15362306a36Sopenharmony_ci};
154