Commit a180e4f0 authored by Marcel Ziswiler's avatar Marcel Ziswiler Committed by Shawn Guo
Browse files

ARM: dts: imx7-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 avatarMarcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent f78ad740
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -741,8 +741,12 @@ dtb-$(CONFIG_SOC_IMX7D) += \
	imx7d-cl-som-imx7.dtb \
	imx7d-colibri-aster.dtb \
	imx7d-colibri-emmc-aster.dtb \
	imx7d-colibri-emmc-iris.dtb \
	imx7d-colibri-emmc-iris-v2.dtb \
	imx7d-colibri-emmc-eval-v3.dtb \
	imx7d-colibri-eval-v3.dtb \
	imx7d-colibri-iris.dtb \
	imx7d-colibri-iris-v2.dtb \
	imx7d-flex-concentrator.dtb \
	imx7d-flex-concentrator-mfg.dtb \
	imx7d-mba7.dtb \
@@ -762,6 +766,8 @@ dtb-$(CONFIG_SOC_IMX7D) += \
	imx7d-zii-rpu2.dtb \
	imx7s-colibri-aster.dtb \
	imx7s-colibri-eval-v3.dtb \
	imx7s-colibri-iris.dtb \
	imx7s-colibri-iris-v2.dtb \
	imx7s-mba7.dtb \
	imx7s-warp.dtb
dtb-$(CONFIG_SOC_IMX7ULP) += \
+112 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2022 Toradex
 */

/ {
	reg_3v3_vmmc: regulator-3v3-vmmc {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpio5 16 GPIO_ACTIVE_HIGH>; /* SODIMM 100 */
		regulator-max-microvolt = <3300000>;
		regulator-min-microvolt = <3300000>;
		regulator-name = "3v3_vmmc";
		startup-delay-us = <100>;
	};
};

/* Colibri AD0 to AD3 */
&adc1 {
	status = "okay";
};

/* Colibri SSP */
&ecspi3 {
	status = "okay";
};

/* Colibri Fast Ethernet */
&fec1 {
	status = "okay";
};

&gpio2 {
	/*
	 * uart_b_c_on_x14_enable turns the UART transceiver for UART2 and 5 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_a_on_x13_enable where the UART_A transceiver is turned on.
	 */
	uart-b-c-on-x14-enable-hog {
		gpio-hog;
		gpios = <27 GPIO_ACTIVE_HIGH>; /* SODIMM 104 */
		output-high;
	};
};

&gpio5 {
	uart-a-on-x13-enable-hog {
		gpio-hog;
		gpios = <17 GPIO_ACTIVE_HIGH>; /* SODIMM 102 */
		output-high;
	};
};

/* Colibri I2C: I2C3_SDA/SCL on SODIMM 194/196 */
&i2c4 {
	status = "okay";
};

/* Colibri PWM<A> */
&pwm1 {
	status = "okay";
};

/* Colibri PWM<B> */
&pwm2 {
	status = "okay";
};

/* Colibri PWM<C> */
&pwm3 {
	status = "okay";
};

/* Colibri PWM<D> */
&pwm4 {
	status = "okay";
};

/* M41T0M6 real time clock */
&rtc {
	status = "okay";
};

/* Colibri UART_A */
&uart1 {
	status = "okay";
};

/* Colibri UART_B */
&uart2 {
	status = "okay";
};

/* Colibri UART_C */
&uart3 {
	status = "okay";
};

/* Colibri USBC */
&usbotg1 {
	status = "okay";
};

/* Colibri MMC/SD, UHS-I capable uSD slot */
&usdhc1 {
	cap-power-off-card;
	/delete-property/ keep-power-in-suspend;
	/delete-property/ no-1-8-v;
	vmmc-supply = <&reg_3v3_vmmc>;
	status = "okay";
};
+108 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2022 Toradex
 */

/* Colibri AD0 to AD3 */
&adc1 {
	status = "okay";
};

/*
 * The Atmel maxtouch controller uses SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm2, pwm3.
 * So if you enable following capacitive touch controller, disable pwm2/pwm3 first.
 */
&atmel_mxt_ts {
	interrupt-parent = <&gpio1>;
	interrupts = <9 IRQ_TYPE_EDGE_FALLING>;		/* SODIMM 28 / INT */
	pinctrl-0 = <&pinctrl_atmel_adapter>;
	reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;	/* SODIMM 30 / RST */
};

/* Colibri SSP */
&ecspi3 {
	status = "okay";
};

/* Colibri Fast Ethernet */
&fec1 {
	status = "okay";
};

&gpio2 {
	/*
	 * uart25 turns the UART transceiver for UART2 and 5 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 uart1_tx_on where the UART1 transceiver is turned on.
	 */
	uart25-tx-on-hog {
		gpio-hog;
		gpios = <27 GPIO_ACTIVE_HIGH>; /* SODIMM 104 */
		output-high;
	};
};

&gpio5 {
	uart1-tx-on-hog {
		gpio-hog;
		gpios = <17 GPIO_ACTIVE_HIGH>; /* SODIMM 102 */
		output-high;
	};
};

/* Colibri I2C: I2C3_SDA/SCL on SODIMM 194/196 */
&i2c4 {
	status = "okay";
};

/* Colibri PWM<A> */
&pwm1 {
	status = "okay";
};

/* Colibri PWM<B> */
&pwm2 {
	/* The pwm2 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
	status = "okay";
};

/* Colibri PWM<C> */
&pwm3 {
	/* The pwm3 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */
	status = "okay";
};

/* Colibri PWM<D> */
&pwm4 {
	status = "okay";
};

/* M41T0M6 real time clock */
&rtc {
	status = "okay";
};

/* Colibri UART_A */
&uart1 {
	status = "okay";
};

/* Colibri UART_B */
&uart2 {
	status = "okay";
};

/* Colibri UART_C */
&uart3 {
	status = "okay";
};

/* Colibri USBC */
&usbotg1 {
	status = "okay";
};

/* Colibri MMC/SD */
&usdhc1 {
	status = "okay";
};
+21 −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 "imx7d-colibri-emmc.dtsi"
#include "imx7-colibri-iris-v2.dtsi"

/ {
	model = "Toradex Colibri iMX7D 1GB on Iris V2 Carrier Board";
	compatible = "toradex,colibri-imx7d-emmc-iris-v2",
		     "toradex,colibri-imx7d-emmc",
		     "toradex,colibri-imx7d",
		     "fsl,imx7d";
};

/* Colibri USBH */
&usbotg2 {
	status = "okay";
};
+21 −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 "imx7d-colibri-emmc.dtsi"
#include "imx7-colibri-iris.dtsi"

/ {
	model = "Toradex Colibri iMX7D 1GB on Iris Carrier Board";
	compatible = "toradex,colibri-imx7d-emmc-iris",
		     "toradex,colibri-imx7d-emmc",
		     "toradex,colibri-imx7d",
		     "fsl,imx7d";
};

/* Colibri USBH */
&usbotg2 {
	status = "okay";
};
Loading