xref: /freebsd/sys/contrib/device-tree/src/arm/nxp/imx/imx6dl-colibri-iris.dts (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright 2022 Toradex
4*f126890aSEmmanuel Vadot */
5*f126890aSEmmanuel Vadot
6*f126890aSEmmanuel Vadot/dts-v1/;
7*f126890aSEmmanuel Vadot
8*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
9*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
10*f126890aSEmmanuel Vadot#include "imx6dl.dtsi"
11*f126890aSEmmanuel Vadot#include "imx6qdl-colibri.dtsi"
12*f126890aSEmmanuel Vadot
13*f126890aSEmmanuel Vadot/ {
14*f126890aSEmmanuel Vadot	model = "Toradex Colibri iMX6DL/S on Colibri Iris Board";
15*f126890aSEmmanuel Vadot	compatible = "toradex,colibri_imx6dl-iris", "toradex,colibri_imx6dl",
16*f126890aSEmmanuel Vadot		     "fsl,imx6dl";
17*f126890aSEmmanuel Vadot
18*f126890aSEmmanuel Vadot	aliases {
19*f126890aSEmmanuel Vadot		i2c0 = &i2c2;
20*f126890aSEmmanuel Vadot		i2c1 = &i2c3;
21*f126890aSEmmanuel Vadot	};
22*f126890aSEmmanuel Vadot
23*f126890aSEmmanuel Vadot	aliases {
24*f126890aSEmmanuel Vadot		rtc0 = &rtc_i2c;
25*f126890aSEmmanuel Vadot		rtc1 = &snvs_rtc;
26*f126890aSEmmanuel Vadot	};
27*f126890aSEmmanuel Vadot
28*f126890aSEmmanuel Vadot	chosen {
29*f126890aSEmmanuel Vadot		stdout-path = "serial0:115200n8";
30*f126890aSEmmanuel Vadot	};
31*f126890aSEmmanuel Vadot};
32*f126890aSEmmanuel Vadot
33*f126890aSEmmanuel Vadot/* Colibri SSP */
34*f126890aSEmmanuel Vadot&ecspi4 {
35*f126890aSEmmanuel Vadot	status = "okay";
36*f126890aSEmmanuel Vadot};
37*f126890aSEmmanuel Vadot
38*f126890aSEmmanuel Vadot&gpio2 {
39*f126890aSEmmanuel Vadot	pinctrl-names = "default";
40*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart1_forceoff &pinctrl_uart23_forceoff>;
41*f126890aSEmmanuel Vadot
42*f126890aSEmmanuel Vadot	/*
43*f126890aSEmmanuel Vadot	 * uart-a-on-x13-enable turns the UART transceiver for UART_A on. If one
44*f126890aSEmmanuel Vadot	 * wants to turn the transceiver off, that property has to be deleted
45*f126890aSEmmanuel Vadot	 * and the gpio handled in userspace.
46*f126890aSEmmanuel Vadot	 * The same applies to uart-b-c-on-x14-enable where the UART_B and
47*f126890aSEmmanuel Vadot	 * UART_C transceiver is turned on.
48*f126890aSEmmanuel Vadot	 */
49*f126890aSEmmanuel Vadot	uart-a-on-x13-enable-hog {
50*f126890aSEmmanuel Vadot		gpio-hog;
51*f126890aSEmmanuel Vadot		gpios = <4 GPIO_ACTIVE_HIGH>; /* SODIMM 102 */
52*f126890aSEmmanuel Vadot		output-high;
53*f126890aSEmmanuel Vadot	};
54*f126890aSEmmanuel Vadot
55*f126890aSEmmanuel Vadot	uart-b-c-on-x14-enable-hog {
56*f126890aSEmmanuel Vadot		gpio-hog;
57*f126890aSEmmanuel Vadot		gpios = <8 GPIO_ACTIVE_HIGH>; /* SODIMM 104 */
58*f126890aSEmmanuel Vadot		output-high;
59*f126890aSEmmanuel Vadot	};
60*f126890aSEmmanuel Vadot};
61*f126890aSEmmanuel Vadot
62*f126890aSEmmanuel Vadot/*
63*f126890aSEmmanuel Vadot * Colibri I2C: I2C3_SDA/SCL on SODIMM 194/196 (e.g. RTC on carrier board)
64*f126890aSEmmanuel Vadot */
65*f126890aSEmmanuel Vadot&i2c3 {
66*f126890aSEmmanuel Vadot	status = "okay";
67*f126890aSEmmanuel Vadot
68*f126890aSEmmanuel Vadot	rtc_i2c: rtc@68 {
69*f126890aSEmmanuel Vadot		compatible = "st,m41t0";
70*f126890aSEmmanuel Vadot		reg = <0x68>;
71*f126890aSEmmanuel Vadot	};
72*f126890aSEmmanuel Vadot};
73*f126890aSEmmanuel Vadot
74*f126890aSEmmanuel Vadot&iomuxc {
75*f126890aSEmmanuel Vadot	pinctrl-names = "default";
76*f126890aSEmmanuel Vadot	pinctrl-0 = <
77*f126890aSEmmanuel Vadot		&pinctrl_gpio_iris
78*f126890aSEmmanuel Vadot		&pinctrl_usbh_oc_1
79*f126890aSEmmanuel Vadot		&pinctrl_usbc_id_1
80*f126890aSEmmanuel Vadot	>;
81*f126890aSEmmanuel Vadot
82*f126890aSEmmanuel Vadot	pinctrl_gpio_iris: gpioirisgrp {
83*f126890aSEmmanuel Vadot		fsl,pins = <
84*f126890aSEmmanuel Vadot			MX6QDL_PAD_EIM_A17__GPIO2_IO21	0x1b0b0
85*f126890aSEmmanuel Vadot			MX6QDL_PAD_EIM_A18__GPIO2_IO20	0x1b0b0
86*f126890aSEmmanuel Vadot			MX6QDL_PAD_EIM_A19__GPIO2_IO19	0x1b0b0
87*f126890aSEmmanuel Vadot			MX6QDL_PAD_EIM_A20__GPIO2_IO18	0x1b0b0
88*f126890aSEmmanuel Vadot			MX6QDL_PAD_EIM_A23__GPIO6_IO06	0x1b0b0
89*f126890aSEmmanuel Vadot			MX6QDL_PAD_EIM_D27__GPIO3_IO27	0x1b0b0
90*f126890aSEmmanuel Vadot			MX6QDL_PAD_NANDF_D3__GPIO2_IO03	0x1b0b0
91*f126890aSEmmanuel Vadot			MX6QDL_PAD_SD2_DAT0__GPIO1_IO15	0x1b0b0
92*f126890aSEmmanuel Vadot		>;
93*f126890aSEmmanuel Vadot	};
94*f126890aSEmmanuel Vadot
95*f126890aSEmmanuel Vadot	pinctrl_uart1_forceoff: uart1forceoffgrp {
96*f126890aSEmmanuel Vadot		fsl,pins = <
97*f126890aSEmmanuel Vadot			MX6QDL_PAD_NANDF_D4__GPIO2_IO04 0x1b0b0
98*f126890aSEmmanuel Vadot		>;
99*f126890aSEmmanuel Vadot	};
100*f126890aSEmmanuel Vadot
101*f126890aSEmmanuel Vadot	pinctrl_uart23_forceoff: uart23forceoffgrp {
102*f126890aSEmmanuel Vadot		fsl,pins = <
103*f126890aSEmmanuel Vadot			MX6QDL_PAD_SD4_DAT0__GPIO2_IO08 0x1b0b0
104*f126890aSEmmanuel Vadot		>;
105*f126890aSEmmanuel Vadot	};
106*f126890aSEmmanuel Vadot};
107*f126890aSEmmanuel Vadot
108*f126890aSEmmanuel Vadot&pwm1 {
109*f126890aSEmmanuel Vadot	status = "okay";
110*f126890aSEmmanuel Vadot};
111*f126890aSEmmanuel Vadot
112*f126890aSEmmanuel Vadot&pwm2 {
113*f126890aSEmmanuel Vadot	status = "okay";
114*f126890aSEmmanuel Vadot};
115*f126890aSEmmanuel Vadot
116*f126890aSEmmanuel Vadot&pwm3 {
117*f126890aSEmmanuel Vadot	status = "okay";
118*f126890aSEmmanuel Vadot};
119*f126890aSEmmanuel Vadot
120*f126890aSEmmanuel Vadot&pwm4 {
121*f126890aSEmmanuel Vadot	status = "okay";
122*f126890aSEmmanuel Vadot};
123*f126890aSEmmanuel Vadot
124*f126890aSEmmanuel Vadot&reg_usb_host_vbus {
125*f126890aSEmmanuel Vadot	status = "okay";
126*f126890aSEmmanuel Vadot};
127*f126890aSEmmanuel Vadot
128*f126890aSEmmanuel Vadot&uart1 {
129*f126890aSEmmanuel Vadot	status = "okay";
130*f126890aSEmmanuel Vadot};
131*f126890aSEmmanuel Vadot
132*f126890aSEmmanuel Vadot&uart2 {
133*f126890aSEmmanuel Vadot	status = "okay";
134*f126890aSEmmanuel Vadot};
135*f126890aSEmmanuel Vadot
136*f126890aSEmmanuel Vadot&uart3 {
137*f126890aSEmmanuel Vadot	status = "okay";
138*f126890aSEmmanuel Vadot};
139*f126890aSEmmanuel Vadot
140*f126890aSEmmanuel Vadot&usbh1 {
141*f126890aSEmmanuel Vadot	disable-over-current;
142*f126890aSEmmanuel Vadot	status = "okay";
143*f126890aSEmmanuel Vadot};
144*f126890aSEmmanuel Vadot
145*f126890aSEmmanuel Vadot&usbotg {
146*f126890aSEmmanuel Vadot	disable-over-current;
147*f126890aSEmmanuel Vadot	status = "okay";
148*f126890aSEmmanuel Vadot};
149*f126890aSEmmanuel Vadot
150*f126890aSEmmanuel Vadot/* Colibri MMC */
151*f126890aSEmmanuel Vadot&usdhc1 {
152*f126890aSEmmanuel Vadot	status = "okay";
153*f126890aSEmmanuel Vadot};
154