xref: /linux/arch/arm/boot/dts/nxp/imx/imx6ull-engicam-microgea-gtw.dts (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) 2025 Amarula Solutions, Dario Binacchi <dario.binacchi@amarulasolutions.com>
4 * Copyright (C) 2025 Engicam srl
5 */
6
7/dts-v1/;
8
9#include "imx6ull-engicam-microgea.dtsi"
10
11/ {
12	compatible = "engicam,microgea-imx6ull-gtw",
13		     "engicam,microgea-imx6ull", "fsl,imx6ull";
14	model = "Engicam MicroGEA i.MX6ULL GTW Board";
15
16	reg_1v8: regulator-1v8 {
17		compatible = "regulator-fixed";
18		regulator-name = "1v8";
19		regulator-min-microvolt = <1800000>;
20		regulator-max-microvolt = <1800000>;
21	};
22
23	reg_3v3: regulator-3v3 {
24		compatible = "regulator-fixed";
25		regulator-name = "3v3";
26		regulator-min-microvolt = <3300000>;
27		regulator-max-microvolt = <3300000>;
28	};
29
30	gpio-keys {
31		compatible = "gpio-keys";
32		pinctrl-names = "default";
33		pinctrl-0 = <&pinctrl_gpio_keys>;
34
35		user-button {
36			label = "User button";
37			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
38			linux,code = <BTN_MISC>;
39			wakeup-source;
40		};
41	};
42
43	leds {
44		compatible = "gpio-leds";
45		pinctrl-names = "default";
46		pinctrl-0 = <&pinctrl_leds>, <&pinctrl_pwrled>;
47
48		led-0 {
49			gpios = <&gpio5 7 GPIO_ACTIVE_HIGH>;
50			default-state = "on";
51		};
52
53		led-1 {
54			gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
55		};
56
57		led-2 {
58			gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
59		};
60
61		led-3 {
62			gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
63		};
64	};
65
66	usb_hub: usb-hub {
67		compatible = "smsc,usb3503a";
68		pinctrl-names = "default";
69		pinctrl-0 = <&pinctrl_usb_hub>;
70		reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>;
71	};
72};
73
74&uart1 {
75	pinctrl-names = "default";
76	pinctrl-0 = <&pinctrl_uart1>;
77	status = "okay";
78};
79
80&uart2 {
81	pinctrl-names = "default";
82	pinctrl-0 = <&pinctrl_uart2>;
83	status = "okay";
84};
85
86&usbotg1 {
87	dr_mode = "otg";
88	status = "okay";
89};
90
91&usbotg2 {
92	dr_mode = "host";
93	disable-over-current;
94	status = "okay";
95};
96
97/* MicroSD */
98&usdhc1 {
99	pinctrl-names = "default";
100	pinctrl-0 = <&pinctrl_usdhc1>;
101	vmmc-supply = <&reg_3v3>;
102	bus-width = <4>;
103	non-removable;
104	status = "okay";
105};
106
107&iomuxc {
108	pinctrl_gpio_keys: gpio_keysgrp {
109		fsl,pins = <
110			MX6UL_PAD_JTAG_TDI__GPIO1_IO13		0x0b0b0
111		>;
112	};
113
114	pinctrl_leds: ledsgrp {
115		fsl,pins = <
116			MX6UL_PAD_JTAG_TCK__GPIO1_IO14		0x130b0
117			MX6UL_PAD_JTAG_TRST_B__GPIO1_IO15	0x130b0
118			MX6UL_PAD_JTAG_TDO__GPIO1_IO12		0x130b0
119		>;
120	};
121
122	pinctrl_uart1: uart1grp {
123		fsl,pins = <
124			MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX	0x1b0b1
125			MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX	0x1b0b1
126		>;
127	};
128
129	pinctrl_uart2: uart2grp {
130		fsl,pins = <
131			MX6UL_PAD_UART2_TX_DATA__UART2_DCE_TX	0x1b0b1
132			MX6UL_PAD_UART2_RX_DATA__UART2_DCE_RX	0x1b0b1
133			MX6UL_PAD_UART2_RTS_B__UART2_DCE_RTS	0x1b0b1
134			MX6UL_PAD_UART2_CTS_B__UART2_DCE_CTS	0x1b0b1
135		>;
136	};
137
138	pinctrl_usdhc1: usdhc1grp {
139		fsl,pins = <
140			MX6UL_PAD_SD1_CMD__USDHC1_CMD		0x17059
141			MX6UL_PAD_SD1_CLK__USDHC1_CLK		0x10059
142			MX6UL_PAD_SD1_DATA0__USDHC1_DATA0	0x17059
143			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1	0x17059
144			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2	0x17059
145			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3	0x17059
146		>;
147	};
148};
149
150&iomuxc_snvs {
151	pinctrl_pwrled: ledsgrp {
152		fsl,pins = <
153			MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07	0x130b0
154		>;
155	};
156
157	pinctrl_usb_hub: usb_hubgrp {
158		fsl,pins = <
159			MX6ULL_PAD_SNVS_TAMPER6__GPIO5_IO06	0x17059
160		>;
161	};
162};
163