Commit 1b6e37fe authored by Max Krummenacher's avatar Max Krummenacher Committed by Shawn Guo
Browse files

ARM: dts: imx6dl-colibri: Add support for Toradex Iris carrier boards

Add support for Toradex Iris, small form-factor Pico-ITX Colibri Arm
Computer Module family Carrier Board.

Additional details available at
https://www.toradex.com/products/carrier-board/iris-carrier-board



Signed-off-by: default avatarMax Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent 6cc75a08
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -459,6 +459,8 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
	imx6dl-aristainetos2_4.dtb \
	imx6dl-aristainetos2_7.dtb \
	imx6dl-colibri-eval-v3.dtb \
	imx6dl-colibri-iris.dtb \
	imx6dl-colibri-iris-v2.dtb \
	imx6dl-cubox-i.dtb \
	imx6dl-cubox-i-emmc-som-v15.dtb \
	imx6dl-cubox-i-som-v15.dtb \
+46 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2022 Toradex
 */

/dts-v1/;

#include "imx6dl-colibri-iris.dts"

/ {
	model = "Toradex Colibri iMX6DL/S on Colibri Iris V2 Board";
	compatible = "toradex,colibri_imx6dl-iris-v2", "toradex,colibri_imx6dl",
		     "fsl,imx6dl";

	reg_3v3_vmmc: regulator-3v3-vmmc {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_enable_3v3_vmmc>;
		regulator-name = "3v3_vmmc";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>;
		startup-delay-us = <100>;
		enable-active-high;
	};
};

&iomuxc {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_gpio_iris	&pinctrl_usbh_oc_1 &pinctrl_usbc_id_1>;

	pinctrl_enable_3v3_vmmc: enable3v3vmmcgrp {
		fsl,pins = <
			MX6QDL_PAD_SD4_DAT3__GPIO2_IO11	0x1b0b0
		>;
	};
};

/* Colibri MMC */
&usdhc1 {
	cap-power-off-card;
	/* uncomment the following to enable SD card UHS mode if you have a V1.1 module */
	/* /delete-property/ no-1-8-v; */
	vmmc-supply = <&reg_3v3_vmmc>;
	status = "okay";
};
+152 −0
Original line number Diff line number Diff line
// 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";
};

&reg_usb_host_vbus {
	status = "okay";
};

&uart1 {
	status = "okay";
};

&uart2 {
	status = "okay";
};

&uart3 {
	status = "okay";
};

&usbh1 {
	vbus-supply = <&reg_usb_host_vbus>;
	status = "okay";
};

&usbotg {
	status = "okay";
};

/* Colibri MMC */
&usdhc1 {
	status = "okay";
};