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