xref: /linux/scripts/dtc/include-prefixes/arm/nxp/imx/imx6ul-var-som-common.dtsi (revision b2128290c29902315e632ea59e0504d6bc9e9b42)
1e3b21b33SHugo Villeneuve// SPDX-License-Identifier: GPL-2.0+
2e3b21b33SHugo Villeneuve/*
3e3b21b33SHugo Villeneuve * Support for the common parts shared by all the different CPU options on
4e3b21b33SHugo Villeneuve * Variscite VAR-SOM-6UL Module
5e3b21b33SHugo Villeneuve *
6e3b21b33SHugo Villeneuve * Copyright 2019 Variscite Ltd.
7e3b21b33SHugo Villeneuve * Copyright 2025 Bootlin
8e3b21b33SHugo Villeneuve */
9e3b21b33SHugo Villeneuve
10e3b21b33SHugo Villeneuve#include <dt-bindings/clock/imx6ul-clock.h>
11e3b21b33SHugo Villeneuve#include <dt-bindings/gpio/gpio.h>
12e3b21b33SHugo Villeneuve
13e3b21b33SHugo Villeneuve/ {
14e3b21b33SHugo Villeneuve	model = "Variscite VAR-SOM-6UL module";
15e3b21b33SHugo Villeneuve	compatible = "variscite,var-som-imx6ul", "fsl,imx6ul";
16e3b21b33SHugo Villeneuve
17e3b21b33SHugo Villeneuve	memory@80000000 {
18e3b21b33SHugo Villeneuve		device_type = "memory";
19e3b21b33SHugo Villeneuve		reg = <0x80000000 0x20000000>;
20e3b21b33SHugo Villeneuve	};
21e3b21b33SHugo Villeneuve
22*235c0703SHugo Villeneuve	reg_3p3v: regulator-3p3v {
23*235c0703SHugo Villeneuve		compatible = "regulator-fixed";
24*235c0703SHugo Villeneuve		regulator-name = "3P3V";
25*235c0703SHugo Villeneuve		regulator-min-microvolt = <3300000>;
26*235c0703SHugo Villeneuve		regulator-max-microvolt = <3300000>;
27*235c0703SHugo Villeneuve		regulator-always-on;
28*235c0703SHugo Villeneuve	};
29*235c0703SHugo Villeneuve
30e3b21b33SHugo Villeneuve	reg_gpio_dvfs: reg-gpio-dvfs {
31e3b21b33SHugo Villeneuve		compatible = "regulator-gpio";
32e3b21b33SHugo Villeneuve		regulator-min-microvolt = <1300000>;
33e3b21b33SHugo Villeneuve		regulator-max-microvolt = <1400000>;
34e3b21b33SHugo Villeneuve		regulator-name = "gpio_dvfs";
35e3b21b33SHugo Villeneuve		regulator-type = "voltage";
36e3b21b33SHugo Villeneuve		gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>;
37e3b21b33SHugo Villeneuve		states = <1300000 0x1
38e3b21b33SHugo Villeneuve			  1400000 0x0>;
39e3b21b33SHugo Villeneuve	};
40e3b21b33SHugo Villeneuve};
41e3b21b33SHugo Villeneuve
42e3b21b33SHugo Villeneuve&clks {
43e3b21b33SHugo Villeneuve	assigned-clocks = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
44e3b21b33SHugo Villeneuve	assigned-clock-rates = <786432000>;
45e3b21b33SHugo Villeneuve};
46e3b21b33SHugo Villeneuve
47e3b21b33SHugo Villeneuve&iomuxc {
4819435b53SHugo Villeneuve	pinctrl_i2c1: i2c1grp {
4919435b53SHugo Villeneuve		fsl,pins = <
5019435b53SHugo Villeneuve			MX6UL_PAD_CSI_PIXCLK__I2C1_SCL		0x4001b8b0
5119435b53SHugo Villeneuve			MX6UL_PAD_CSI_MCLK__I2C1_SDA		0x4001b8b0
5219435b53SHugo Villeneuve		>;
5319435b53SHugo Villeneuve	};
5419435b53SHugo Villeneuve
55e3b21b33SHugo Villeneuve	pinctrl_tsc: tscgrp {
56e3b21b33SHugo Villeneuve		fsl,pins = <
57e3b21b33SHugo Villeneuve			MX6UL_PAD_GPIO1_IO01__GPIO1_IO01	0xb0
58e3b21b33SHugo Villeneuve			MX6UL_PAD_GPIO1_IO02__GPIO1_IO02	0xb0
59e3b21b33SHugo Villeneuve			MX6UL_PAD_GPIO1_IO03__GPIO1_IO03	0xb0
60e3b21b33SHugo Villeneuve			MX6UL_PAD_GPIO1_IO04__GPIO1_IO04	0xb0
61e3b21b33SHugo Villeneuve		>;
62e3b21b33SHugo Villeneuve	};
63e3b21b33SHugo Villeneuve
64e3b21b33SHugo Villeneuve	pinctrl_uart2: uart2grp {
65e3b21b33SHugo Villeneuve		fsl,pins = <
66e3b21b33SHugo Villeneuve			MX6UL_PAD_UART2_TX_DATA__UART2_DCE_TX	0x1b0b1
67e3b21b33SHugo Villeneuve			MX6UL_PAD_UART2_RX_DATA__UART2_DCE_RX	0x1b0b1
68e3b21b33SHugo Villeneuve			MX6UL_PAD_UART2_CTS_B__UART2_DCE_CTS	0x1b0b1
69e3b21b33SHugo Villeneuve			MX6UL_PAD_UART2_RTS_B__UART2_DCE_RTS	0x1b0b1
70e3b21b33SHugo Villeneuve		>;
71e3b21b33SHugo Villeneuve	};
72e3b21b33SHugo Villeneuve
73f4768506SHugo Villeneuve	pinctrl_usdhc1: usdhc1grp {
74f4768506SHugo Villeneuve		fsl,pins = <
75f4768506SHugo Villeneuve			MX6UL_PAD_SD1_CMD__USDHC1_CMD		0x17059
76f4768506SHugo Villeneuve			MX6UL_PAD_SD1_CLK__USDHC1_CLK		0x17059
77f4768506SHugo Villeneuve			MX6UL_PAD_SD1_DATA0__USDHC1_DATA0	0x17059
78f4768506SHugo Villeneuve			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1	0x17059
79f4768506SHugo Villeneuve			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2	0x17059
80f4768506SHugo Villeneuve			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3	0x17059
81f4768506SHugo Villeneuve		>;
82f4768506SHugo Villeneuve	};
83f4768506SHugo Villeneuve
84f4768506SHugo Villeneuve	pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
85f4768506SHugo Villeneuve		fsl,pins = <
86f4768506SHugo Villeneuve			MX6UL_PAD_SD1_CMD__USDHC1_CMD		0x170b9
87f4768506SHugo Villeneuve			MX6UL_PAD_SD1_CLK__USDHC1_CLK		0x100b9
88f4768506SHugo Villeneuve			MX6UL_PAD_SD1_DATA0__USDHC1_DATA0	0x170b9
89f4768506SHugo Villeneuve			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1	0x170b9
90f4768506SHugo Villeneuve			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2	0x170b9
91f4768506SHugo Villeneuve			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3	0x170b9
92f4768506SHugo Villeneuve		>;
93f4768506SHugo Villeneuve	};
94f4768506SHugo Villeneuve
95f4768506SHugo Villeneuve	pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
96f4768506SHugo Villeneuve		fsl,pins = <
97f4768506SHugo Villeneuve			MX6UL_PAD_SD1_CMD__USDHC1_CMD		0x170f9
98f4768506SHugo Villeneuve			MX6UL_PAD_SD1_CLK__USDHC1_CLK		0x100f9
99f4768506SHugo Villeneuve			MX6UL_PAD_SD1_DATA0__USDHC1_DATA0	0x170f9
100f4768506SHugo Villeneuve			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1	0x170f9
101f4768506SHugo Villeneuve			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2	0x170f9
102f4768506SHugo Villeneuve			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3	0x170f9
103f4768506SHugo Villeneuve		>;
104f4768506SHugo Villeneuve	};
105f4768506SHugo Villeneuve
106e3b21b33SHugo Villeneuve	pinctrl_usdhc2: usdhc2grp {
107e3b21b33SHugo Villeneuve		fsl,pins = <
108e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_RE_B__USDHC2_CLK		0x10069
109e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_WE_B__USDHC2_CMD		0x17059
110e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA00__USDHC2_DATA0	0x17059
111e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA01__USDHC2_DATA1	0x17059
112e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA02__USDHC2_DATA2	0x17059
113e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA03__USDHC2_DATA3	0x17059
114e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA04__USDHC2_DATA4	0x17059
115e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA05__USDHC2_DATA5	0x17059
116e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA06__USDHC2_DATA6	0x17059
117e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA07__USDHC2_DATA7	0x17059
118e3b21b33SHugo Villeneuve		>;
119e3b21b33SHugo Villeneuve	};
120e3b21b33SHugo Villeneuve
121e3b21b33SHugo Villeneuve	pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
122e3b21b33SHugo Villeneuve		fsl,pins = <
123e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_RE_B__USDHC2_CLK		0x100b9
124e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_WE_B__USDHC2_CMD		0x170b9
125e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA00__USDHC2_DATA0	0x170b9
126e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA01__USDHC2_DATA1	0x170b9
127e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA02__USDHC2_DATA2	0x170b9
128e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA03__USDHC2_DATA3	0x170b9
129e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA04__USDHC2_DATA4	0x170b9
130e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA05__USDHC2_DATA5	0x170b9
131e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA06__USDHC2_DATA6	0x170b9
132e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA07__USDHC2_DATA7	0x170b9
133e3b21b33SHugo Villeneuve		>;
134e3b21b33SHugo Villeneuve	};
135e3b21b33SHugo Villeneuve
136e3b21b33SHugo Villeneuve	pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
137e3b21b33SHugo Villeneuve		fsl,pins = <
138e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_RE_B__USDHC2_CLK		0x100f9
139e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_WE_B__USDHC2_CMD		0x170f9
140e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA00__USDHC2_DATA0	0x170f9
141e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA01__USDHC2_DATA1	0x170f9
142e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA02__USDHC2_DATA2	0x170f9
143e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA03__USDHC2_DATA3	0x170f9
144e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA04__USDHC2_DATA4	0x170f9
145e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA05__USDHC2_DATA5	0x170f9
146e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA06__USDHC2_DATA6	0x170f9
147e3b21b33SHugo Villeneuve			MX6UL_PAD_NAND_DATA07__USDHC2_DATA7	0x170f9
148e3b21b33SHugo Villeneuve		>;
149e3b21b33SHugo Villeneuve	};
150e3b21b33SHugo Villeneuve};
151e3b21b33SHugo Villeneuve
152e3b21b33SHugo Villeneuve&pxp {
153e3b21b33SHugo Villeneuve	status = "okay";
154e3b21b33SHugo Villeneuve};
155e3b21b33SHugo Villeneuve
156e3b21b33SHugo Villeneuve&snvs_poweroff {
157e3b21b33SHugo Villeneuve	status = "okay";
158e3b21b33SHugo Villeneuve};
159e3b21b33SHugo Villeneuve
160e3b21b33SHugo Villeneuve&tsc {
161e3b21b33SHugo Villeneuve	pinctrl-names = "default";
162e3b21b33SHugo Villeneuve	pinctrl-0 = <&pinctrl_tsc>;
163e3b21b33SHugo Villeneuve	xnur-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
164e3b21b33SHugo Villeneuve	measure-delay-time = <0xffff>;
165e3b21b33SHugo Villeneuve	pre-charge-time = <0xfff>;
166e3b21b33SHugo Villeneuve	status = "okay";
167e3b21b33SHugo Villeneuve};
168e3b21b33SHugo Villeneuve
169e3b21b33SHugo Villeneuve&uart2 {
170e3b21b33SHugo Villeneuve	pinctrl-names = "default";
171e3b21b33SHugo Villeneuve	pinctrl-0 = <&pinctrl_uart2>;
172e3b21b33SHugo Villeneuve	uart-has-rtscts;
173e3b21b33SHugo Villeneuve	status = "okay";
174e3b21b33SHugo Villeneuve};
175e3b21b33SHugo Villeneuve
176e3b21b33SHugo Villeneuve&usdhc2 {
177e3b21b33SHugo Villeneuve	pinctrl-names = "default", "state_100mhz", "state_200mhz";
178e3b21b33SHugo Villeneuve	pinctrl-0 = <&pinctrl_usdhc2>;
179e3b21b33SHugo Villeneuve	pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
180e3b21b33SHugo Villeneuve	pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
181e3b21b33SHugo Villeneuve	bus-width = <8>;
182e3b21b33SHugo Villeneuve	no-1-8-v;
183e3b21b33SHugo Villeneuve	non-removable;
184e3b21b33SHugo Villeneuve	keep-power-in-suspend;
185e3b21b33SHugo Villeneuve	wakeup-source;
186e3b21b33SHugo Villeneuve	status = "okay";
187e3b21b33SHugo Villeneuve};
188