1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 OR MIT
2724ba675SRob Herring/dts-v1/;
3724ba675SRob Herring
4724ba675SRob Herring#include <dt-bindings/input/input.h>
5724ba675SRob Herring#include "tegra30-apalis-v1.1.dtsi"
6724ba675SRob Herring
7724ba675SRob Herring/ {
8724ba675SRob Herring	model = "Toradex Apalis T30 on Apalis Evaluation Board";
9724ba675SRob Herring	compatible = "toradex,apalis_t30-v1.1-eval", "toradex,apalis_t30-eval",
10724ba675SRob Herring		     "toradex,apalis_t30-v1.1", "toradex,apalis_t30",
11724ba675SRob Herring		     "nvidia,tegra30";
12724ba675SRob Herring
13724ba675SRob Herring	aliases {
14724ba675SRob Herring		rtc0 = "/i2c@7000c000/rtc@68";
15724ba675SRob Herring		rtc1 = "/i2c@7000d000/pmic@2d";
16724ba675SRob Herring		rtc2 = "/rtc@7000e000";
17724ba675SRob Herring		serial0 = &uarta;
18724ba675SRob Herring		serial1 = &uartb;
19724ba675SRob Herring		serial2 = &uartc;
20724ba675SRob Herring		serial3 = &uartd;
21724ba675SRob Herring	};
22724ba675SRob Herring
23724ba675SRob Herring	chosen {
24724ba675SRob Herring		stdout-path = "serial0:115200n8";
25724ba675SRob Herring	};
26724ba675SRob Herring
27724ba675SRob Herring	pcie@3000 {
28724ba675SRob Herring		pci@1,0 {
29724ba675SRob Herring			status = "okay";
30724ba675SRob Herring		};
31724ba675SRob Herring
32724ba675SRob Herring		pci@2,0 {
33724ba675SRob Herring			status = "okay";
34724ba675SRob Herring		};
35724ba675SRob Herring	};
36724ba675SRob Herring
37724ba675SRob Herring	host1x@50000000 {
38724ba675SRob Herring		dc@54200000 {
39724ba675SRob Herring			rgb {
40724ba675SRob Herring				status = "okay";
41724ba675SRob Herring				nvidia,panel = <&panel>;
42724ba675SRob Herring			};
43724ba675SRob Herring		};
44724ba675SRob Herring
45724ba675SRob Herring		hdmi@54280000 {
46724ba675SRob Herring			status = "okay";
47724ba675SRob Herring			hdmi-supply = <&reg_5v0>;
48724ba675SRob Herring		};
49724ba675SRob Herring	};
50724ba675SRob Herring
51724ba675SRob Herring	gpio@6000d000 {
52724ba675SRob Herring		/* Apalis GPIO7 MXM3 pin 15 PLX PEX 8605 PCIe Switch Reset */
53724ba675SRob Herring		pex-perst-n-hog {
54724ba675SRob Herring			gpio-hog;
55724ba675SRob Herring			gpios = <TEGRA_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
56724ba675SRob Herring			output-high;
57724ba675SRob Herring			line-name = "PEX_PERST_N";
58724ba675SRob Herring		};
59724ba675SRob Herring	};
60724ba675SRob Herring
61724ba675SRob Herring	/* Apalis UART1 */
62724ba675SRob Herring	serial@70006000 {
63*9766116aSThierry Reding		/delete-property/ dmas;
64*9766116aSThierry Reding		/delete-property/ dma-names;
65724ba675SRob Herring		status = "okay";
66724ba675SRob Herring	};
67724ba675SRob Herring
68724ba675SRob Herring	/* Apalis UART2 */
69724ba675SRob Herring	serial@70006040 {
70724ba675SRob Herring		status = "okay";
71724ba675SRob Herring	};
72724ba675SRob Herring
73724ba675SRob Herring	/* Apalis UART3 */
74724ba675SRob Herring	serial@70006200 {
75724ba675SRob Herring		status = "okay";
76724ba675SRob Herring	};
77724ba675SRob Herring
78724ba675SRob Herring	/* Apalis UART4 */
79724ba675SRob Herring	serial@70006300 {
80724ba675SRob Herring		status = "okay";
81724ba675SRob Herring	};
82724ba675SRob Herring
83724ba675SRob Herring	pwm@7000a000 {
84724ba675SRob Herring		status = "okay";
85724ba675SRob Herring	};
86724ba675SRob Herring
87724ba675SRob Herring	/*
88724ba675SRob Herring	 * GEN1_I2C: I2C1_SDA/SCL on MXM3 pin 209/211 (e.g. RTC on carrier
89724ba675SRob Herring	 * board)
90724ba675SRob Herring	 */
91724ba675SRob Herring	i2c@7000c000 {
92724ba675SRob Herring		status = "okay";
93724ba675SRob Herring		clock-frequency = <400000>;
94724ba675SRob Herring
95724ba675SRob Herring		pcie-switch@58 {
96724ba675SRob Herring			compatible = "plx,pex8605";
97724ba675SRob Herring			reg = <0x58>;
98724ba675SRob Herring		};
99724ba675SRob Herring
100724ba675SRob Herring		/* M41T0M6 real time clock on carrier board */
101724ba675SRob Herring		rtc@68 {
102724ba675SRob Herring			compatible = "st,m41t0";
103724ba675SRob Herring			reg = <0x68>;
104724ba675SRob Herring		};
105724ba675SRob Herring	};
106724ba675SRob Herring
107724ba675SRob Herring	/* GEN2_I2C: unused */
108724ba675SRob Herring
109724ba675SRob Herring	/*
110724ba675SRob Herring	 * CAM_I2C: I2C3_SDA/SCL on MXM3 pin 201/203 (e.g. camera sensor on
111724ba675SRob Herring	 * carrier board)
112724ba675SRob Herring	 */
113724ba675SRob Herring	i2c@7000c500 {
114724ba675SRob Herring		status = "okay";
115724ba675SRob Herring		clock-frequency = <400000>;
116724ba675SRob Herring	};
117724ba675SRob Herring
118724ba675SRob Herring	/* DDC: I2C2_SDA/SCL on MXM3 pin 205/207 (e.g. display EDID) */
119724ba675SRob Herring	i2c@7000c700 {
120724ba675SRob Herring		status = "okay";
121724ba675SRob Herring	};
122724ba675SRob Herring
123724ba675SRob Herring	/* SPI1: Apalis SPI1 */
124724ba675SRob Herring	spi@7000d400 {
125724ba675SRob Herring		status = "okay";
126724ba675SRob Herring		spi-max-frequency = <25000000>;
127724ba675SRob Herring	};
128724ba675SRob Herring
129724ba675SRob Herring	/* SPI5: Apalis SPI2 */
130724ba675SRob Herring	spi@7000dc00 {
131724ba675SRob Herring		status = "okay";
132724ba675SRob Herring		spi-max-frequency = <25000000>;
133724ba675SRob Herring	};
134724ba675SRob Herring
135724ba675SRob Herring	/* Apalis SD1 */
136724ba675SRob Herring	mmc@78000000 {
137724ba675SRob Herring		status = "okay";
138724ba675SRob Herring		bus-width = <4>;
139724ba675SRob Herring		/* SD1_CD# */
140724ba675SRob Herring		cd-gpios = <&gpio TEGRA_GPIO(CC, 5) GPIO_ACTIVE_LOW>;
141724ba675SRob Herring		no-1-8-v;
142724ba675SRob Herring	};
143724ba675SRob Herring
144724ba675SRob Herring	/* Apalis MMC1 */
145724ba675SRob Herring	mmc@78000400 {
146724ba675SRob Herring		status = "okay";
147724ba675SRob Herring		bus-width = <8>;
148724ba675SRob Herring		/* MMC1_CD# */
149724ba675SRob Herring		cd-gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_LOW>;
150724ba675SRob Herring		vqmmc-supply = <&reg_vddio_sdmmc3>;
151724ba675SRob Herring	};
152724ba675SRob Herring
153724ba675SRob Herring	/* EHCI instance 0: USB1_DP/N -> USBO1_DP/N */
154724ba675SRob Herring	usb@7d000000 {
155724ba675SRob Herring		status = "okay";
156724ba675SRob Herring		dr_mode = "otg";
157724ba675SRob Herring	};
158724ba675SRob Herring
159724ba675SRob Herring	usb-phy@7d000000 {
160724ba675SRob Herring		status = "okay";
161724ba675SRob Herring		vbus-supply = <&reg_usbo1_vbus>;
162724ba675SRob Herring	};
163724ba675SRob Herring
164724ba675SRob Herring	/* EHCI instance 1: USB2_DP/N -> USBH2_DP/N */
165724ba675SRob Herring	usb@7d004000 {
166724ba675SRob Herring		status = "okay";
167724ba675SRob Herring	};
168724ba675SRob Herring
169724ba675SRob Herring	usb-phy@7d004000 {
170724ba675SRob Herring		status = "okay";
171724ba675SRob Herring		vbus-supply = <&reg_usbh_vbus>;
172724ba675SRob Herring	};
173724ba675SRob Herring
174724ba675SRob Herring	/* EHCI instance 2: USB3_DP/N -> USBH3_DP/N */
175724ba675SRob Herring	usb@7d008000 {
176724ba675SRob Herring		status = "okay";
177724ba675SRob Herring	};
178724ba675SRob Herring
179724ba675SRob Herring	usb-phy@7d008000 {
180724ba675SRob Herring		status = "okay";
181724ba675SRob Herring		vbus-supply = <&reg_usbh_vbus>;
182724ba675SRob Herring	};
183724ba675SRob Herring
184724ba675SRob Herring	backlight: backlight {
185724ba675SRob Herring		compatible = "pwm-backlight";
186724ba675SRob Herring		brightness-levels = <255 231 223 207 191 159 127 0>;
187724ba675SRob Herring		default-brightness-level = <6>;
188724ba675SRob Herring		/* BKL1_ON */
189724ba675SRob Herring		enable-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
190724ba675SRob Herring		power-supply = <&reg_3v3>;
191724ba675SRob Herring		pwms = <&pwm 0 5000000>; /* BKL1_PWM */
192724ba675SRob Herring	};
193724ba675SRob Herring
194724ba675SRob Herring	gpio-keys {
195724ba675SRob Herring		compatible = "gpio-keys";
196724ba675SRob Herring
197724ba675SRob Herring		key-wakeup {
198724ba675SRob Herring			label = "WAKE1_MICO";
199724ba675SRob Herring			gpios = <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_LOW>;
200724ba675SRob Herring			linux,code = <KEY_WAKEUP>;
201724ba675SRob Herring			debounce-interval = <10>;
202724ba675SRob Herring			wakeup-source;
203724ba675SRob Herring		};
204724ba675SRob Herring	};
205724ba675SRob Herring
206724ba675SRob Herring	panel: panel {
207724ba675SRob Herring		/*
208724ba675SRob Herring		 * edt,et057090dhu: EDT 5.7" LCD TFT
209724ba675SRob Herring		 * edt,et070080dh6: EDT 7.0" LCD TFT
210724ba675SRob Herring		 */
211724ba675SRob Herring		compatible = "edt,et057090dhu";
212724ba675SRob Herring		backlight = <&backlight>;
213724ba675SRob Herring		power-supply = <&reg_3v3>;
214724ba675SRob Herring	};
215724ba675SRob Herring
216724ba675SRob Herring	reg_3v3: regulator-3v3 {
217724ba675SRob Herring		compatible = "regulator-fixed";
218724ba675SRob Herring		regulator-name = "3.3V_SW";
219724ba675SRob Herring		regulator-min-microvolt = <3300000>;
220724ba675SRob Herring		regulator-max-microvolt = <3300000>;
221724ba675SRob Herring	};
222724ba675SRob Herring
223724ba675SRob Herring	reg_5v0: regulator-5v0 {
224724ba675SRob Herring		compatible = "regulator-fixed";
225724ba675SRob Herring		regulator-name = "5V_SW";
226724ba675SRob Herring		regulator-min-microvolt = <5000000>;
227724ba675SRob Herring		regulator-max-microvolt = <5000000>;
228724ba675SRob Herring	};
229724ba675SRob Herring
230724ba675SRob Herring	/* USBO1_EN */
231724ba675SRob Herring	reg_usbo1_vbus: regulator-usbo1-vbus {
232724ba675SRob Herring		compatible = "regulator-fixed";
233724ba675SRob Herring		regulator-name = "VCC_USBO1";
234724ba675SRob Herring		regulator-min-microvolt = <5000000>;
235724ba675SRob Herring		regulator-max-microvolt = <5000000>;
236724ba675SRob Herring		gpio = <&gpio TEGRA_GPIO(T, 5) GPIO_ACTIVE_HIGH>;
237724ba675SRob Herring		enable-active-high;
238724ba675SRob Herring		vin-supply = <&reg_5v0>;
239724ba675SRob Herring	};
240724ba675SRob Herring
241724ba675SRob Herring	/* USBH_EN */
242724ba675SRob Herring	reg_usbh_vbus: regulator-usbh-vbus {
243724ba675SRob Herring		compatible = "regulator-fixed";
244724ba675SRob Herring		regulator-name = "VCC_USBH(2A|2C|2D|3|4)";
245724ba675SRob Herring		regulator-min-microvolt = <5000000>;
246724ba675SRob Herring		regulator-max-microvolt = <5000000>;
247724ba675SRob Herring		gpio = <&gpio TEGRA_GPIO(DD, 1) GPIO_ACTIVE_HIGH>;
248724ba675SRob Herring		enable-active-high;
249724ba675SRob Herring		vin-supply = <&reg_5v0>;
250724ba675SRob Herring	};
251724ba675SRob Herring
252724ba675SRob Herring	/*
253724ba675SRob Herring	 * 1.8 volt resp. 3.3 volt VDDIO_SDMMC3 depending on
254724ba675SRob Herring	 * EN_+3.3_SDMMC3 GPIO
255724ba675SRob Herring	 */
256724ba675SRob Herring	reg_vddio_sdmmc3: regulator-vddio-sdmmc3 {
257724ba675SRob Herring		compatible = "regulator-gpio";
258724ba675SRob Herring		regulator-name = "VDDIO_SDMMC3";
259724ba675SRob Herring		regulator-min-microvolt = <1800000>;
260724ba675SRob Herring		regulator-max-microvolt = <3300000>;
261724ba675SRob Herring		regulator-type = "voltage";
262724ba675SRob Herring		gpios = <&gpio TEGRA_GPIO(J, 5) GPIO_ACTIVE_HIGH>;
263724ba675SRob Herring		states = <1800000 0x0>,
264724ba675SRob Herring			 <3300000 0x1>;
265724ba675SRob Herring		startup-delay-us = <100000>;
266724ba675SRob Herring		vin-supply = <&vddio_sdmmc_1v8_reg>;
267724ba675SRob Herring	};
268724ba675SRob Herring};
269