1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2724ba675SRob Herring
3724ba675SRob Herring/dts-v1/;
4724ba675SRob Herring
5724ba675SRob Herring#include <dt-bindings/input/gpio-keys.h>
6724ba675SRob Herring#include <dt-bindings/input/input.h>
7724ba675SRob Herring
8724ba675SRob Herring#include "tegra114.dtsi"
9724ba675SRob Herring
10724ba675SRob Herring/ {
11724ba675SRob Herring	model = "Asus Transformer Pad TF701T";
12724ba675SRob Herring	compatible = "asus,tf701t", "nvidia,tegra114";
13724ba675SRob Herring	chassis-type = "convertible";
14724ba675SRob Herring
15724ba675SRob Herring	aliases {
16724ba675SRob Herring		mmc0 = "/mmc@78000600"; /* eMMC */
17724ba675SRob Herring		mmc1 = "/mmc@78000400"; /* uSD slot */
18724ba675SRob Herring		mmc2 = "/mmc@78000000"; /* WiFi */
19724ba675SRob Herring
20724ba675SRob Herring		rtc0 = &palmas;
21724ba675SRob Herring		rtc1 = "/rtc@7000e000";
22724ba675SRob Herring
23724ba675SRob Herring		serial0 = &uartd; /* Console */
24724ba675SRob Herring		serial1 = &uartc; /* Bluetooth */
25724ba675SRob Herring		serial2 = &uartb; /* GPS */
26724ba675SRob Herring	};
27724ba675SRob Herring
28724ba675SRob Herring	firmware {
29724ba675SRob Herring		trusted-foundations {
30724ba675SRob Herring			compatible = "tlm,trusted-foundations";
31724ba675SRob Herring			tlm,version-major = <2>;
32724ba675SRob Herring			tlm,version-minor = <8>;
33724ba675SRob Herring		};
34724ba675SRob Herring	};
35724ba675SRob Herring
36724ba675SRob Herring	memory@80000000 {
37724ba675SRob Herring		reg = <0x80000000 0x80000000>;
38724ba675SRob Herring	};
39724ba675SRob Herring
40724ba675SRob Herring	reserved-memory {
41724ba675SRob Herring		#address-cells = <1>;
42724ba675SRob Herring		#size-cells = <1>;
43724ba675SRob Herring		ranges;
44724ba675SRob Herring
45724ba675SRob Herring		linux,cma@80000000 {
46724ba675SRob Herring			compatible = "shared-dma-pool";
47724ba675SRob Herring			alloc-ranges = <0x80000000 0x30000000>;
48724ba675SRob Herring			size = <0x10000000>;
49724ba675SRob Herring			linux,cma-default;
50724ba675SRob Herring			reusable;
51724ba675SRob Herring		};
52724ba675SRob Herring
53724ba675SRob Herring		trustzone@bfe00000 {
54724ba675SRob Herring			reg = <0xbfe00000 0x200000>;
55724ba675SRob Herring			no-map;
56724ba675SRob Herring		};
57724ba675SRob Herring	};
58724ba675SRob Herring
59724ba675SRob Herring	host1x@50000000 {
60724ba675SRob Herring		dsi@54300000 {
61724ba675SRob Herring			status = "okay";
62724ba675SRob Herring
63724ba675SRob Herring			avdd-dsi-csi-supply = <&tps65913_ldo2>;
64724ba675SRob Herring
65724ba675SRob Herring			nvidia,ganged-mode = <&dsib>;
66724ba675SRob Herring
67724ba675SRob Herring			panel_primary: panel@0 {
68724ba675SRob Herring				compatible = "sharp,lq101r1sx01";
69724ba675SRob Herring				reg = <0>;
70724ba675SRob Herring
71724ba675SRob Herring				link2 = <&panel_secondary>;
72724ba675SRob Herring
73724ba675SRob Herring				power-supply = <&vdd_lcd>;
74724ba675SRob Herring				backlight = <&backlight>;
75724ba675SRob Herring			};
76724ba675SRob Herring		};
77724ba675SRob Herring
78724ba675SRob Herring		dsi@54400000 {
79724ba675SRob Herring			status = "okay";
80724ba675SRob Herring
81724ba675SRob Herring			avdd-dsi-csi-supply = <&tps65913_ldo2>;
82724ba675SRob Herring
83724ba675SRob Herring			panel_secondary: panel@0 {
84724ba675SRob Herring				compatible = "sharp,lq101r1sx01";
85724ba675SRob Herring				reg = <0>;
86724ba675SRob Herring			};
87724ba675SRob Herring		};
88724ba675SRob Herring	};
89724ba675SRob Herring
90724ba675SRob Herring	pinmux@70000868 {
91724ba675SRob Herring		asus_pad_ec_default: pinmux-asus-pad-ec-default {
92724ba675SRob Herring			ec-interrupt {
93724ba675SRob Herring				nvidia,pins = "kb_col5_pq5";
94724ba675SRob Herring				nvidia,function = "kbc";
95724ba675SRob Herring				nvidia,pull = <TEGRA_PIN_PULL_UP>;
96724ba675SRob Herring				nvidia,tristate = <TEGRA_PIN_DISABLE>;
97724ba675SRob Herring				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
98724ba675SRob Herring			};
99724ba675SRob Herring
100724ba675SRob Herring			ec-request {
101724ba675SRob Herring				nvidia,pins = "kb_col2_pq2";
102724ba675SRob Herring				nvidia,function = "kbc";
103724ba675SRob Herring				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
104724ba675SRob Herring				nvidia,tristate = <TEGRA_PIN_DISABLE>;
105724ba675SRob Herring				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
106724ba675SRob Herring			};
107724ba675SRob Herring		};
108724ba675SRob Herring
109724ba675SRob Herring		backlight_default: pinmux-backlight-default {
110724ba675SRob Herring			backlight-enable {
111724ba675SRob Herring				nvidia,pins = "gmi_ad10_ph2";
112724ba675SRob Herring				nvidia,function = "gmi";
113724ba675SRob Herring				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
114724ba675SRob Herring				nvidia,tristate = <TEGRA_PIN_DISABLE>;
115724ba675SRob Herring				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
116724ba675SRob Herring			};
117724ba675SRob Herring		};
118724ba675SRob Herring
119724ba675SRob Herring		codec_default: pinmux-codec-default {
120724ba675SRob Herring			interrupt {
121724ba675SRob Herring				nvidia,pins = "gpio_w2_aud_pw2",
122724ba675SRob Herring						"gpio_w3_aud_pw3";
123724ba675SRob Herring				nvidia,function = "spi6";
124724ba675SRob Herring				nvidia,pull = <TEGRA_PIN_PULL_UP>;
125724ba675SRob Herring				nvidia,tristate = <TEGRA_PIN_DISABLE>;
126724ba675SRob Herring				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
127724ba675SRob Herring			};
128724ba675SRob Herring
129724ba675SRob Herring			ldo1-en {
130724ba675SRob Herring				nvidia,pins = "sdmmc1_wp_n_pv3";
131724ba675SRob Herring				nvidia,function = "sdmmc1";
132724ba675SRob Herring				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
133724ba675SRob Herring				nvidia,tristate = <TEGRA_PIN_DISABLE>;
134724ba675SRob Herring				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
135724ba675SRob Herring			};
136724ba675SRob Herring		};
137724ba675SRob Herring
138724ba675SRob Herring		gpio_hall_sensor_default: pinmux-gpio-hall-sensor-default {
139724ba675SRob Herring			ulpi_data4_po5 {
140724ba675SRob Herring				nvidia,pins = "ulpi_data4_po5";
141724ba675SRob Herring				nvidia,function = "spi2";
142724ba675SRob Herring				nvidia,pull = <TEGRA_PIN_PULL_UP>;
143724ba675SRob Herring				nvidia,tristate = <TEGRA_PIN_DISABLE>;
144724ba675SRob Herring				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
145724ba675SRob Herring			};
146724ba675SRob Herring		};
147724ba675SRob Herring
148724ba675SRob Herring		gpio_keys_default: pinmux-gpio-keys-default {
149724ba675SRob Herring			power {
150724ba675SRob Herring				nvidia,pins = "kb_col0_pq0";
151724ba675SRob Herring				nvidia,function = "kbc";
152724ba675SRob Herring				nvidia,pull = <TEGRA_PIN_PULL_UP>;
153724ba675SRob Herring				nvidia,tristate = <TEGRA_PIN_ENABLE>;
154724ba675SRob Herring				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
155724ba675SRob Herring			};
156724ba675SRob Herring
157724ba675SRob Herring			volume {
158724ba675SRob Herring				nvidia,pins = "kb_row1_pr1",
159724ba675SRob Herring						"kb_row2_pr2";
160724ba675SRob Herring				nvidia,function = "rsvd2";
161724ba675SRob Herring				nvidia,pull = <TEGRA_PIN_PULL_UP>;
162724ba675SRob Herring				nvidia,tristate = <TEGRA_PIN_ENABLE>;
163724ba675SRob Herring				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
164724ba675SRob Herring			};
165724ba675SRob Herring		};
166724ba675SRob Herring
167724ba675SRob Herring		hp_det_default: pinmux-hp-det-default {
168724ba675SRob Herring			gmi_iordy_pi5 {
169724ba675SRob Herring				nvidia,pins = "kb_row7_pr7";
170724ba675SRob Herring				nvidia,function = "rsvd2";
171724ba675SRob Herring				nvidia,pull = <TEGRA_PIN_PULL_UP>;
172724ba675SRob Herring				nvidia,tristate = <TEGRA_PIN_DISABLE>;
173724ba675SRob Herring				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
174724ba675SRob Herring			};
175724ba675SRob Herring		};
176724ba675SRob Herring
177724ba675SRob Herring		imu_default: pinmux-imu-default {
178724ba675SRob Herring			kb_row3_pr3 {
179724ba675SRob Herring				nvidia,pins = "kb_row3_pr3";
180724ba675SRob Herring				nvidia,function = "rsvd3";
181724ba675SRob Herring				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
182724ba675SRob Herring				nvidia,tristate = <TEGRA_PIN_DISABLE>;
183724ba675SRob Herring				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
184724ba675SRob Herring			};
185724ba675SRob Herring		};
186724ba675SRob Herring
187724ba675SRob Herring		pwm_default: pinmux-pwm-default {
188724ba675SRob Herring			gmi_ad9_ph1 {
189724ba675SRob Herring				nvidia,pins = "gmi_ad9_ph1";
190724ba675SRob Herring				nvidia,function = "pwm1";
191724ba675SRob Herring				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
192724ba675SRob Herring				nvidia,tristate = <TEGRA_PIN_DISABLE>;
193724ba675SRob Herring				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
194724ba675SRob Herring			};
195724ba675SRob Herring		};
196724ba675SRob Herring
197724ba675SRob Herring		/* XXX make this something more sensible */
198724ba675SRob Herring		pwm_sleep: pinmux-pwm-sleep {
199724ba675SRob Herring			gmi_ad9_ph1 {
200724ba675SRob Herring				nvidia,pins = "gmi_ad9_ph1";
201724ba675SRob Herring				nvidia,function = "pwm1";
202724ba675SRob Herring				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
203724ba675SRob Herring				nvidia,tristate = <TEGRA_PIN_DISABLE>;
204724ba675SRob Herring				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
205724ba675SRob Herring			};
206724ba675SRob Herring		};
207724ba675SRob Herring
208724ba675SRob Herring		sdmmc3_default: pinmux-sdmmc3-default {
209724ba675SRob Herring			drive_sdio3 {
210724ba675SRob Herring				nvidia,pins = "drive_sdio3";
211724ba675SRob Herring				nvidia,high-speed-mode = <TEGRA_PIN_ENABLE>;
212724ba675SRob Herring				nvidia,schmitt = <TEGRA_PIN_DISABLE>;
213724ba675SRob Herring				nvidia,pull-down-strength = <22>;
214724ba675SRob Herring				nvidia,pull-up-strength = <36>;
215724ba675SRob Herring				nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_FASTEST>;
216724ba675SRob Herring				nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_FASTEST>;
217724ba675SRob Herring			};
218724ba675SRob Herring
219724ba675SRob Herring			sdmmc3_clk_pa6 {
220724ba675SRob Herring				nvidia,pins = "sdmmc3_clk_pa6";
221724ba675SRob Herring				nvidia,function = "sdmmc3";
222724ba675SRob Herring				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
223724ba675SRob Herring				nvidia,tristate = <TEGRA_PIN_DISABLE>;
224724ba675SRob Herring				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
225724ba675SRob Herring			};
226724ba675SRob Herring
227724ba675SRob Herring			sdmmc3_cmd_pa7 {
228724ba675SRob Herring				nvidia,pins = "sdmmc3_cmd_pa7",
229724ba675SRob Herring						"sdmmc3_dat0_pb7",
230724ba675SRob Herring						"sdmmc3_dat1_pb6",
231724ba675SRob Herring						"sdmmc3_dat2_pb5",
232724ba675SRob Herring						"sdmmc3_dat3_pb4",
233724ba675SRob Herring						"kb_col4_pq4",
234724ba675SRob Herring						"sdmmc3_clk_lb_out_pee4",
235724ba675SRob Herring						"sdmmc3_clk_lb_in_pee5",
236724ba675SRob Herring						"sdmmc3_cd_n_pv2";
237724ba675SRob Herring				nvidia,function = "sdmmc3";
238724ba675SRob Herring				nvidia,pull = <TEGRA_PIN_PULL_UP>;
239724ba675SRob Herring				nvidia,tristate = <TEGRA_PIN_DISABLE>;
240724ba675SRob Herring				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
241724ba675SRob Herring			};
242724ba675SRob Herring		};
243724ba675SRob Herring
244724ba675SRob Herring		sdmmc3_vdd_default: pinmux-sdmmc3-vdd-default {
245724ba675SRob Herring			gmi_clk_pk1 {
246724ba675SRob Herring				nvidia,pins = "gmi_clk_pk1";
247724ba675SRob Herring				nvidia,function = "gmi";
248724ba675SRob Herring				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
249724ba675SRob Herring				nvidia,tristate = <TEGRA_PIN_DISABLE>;
250724ba675SRob Herring				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
251724ba675SRob Herring			};
252724ba675SRob Herring		};
253724ba675SRob Herring
254724ba675SRob Herring		vdd_lcd_default: pinmux-vdd-lcd-default {
255724ba675SRob Herring			sdmmc4_clk_pcc4 {
256724ba675SRob Herring				nvidia,pins = "sdmmc4_clk_pcc4";
257724ba675SRob Herring				nvidia,function = "sdmmc4";
258724ba675SRob Herring				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
259724ba675SRob Herring				nvidia,tristate = <TEGRA_PIN_DISABLE>;
260724ba675SRob Herring				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
261724ba675SRob Herring			};
262724ba675SRob Herring		};
263724ba675SRob Herring	};
264724ba675SRob Herring
265724ba675SRob Herring	serial@70006040 {
266724ba675SRob Herring		/* GPS */
267724ba675SRob Herring	};
268724ba675SRob Herring
269724ba675SRob Herring	serial@70006200 {
270724ba675SRob Herring		/* Bluetooth */
271724ba675SRob Herring	};
272724ba675SRob Herring
273724ba675SRob Herring	serial@70006300 {
274*9766116aSThierry Reding		/delete-property/ dmas;
275*9766116aSThierry Reding		/delete-property/ dma-names;
276724ba675SRob Herring		status = "okay";
277724ba675SRob Herring	};
278724ba675SRob Herring
279724ba675SRob Herring	pwm@7000a000 {
280724ba675SRob Herring		status = "okay";
281724ba675SRob Herring
282724ba675SRob Herring		pinctrl-names = "default", "sleep";
283724ba675SRob Herring		pinctrl-0 = <&pwm_default>;
284724ba675SRob Herring		pinctrl-1 = <&pwm_sleep>;
285724ba675SRob Herring	};
286724ba675SRob Herring
287724ba675SRob Herring	i2c@7000c000 {
288724ba675SRob Herring		status = "okay";
289724ba675SRob Herring		clock-frequency = <100000>;
290724ba675SRob Herring
291724ba675SRob Herring		magnetometer@c {
292724ba675SRob Herring			compatible = "asahi-kasei,ak09911";
293724ba675SRob Herring			reg = <0xc>;
294724ba675SRob Herring
295724ba675SRob Herring			vdd-supply = <&vdd_3v3_sys>;
296724ba675SRob Herring		};
297724ba675SRob Herring
298724ba675SRob Herring		rt5639: audio-codec@1c {
299724ba675SRob Herring			compatible = "realtek,rt5639";
300724ba675SRob Herring			reg = <0x1c>;
301724ba675SRob Herring
302724ba675SRob Herring			interrupt-parent = <&gpio>;
303724ba675SRob Herring			interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_EDGE_FALLING>;
304724ba675SRob Herring
305724ba675SRob Herring			realtek,ldo1-en-gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>;
306724ba675SRob Herring
307724ba675SRob Herring			pinctrl-names = "default";
308724ba675SRob Herring			pinctrl-0 = <&codec_default>;
309724ba675SRob Herring		};
310724ba675SRob Herring
311724ba675SRob Herring		temp_sensor: temperature-sensor@4c {
312724ba675SRob Herring			compatible = "onnn,nct1008";
313724ba675SRob Herring			reg = <0x4c>;
314724ba675SRob Herring
315724ba675SRob Herring			vcc-supply = <&vdd_3v3_sys>;
316724ba675SRob Herring			#thermal-sensor-cells = <1>;
317724ba675SRob Herring		};
318724ba675SRob Herring
319724ba675SRob Herring		motion-tracker@68 {
320724ba675SRob Herring			compatible = "invensense,mpu6500";
321724ba675SRob Herring			reg = <0x68>;
322724ba675SRob Herring
323724ba675SRob Herring			interrupt-parent = <&gpio>;
324724ba675SRob Herring			interrupts = <TEGRA_GPIO(R, 3) IRQ_TYPE_LEVEL_HIGH>;
325724ba675SRob Herring
326724ba675SRob Herring			mount-matrix =  "0", "-1", "0",
327724ba675SRob Herring					"1",  "0", "0",
328724ba675SRob Herring					"0",  "0", "1";
329724ba675SRob Herring
330724ba675SRob Herring			pinctrl-names = "default";
331724ba675SRob Herring			pinctrl-0 = <&imu_default>;
332724ba675SRob Herring		};
333724ba675SRob Herring	};
334724ba675SRob Herring
335724ba675SRob Herring	i2c@7000c400 {
336724ba675SRob Herring		status = "okay";
337724ba675SRob Herring		clock-frequency = <100000>;
338724ba675SRob Herring
339724ba675SRob Herring		power-sensor@44 {
340724ba675SRob Herring			compatible = "ti,ina230";
341724ba675SRob Herring			reg = <0x44>;
342724ba675SRob Herring		};
343724ba675SRob Herring	};
344724ba675SRob Herring
345724ba675SRob Herring	i2c@7000c500 {
346724ba675SRob Herring		status = "okay";
347724ba675SRob Herring		clock-frequency = <400000>;
348724ba675SRob Herring
349724ba675SRob Herring		light-sensor@1c {
350724ba675SRob Herring			compatible = "dynaimage,al3320a";
351724ba675SRob Herring			reg = <0x1c>;
352724ba675SRob Herring
353724ba675SRob Herring			vdd-supply = <&vdd_3v3_sys>;
354724ba675SRob Herring		};
355724ba675SRob Herring	};
356724ba675SRob Herring
357724ba675SRob Herring	i2c@7000c700 {
358724ba675SRob Herring		/* HDMI DDC */
359724ba675SRob Herring	};
360724ba675SRob Herring
361724ba675SRob Herring	i2c@7000d000 {
362724ba675SRob Herring		status = "okay";
363724ba675SRob Herring		clock-frequency = <400000>;
364724ba675SRob Herring
365724ba675SRob Herring		palmas: pmic@58 {
366724ba675SRob Herring			compatible = "ti,tps65913", "ti,palmas";
367724ba675SRob Herring			reg = <0x58>;
368724ba675SRob Herring			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
369724ba675SRob Herring
370724ba675SRob Herring			#interrupt-cells = <2>;
371724ba675SRob Herring			interrupt-controller;
372724ba675SRob Herring
373724ba675SRob Herring			ti,system-power-controller;
374724ba675SRob Herring
375724ba675SRob Herring			palmas_gpio: gpio {
376724ba675SRob Herring				compatible = "ti,palmas-gpio";
377724ba675SRob Herring				gpio-controller;
378724ba675SRob Herring				#gpio-cells = <2>;
379724ba675SRob Herring			};
380724ba675SRob Herring
381724ba675SRob Herring			pinmux {
382724ba675SRob Herring				compatible = "ti,tps65913-pinctrl";
383724ba675SRob Herring				ti,palmas-enable-dvfs1;
384724ba675SRob Herring
385724ba675SRob Herring				pinctrl-names = "default";
386724ba675SRob Herring				pinctrl-0 = <&palmas_default>;
387724ba675SRob Herring
388724ba675SRob Herring				palmas_default: pinmux {
389724ba675SRob Herring					pin_gpio0 {
390724ba675SRob Herring						pins = "gpio0";
391724ba675SRob Herring						function = "gpio";
392724ba675SRob Herring					};
393724ba675SRob Herring
394724ba675SRob Herring					pin_gpio1 {
395724ba675SRob Herring						pins = "gpio1";
396724ba675SRob Herring						function = "gpio";
397724ba675SRob Herring					};
398724ba675SRob Herring
399724ba675SRob Herring					pin_gpio2 {
400724ba675SRob Herring						pins = "gpio2";
401724ba675SRob Herring						function = "gpio";
402724ba675SRob Herring					};
403724ba675SRob Herring
404724ba675SRob Herring					pin_gpio3 {
405724ba675SRob Herring						pins = "gpio3";
406724ba675SRob Herring						function = "gpio";
407724ba675SRob Herring					};
408724ba675SRob Herring
409724ba675SRob Herring					pin_gpio4 {
410724ba675SRob Herring						pins = "gpio4";
411724ba675SRob Herring						function = "gpio";
412724ba675SRob Herring					};
413724ba675SRob Herring
414724ba675SRob Herring					pin_gpio5 {
415724ba675SRob Herring						pins = "gpio5";
416724ba675SRob Herring						function = "gpio";
417724ba675SRob Herring					};
418724ba675SRob Herring
419724ba675SRob Herring					pin_gpio6 {
420724ba675SRob Herring						pins = "gpio6";
421724ba675SRob Herring						function = "gpio";
422724ba675SRob Herring					};
423724ba675SRob Herring
424724ba675SRob Herring					pin_gpio7 {
425724ba675SRob Herring						pins = "gpio7";
426724ba675SRob Herring						function = "gpio";
427724ba675SRob Herring					};
428724ba675SRob Herring
429724ba675SRob Herring					pin_powergood {
430724ba675SRob Herring						pins = "powergood";
431724ba675SRob Herring						function = "powergood";
432724ba675SRob Herring					};
433724ba675SRob Herring
434724ba675SRob Herring					pin_vac {
435724ba675SRob Herring						pins = "vac";
436724ba675SRob Herring						function = "vac";
437724ba675SRob Herring					};
438724ba675SRob Herring				};
439724ba675SRob Herring			};
440724ba675SRob Herring
441724ba675SRob Herring			pmic {
442724ba675SRob Herring				compatible = "ti,tps65913-pmic", "ti,palmas-pmic";
443724ba675SRob Herring
444724ba675SRob Herring				ldo1-in-supply = <&tps65913_smps7>;
445724ba675SRob Herring				ldo2-in-supply = <&tps65913_smps7>;
446724ba675SRob Herring				ldo4-in-supply = <&tps65913_smps8>;
447724ba675SRob Herring				ldo5-in-supply = <&tps65913_smps9>;
448724ba675SRob Herring				ldo6-in-supply = <&tps65913_smps9>;
449724ba675SRob Herring				ldo7-in-supply = <&tps65913_smps9>;
450724ba675SRob Herring				ldo9-in-supply = <&tps65913_smps9>;
451724ba675SRob Herring
452724ba675SRob Herring				regulators {
453724ba675SRob Herring					tps65913_smps123: smps123 {
454724ba675SRob Herring						regulator-name = "vdd-cpu";
455724ba675SRob Herring						regulator-min-microvolt = <900000>;
456724ba675SRob Herring						regulator-max-microvolt = <1350000>;
457724ba675SRob Herring						regulator-always-on;
458724ba675SRob Herring						regulator-boot-on;
459724ba675SRob Herring						ti,roof-floor = <1>;
460724ba675SRob Herring						ti,mode-sleep = <3>;
461724ba675SRob Herring					};
462724ba675SRob Herring
463724ba675SRob Herring					tps65913_smps45: smps45 {
464724ba675SRob Herring						regulator-name = "vdd-core";
465724ba675SRob Herring						regulator-min-microvolt = <900000>;
466724ba675SRob Herring						regulator-max-microvolt = <1400000>;
467724ba675SRob Herring						regulator-always-on;
468724ba675SRob Herring						regulator-boot-on;
469724ba675SRob Herring						ti,roof-floor = <3>;
470724ba675SRob Herring					};
471724ba675SRob Herring
472724ba675SRob Herring					smps6 {
473724ba675SRob Herring						regulator-name = "va-lcd-hv";
474724ba675SRob Herring						regulator-min-microvolt = <1000000>;
475724ba675SRob Herring						regulator-max-microvolt = <1000000>;
476724ba675SRob Herring						regulator-always-on;
477724ba675SRob Herring						regulator-boot-on;
478724ba675SRob Herring					};
479724ba675SRob Herring
480724ba675SRob Herring					tps65913_smps7: smps7 {
481724ba675SRob Herring						regulator-name = "vdd-ddr";
482724ba675SRob Herring						regulator-min-microvolt = <1350000>;
483724ba675SRob Herring						regulator-max-microvolt = <1350000>;
484724ba675SRob Herring						regulator-always-on;
485724ba675SRob Herring						regulator-boot-on;
486724ba675SRob Herring					};
487724ba675SRob Herring
488724ba675SRob Herring					tps65913_smps8: smps8 {
489724ba675SRob Herring						regulator-name = "vdd-1v8";
490724ba675SRob Herring						regulator-min-microvolt = <1800000>;
491724ba675SRob Herring						regulator-max-microvolt = <1800000>;
492724ba675SRob Herring						regulator-always-on;
493724ba675SRob Herring						regulator-boot-on;
494724ba675SRob Herring					};
495724ba675SRob Herring
496724ba675SRob Herring					tps65913_smps9: smps9 {
497724ba675SRob Herring						regulator-name = "vdd-sd";
498724ba675SRob Herring						regulator-min-microvolt = <2900000>;
499724ba675SRob Herring						regulator-max-microvolt = <2900000>;
500724ba675SRob Herring						regulator-always-on;
501724ba675SRob Herring					};
502724ba675SRob Herring
503724ba675SRob Herring					tps65913_smps10_out1: smps10_out1 {
504724ba675SRob Herring						regulator-name = "vd-smps10-out1";
505724ba675SRob Herring						regulator-min-microvolt = <5000000>;
506724ba675SRob Herring						regulator-max-microvolt = <5000000>;
507724ba675SRob Herring						regulator-always-on;
508724ba675SRob Herring						regulator-boot-on;
509724ba675SRob Herring					};
510724ba675SRob Herring
511724ba675SRob Herring					tps65913_smps10_out2: smps10_out2 {
512724ba675SRob Herring						regulator-name = "vd-smps10-out2";
513724ba675SRob Herring						regulator-min-microvolt = <5000000>;
514724ba675SRob Herring						regulator-max-microvolt = <5000000>;
515724ba675SRob Herring						regulator-always-on;
516724ba675SRob Herring						regulator-boot-on;
517724ba675SRob Herring					};
518724ba675SRob Herring
519724ba675SRob Herring					tps65913_ldo1: ldo1 {
520724ba675SRob Herring						regulator-name = "vdd-hdmi-pll";
521724ba675SRob Herring						regulator-min-microvolt = <1050000>;
522724ba675SRob Herring						regulator-max-microvolt = <1050000>;
523724ba675SRob Herring						regulator-always-on;
524724ba675SRob Herring						ti,roof-floor = <3>;
525724ba675SRob Herring					};
526724ba675SRob Herring
527724ba675SRob Herring					tps65913_ldo2: ldo2 {
528724ba675SRob Herring						regulator-name = "vdd-2v8-dsi-csi";
529724ba675SRob Herring						regulator-min-microvolt = <1200000>;
530724ba675SRob Herring						regulator-max-microvolt = <1200000>;
531724ba675SRob Herring						regulator-boot-on;
532724ba675SRob Herring					};
533724ba675SRob Herring
534724ba675SRob Herring					ldo3 {
535724ba675SRob Herring						regulator-name = "vpp-fuse";
536724ba675SRob Herring						regulator-min-microvolt = <1800000>;
537724ba675SRob Herring						regulator-max-microvolt = <1800000>;
538724ba675SRob Herring					};
539724ba675SRob Herring
540724ba675SRob Herring					ldo4 {
541724ba675SRob Herring						regulator-name = "vdd-1v2-cam";
542724ba675SRob Herring						regulator-min-microvolt = <1200000>;
543724ba675SRob Herring						regulator-max-microvolt = <1200000>;
544724ba675SRob Herring					};
545724ba675SRob Herring
546724ba675SRob Herring					ldo5 {
547724ba675SRob Herring						regulator-name = "vdd-cam";
548724ba675SRob Herring						regulator-min-microvolt = <2800000>;
549724ba675SRob Herring						regulator-max-microvolt = <2800000>;
550724ba675SRob Herring					};
551724ba675SRob Herring
552724ba675SRob Herring					ldo6 {
553724ba675SRob Herring						regulator-name = "vdd-dev";
554724ba675SRob Herring						regulator-min-microvolt = <2850000>;
555724ba675SRob Herring						regulator-max-microvolt = <2850000>;
556724ba675SRob Herring						regulator-boot-on;
557724ba675SRob Herring					};
558724ba675SRob Herring
559724ba675SRob Herring					ldo7 {
560724ba675SRob Herring						regulator-name = "vdd-2v8-cam";
561724ba675SRob Herring						regulator-min-microvolt = <2800000>;
562724ba675SRob Herring						regulator-max-microvolt = <2800000>;
563724ba675SRob Herring					};
564724ba675SRob Herring
565724ba675SRob Herring					tps65913_ldo8: ldo8 {
566724ba675SRob Herring						regulator-name = "vdd-rtc";
567724ba675SRob Herring						regulator-min-microvolt = <950000>;
568724ba675SRob Herring						regulator-max-microvolt = <950000>;
569724ba675SRob Herring						regulator-always-on;
570724ba675SRob Herring						regulator-boot-on;
571724ba675SRob Herring						ti,enable-ldo8-tracking;
572724ba675SRob Herring					};
573724ba675SRob Herring
574724ba675SRob Herring					tps65913_ldo9: ldo9 {
575724ba675SRob Herring						regulator-name = "vdd-sdmmc";
576724ba675SRob Herring						regulator-min-microvolt = <1800000>;
577724ba675SRob Herring						regulator-max-microvolt = <2900000>;
578724ba675SRob Herring					};
579724ba675SRob Herring
580724ba675SRob Herring					tps65913_ldoln: ldoln {
581724ba675SRob Herring						regulator-name = "vdd-hdmi";
582724ba675SRob Herring						regulator-min-microvolt = <3300000>;
583724ba675SRob Herring						regulator-max-microvolt = <3300000>;
584724ba675SRob Herring					};
585724ba675SRob Herring
586724ba675SRob Herring					ldousb {
587724ba675SRob Herring						regulator-name = "vdd-usb";
588724ba675SRob Herring						regulator-min-microvolt = <3300000>;
589724ba675SRob Herring						regulator-max-microvolt = <3300000>;
590724ba675SRob Herring						regulator-always-on;
591724ba675SRob Herring						regulator-boot-on;
592724ba675SRob Herring					};
593724ba675SRob Herring				};
594724ba675SRob Herring			};
595724ba675SRob Herring
596724ba675SRob Herring			rtc {
597724ba675SRob Herring				compatible = "ti,palmas-rtc";
598724ba675SRob Herring				interrupt-parent = <&palmas>;
599724ba675SRob Herring				interrupts = <8 0>;
600724ba675SRob Herring			};
601724ba675SRob Herring		};
602724ba675SRob Herring	};
603724ba675SRob Herring
604724ba675SRob Herring	ahub@70080000 {
605724ba675SRob Herring		i2s@70080300 {
606724ba675SRob Herring			status = "okay";
607724ba675SRob Herring		};
608724ba675SRob Herring	};
609724ba675SRob Herring
610724ba675SRob Herring	mmc@78000000 {
611724ba675SRob Herring		/* WiFi */
612724ba675SRob Herring	};
613724ba675SRob Herring
614724ba675SRob Herring	/* MicroSD card */
615724ba675SRob Herring	mmc@78000400 {
616724ba675SRob Herring		status = "okay";
617724ba675SRob Herring
618724ba675SRob Herring		bus-width = <4>;
619724ba675SRob Herring		cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
620724ba675SRob Herring
621724ba675SRob Herring		nvidia,default-tap = <0x3>;
622724ba675SRob Herring		nvidia,default-trim = <0x3>;
623724ba675SRob Herring
624724ba675SRob Herring		vmmc-supply = <&vdd_usd>;
625724ba675SRob Herring		vqmmc-supply = <&tps65913_ldo9>;
626724ba675SRob Herring
627724ba675SRob Herring		pinctrl-names = "default";
628724ba675SRob Herring		pinctrl-0 = <&sdmmc3_default>;
629724ba675SRob Herring	};
630724ba675SRob Herring
631724ba675SRob Herring	mmc@78000600 {
632724ba675SRob Herring		/* eMMC */
633724ba675SRob Herring	};
634724ba675SRob Herring
635724ba675SRob Herring	usb@7d000000 {
636724ba675SRob Herring		compatible = "nvidia,tegra114-udc";
637724ba675SRob Herring		status = "okay";
638724ba675SRob Herring		dr_mode = "peripheral";
639724ba675SRob Herring
640724ba675SRob Herring		/* Peripheral USB via ASUS connector */
641724ba675SRob Herring	};
642724ba675SRob Herring
643724ba675SRob Herring	usb-phy@7d000000 {
644724ba675SRob Herring		status = "okay";
645724ba675SRob Herring	};
646724ba675SRob Herring
647724ba675SRob Herring	usb@7d008000 {
648724ba675SRob Herring		status = "okay";
649724ba675SRob Herring
650724ba675SRob Herring		/* Host USB via dock */
651724ba675SRob Herring	};
652724ba675SRob Herring
653724ba675SRob Herring	usb-phy@7d008000 {
654724ba675SRob Herring		status = "okay";
655724ba675SRob Herring		vbus-supply = <&vdd_5v0_sys>;
656724ba675SRob Herring	};
657724ba675SRob Herring
658724ba675SRob Herring	backlight: backlight {
659724ba675SRob Herring		compatible = "pwm-backlight";
660724ba675SRob Herring
661724ba675SRob Herring		enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
662724ba675SRob Herring		power-supply = <&vdd_5v0_sys>;
663724ba675SRob Herring		pwms = <&pwm 1 1000000>;
664724ba675SRob Herring
665724ba675SRob Herring		brightness-levels = <1 255>;
666724ba675SRob Herring		num-interpolated-steps = <254>;
667724ba675SRob Herring		default-brightness-level = <224>;
668724ba675SRob Herring
669724ba675SRob Herring		pinctrl-names = "default";
670724ba675SRob Herring		pinctrl-0 = <&backlight_default>;
671724ba675SRob Herring	};
672724ba675SRob Herring
673724ba675SRob Herring	/* PMIC has a built-in 32KHz oscillator which is used by PMC */
674724ba675SRob Herring	clk32k_in: clock-32k {
675724ba675SRob Herring		compatible = "fixed-clock";
676724ba675SRob Herring		#clock-cells = <0>;
677724ba675SRob Herring		clock-frequency = <32768>;
678724ba675SRob Herring		clock-output-names = "pmic-oscillator";
679724ba675SRob Herring	};
680724ba675SRob Herring
681724ba675SRob Herring	gpio-hall-sensor {
682724ba675SRob Herring		compatible = "gpio-keys";
683724ba675SRob Herring
684724ba675SRob Herring		label = "GPIO Hall Effect Sensor";
685724ba675SRob Herring
686724ba675SRob Herring		pinctrl-names = "default";
687724ba675SRob Herring		pinctrl-0 = <&gpio_hall_sensor_default>;
688724ba675SRob Herring
689724ba675SRob Herring		switch-hall-sensor {
690724ba675SRob Herring			label = "Hall Effect Sensor";
691724ba675SRob Herring			gpios = <&gpio TEGRA_GPIO(O, 5) GPIO_ACTIVE_LOW>;
692724ba675SRob Herring			linux,input-type = <EV_SW>;
693724ba675SRob Herring			linux,code = <SW_LID>;
694724ba675SRob Herring			linux,can-disable;
695724ba675SRob Herring			wakeup-source;
696724ba675SRob Herring		};
697724ba675SRob Herring	};
698724ba675SRob Herring
699724ba675SRob Herring	gpio-keys {
700724ba675SRob Herring		compatible = "gpio-keys";
701724ba675SRob Herring
702724ba675SRob Herring		label = "GPIO Buttons";
703724ba675SRob Herring
704724ba675SRob Herring		pinctrl-names = "default";
705724ba675SRob Herring		pinctrl-0 = <&gpio_keys_default>;
706724ba675SRob Herring
707724ba675SRob Herring		button-power {
708724ba675SRob Herring			label = "Power";
709724ba675SRob Herring			gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
710724ba675SRob Herring			linux,code = <KEY_POWER>;
711724ba675SRob Herring			debounce-interval = <10>;
712724ba675SRob Herring			wakeup-source;
713724ba675SRob Herring		};
714724ba675SRob Herring
715724ba675SRob Herring		button-volume-down {
716724ba675SRob Herring			label = "Volume Down";
717724ba675SRob Herring			gpios = <&gpio TEGRA_GPIO(R, 1) GPIO_ACTIVE_LOW>;
718724ba675SRob Herring			linux,code = <KEY_VOLUMEDOWN>;
719724ba675SRob Herring			debounce-interval = <10>;
720724ba675SRob Herring		};
721724ba675SRob Herring
722724ba675SRob Herring		button-volume-up {
723724ba675SRob Herring			label = "Volume Up";
724724ba675SRob Herring			gpios = <&gpio TEGRA_GPIO(R, 2) GPIO_ACTIVE_LOW>;
725724ba675SRob Herring			linux,code = <KEY_VOLUMEUP>;
726724ba675SRob Herring			debounce-interval = <10>;
727724ba675SRob Herring		};
728724ba675SRob Herring	};
729724ba675SRob Herring
730724ba675SRob Herring	sound {
731724ba675SRob Herring		compatible = "asus,tegra-audio-rt5639-tf701t",
732724ba675SRob Herring			     "nvidia,tegra-audio-rt5640";
733724ba675SRob Herring		nvidia,model = "Asus Transformer Pad TF701T RT5639";
734724ba675SRob Herring
735724ba675SRob Herring		nvidia,audio-routing =
736724ba675SRob Herring			"Headphones", "HPOR",
737724ba675SRob Herring			"Headphones", "HPOL",
738724ba675SRob Herring			"Speakers", "SPORP",
739724ba675SRob Herring			"Speakers", "SPORN",
740724ba675SRob Herring			"Speakers", "SPOLP",
741724ba675SRob Herring			"Speakers", "SPOLN",
742724ba675SRob Herring			"Mic Jack", "MICBIAS1",
743724ba675SRob Herring			"IN2P", "Mic Jack";
744724ba675SRob Herring
745724ba675SRob Herring		nvidia,i2s-controller = <&tegra_i2s0>;
746724ba675SRob Herring		nvidia,audio-codec = <&rt5639>;
747724ba675SRob Herring
748724ba675SRob Herring		nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_LOW>;
749724ba675SRob Herring
750724ba675SRob Herring		clocks = <&tegra_car TEGRA114_CLK_PLL_A>,
751724ba675SRob Herring			 <&tegra_car TEGRA114_CLK_PLL_A_OUT0>,
752724ba675SRob Herring			 <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
753724ba675SRob Herring		clock-names = "pll_a", "pll_a_out0", "mclk";
754724ba675SRob Herring
755724ba675SRob Herring		assigned-clocks = <&tegra_car TEGRA114_CLK_EXTERN1>,
756724ba675SRob Herring				  <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
757724ba675SRob Herring
758724ba675SRob Herring		assigned-clock-parents = <&tegra_car TEGRA114_CLK_PLL_A_OUT0>,
759724ba675SRob Herring					 <&tegra_car TEGRA114_CLK_EXTERN1>;
760724ba675SRob Herring
761724ba675SRob Herring		pinctrl-names = "default";
762724ba675SRob Herring		pinctrl-0 = <&hp_det_default>;
763724ba675SRob Herring	};
764724ba675SRob Herring
765724ba675SRob Herring	vdd_5v0_sys: regulator-5v0-sys {
766724ba675SRob Herring		compatible = "regulator-fixed";
767724ba675SRob Herring		regulator-name = "vdd_5v0";
768724ba675SRob Herring		regulator-min-microvolt = <5000000>;
769724ba675SRob Herring		regulator-max-microvolt = <5000000>;
770724ba675SRob Herring		regulator-always-on;
771724ba675SRob Herring		regulator-boot-on;
772724ba675SRob Herring	};
773724ba675SRob Herring
774724ba675SRob Herring	vdd_3v3_sys: regulator-3v3-sys {
775724ba675SRob Herring		compatible = "regulator-fixed";
776724ba675SRob Herring		regulator-name = "vdd_3v3";
777724ba675SRob Herring		regulator-min-microvolt = <3300000>;
778724ba675SRob Herring		regulator-max-microvolt = <3300000>;
779724ba675SRob Herring		regulator-always-on;
780724ba675SRob Herring		regulator-boot-on;
781724ba675SRob Herring	};
782724ba675SRob Herring
783724ba675SRob Herring	vdd_lcd: regulator-vdd-lcd {
784724ba675SRob Herring		compatible = "regulator-fixed";
785724ba675SRob Herring		regulator-name = "vdd_lcd_1v8";
786724ba675SRob Herring		regulator-min-microvolt = <1800000>;
787724ba675SRob Herring		regulator-max-microvolt = <1800000>;
788724ba675SRob Herring		vin-supply = <&tps65913_smps8>;
789724ba675SRob Herring		enable-active-high;
790724ba675SRob Herring		gpio = <&gpio TEGRA_GPIO(CC, 4) GPIO_ACTIVE_HIGH>;
791724ba675SRob Herring		regulator-boot-on;
792724ba675SRob Herring
793724ba675SRob Herring		pinctrl-names = "default";
794724ba675SRob Herring		pinctrl-0 = <&vdd_lcd_default>;
795724ba675SRob Herring	};
796724ba675SRob Herring
797724ba675SRob Herring	vdd_usd: regulator-vdd-usd {
798724ba675SRob Herring		compatible = "regulator-fixed";
799724ba675SRob Herring		regulator-name = "vdd_sd_slot";
800724ba675SRob Herring		regulator-min-microvolt = <2900000>;
801724ba675SRob Herring		regulator-max-microvolt = <2900000>;
802724ba675SRob Herring		vin-supply = <&tps65913_smps9>;
803724ba675SRob Herring		enable-active-high;
804724ba675SRob Herring		gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
805724ba675SRob Herring
806724ba675SRob Herring		pinctrl-names = "default";
807724ba675SRob Herring		pinctrl-0 = <&sdmmc3_vdd_default>;
808724ba675SRob Herring	};
809724ba675SRob Herring};
810