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