blob: 3f11d33bc4a30ee9482e87afafb73c427a435d59 [file] [log] [blame]
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +03001// SPDX-License-Identifier: GPL-2.0
2/dts-v1/;
3
Svyatoslav Ryhelc59c9a32023-10-03 09:36:33 +03004#include <dt-bindings/input/input.h>
5#include "tegra30.dtsi"
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +03006
7/ {
8 model = "ASUS VivoTab RT TF600T";
9 compatible = "asus,tf600t", "nvidia,tegra30";
10
Svyatoslav Ryhelc59c9a32023-10-03 09:36:33 +030011 chosen {
12 stdout-path = &uarta;
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +030013 };
14
Svyatoslav Ryhelc59c9a32023-10-03 09:36:33 +030015 aliases {
16 i2c0 = &pwr_i2c;
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +030017
Svyatoslav Ryhelc59c9a32023-10-03 09:36:33 +030018 mmc0 = &sdmmc4; /* eMMC */
19 mmc1 = &sdmmc1; /* uSD slot */
20
21 rtc0 = &pmic;
22 rtc1 = "/rtc@7000e000";
23
24 spi0 = &spi4;
25
26 usb0 = &usb1;
27 usb1 = &usb3; /* Dock USB */
28 };
29
30 memory {
31 device_type = "memory";
32 reg = <0x80000000 0x80000000>;
33 };
34
35 host1x@50000000 {
36 dc@54200000 {
37 clocks = <&tegra_car TEGRA30_CLK_DISP1>,
38 <&tegra_car TEGRA30_CLK_PLL_D_OUT0>;
39
40 rgb {
41 status = "okay";
42
43 nvidia,panel = <&dsia>;
44 };
45 };
46
47 dsia: dsi@54300000 {
48 status = "okay";
49
50 avdd-dsi-csi-supply = <&avdd_dsi_csi>;
51
52 panel = <&panel>;
53 };
54 };
55
56 uarta: serial@70006000 {
57 status = "okay";
58 };
59
60 pwm: pwm@7000a000 {
61 status = "okay";
62 };
63
64 pwr_i2c: i2c@7000d000 {
65 status = "okay";
66 clock-frequency = <400000>;
67
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +030068 /* Texas Instruments TPS659110 PMIC */
69 pmic: tps65911@2d {
Svyatoslav Ryhelc59c9a32023-10-03 09:36:33 +030070 compatible = "ti,tps65911";
71 reg = <0x2d>;
72
73 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
74 #interrupt-cells = <2>;
75 interrupt-controller;
76
77 ti,system-power-controller;
78
79 #gpio-cells = <2>;
80 gpio-controller;
81
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +030082 regulators {
83 vdd_1v2_bl: vdd1 {
84 regulator-name = "vdd_1v2_backlight";
85 regulator-min-microvolt = <1200000>;
86 regulator-max-microvolt = <1200000>;
Svyatoslav Ryhel88499512023-08-26 18:39:29 +030087 regulator-boot-on;
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +030088 };
89
Svyatoslav Ryhelc59c9a32023-10-03 09:36:33 +030090 vcore_lcd: vdd2 {
91 regulator-name = "vcore_lcd";
92 regulator-min-microvolt = <1500000>;
93 regulator-max-microvolt = <1500000>;
Svyatoslav Ryhel88499512023-08-26 18:39:29 +030094 regulator-boot-on;
Svyatoslav Ryhelc59c9a32023-10-03 09:36:33 +030095 };
96
97 vdd_1v8_vio: vddio {
98 regulator-name = "vdd_1v8_gen";
99 regulator-min-microvolt = <1800000>;
100 regulator-max-microvolt = <1800000>;
101 regulator-always-on;
102 regulator-boot-on;
103 };
104
105 /* eMMC VDD */
106 vcore_emmc: ldo1 {
107 regulator-name = "vdd_emmc_core";
108 regulator-min-microvolt = <3300000>;
109 regulator-max-microvolt = <3300000>;
Svyatoslav Ryhel88499512023-08-26 18:39:29 +0300110 regulator-boot-on;
Svyatoslav Ryhelc59c9a32023-10-03 09:36:33 +0300111 };
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +0300112
113 /* uSD slot VDDIO */
114 vddio_usd: ldo5 {
115 regulator-name = "vddio_sdmmc";
Svyatoslav Ryhelc59c9a32023-10-03 09:36:33 +0300116 regulator-min-microvolt = <3300000>;
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +0300117 regulator-max-microvolt = <3300000>;
118 regulator-always-on;
119 };
120
121 avdd_dsi_csi: ldo6 {
122 regulator-name = "avdd_dsi_csi";
123 regulator-min-microvolt = <1200000>;
124 regulator-max-microvolt = <1200000>;
Svyatoslav Ryhel88499512023-08-26 18:39:29 +0300125 regulator-boot-on;
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +0300126 };
127 };
128 };
129 };
130
131 spi4: spi@7000da00 {
132 status = "okay";
133 spi-max-frequency = <25000000>;
134
135 spi-flash@1 {
136 compatible = "winbond,w25q32", "jedec,spi-nor";
137 reg = <1>;
138 spi-max-frequency = <20000000>;
139 };
140 };
141
Svyatoslav Ryhelc59c9a32023-10-03 09:36:33 +0300142 sdmmc1: sdhci@78000000 {
143 status = "okay";
144 bus-width = <4>;
145
146 cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
147 power-gpios = <&gpio TEGRA_GPIO(D, 7) GPIO_ACTIVE_HIGH>;
148
149 vmmc-supply = <&vdd_usd>;
150 vqmmc-supply = <&vddio_usd>;
151 };
152
153 sdmmc4: sdhci@78000600 {
154 status = "okay";
155 bus-width = <8>;
156 non-removable;
157
158 vmmc-supply = <&vcore_emmc>;
159 vqmmc-supply = <&vdd_1v8_vio>;
160 };
161
162 /* USB via ASUS connector */
163 usb1: usb@7d000000 {
164 status = "okay";
165 dr_mode = "otg";
166 };
167
Svyatoslav Ryhele22d5792023-08-25 20:23:14 +0300168 usb-phy@7d000000 {
169 status = "okay";
170 nvidia,hssync-start-delay = <0>;
171 nvidia,xcvr-lsfslew = <2>;
172 nvidia,xcvr-lsrslew = <2>;
173 };
174
Svyatoslav Ryhelc59c9a32023-10-03 09:36:33 +0300175 /* Dock's USB port */
176 usb3: usb@7d008000 {
177 status = "okay";
178 };
179
Svyatoslav Ryhele22d5792023-08-25 20:23:14 +0300180 usb-phy@7d008000 {
181 status = "okay";
182 };
183
Svyatoslav Ryhelc59c9a32023-10-03 09:36:33 +0300184 backlight: backlight {
185 compatible = "pwm-backlight";
186
187 enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +0300188 power-supply = <&vdd_1v2_bl>;
Svyatoslav Ryhelc59c9a32023-10-03 09:36:33 +0300189 pwms = <&pwm 0 71428>;
190
191 brightness-levels = <1 35 70 105 140 175 210 255>;
192 default-brightness-level = <5>;
193 };
194
195 /* PMIC has a built-in 32KHz oscillator which is used by PMC */
196 clk32k_in: clock-32k {
197 compatible = "fixed-clock";
198 #clock-cells = <0>;
199 clock-frequency = <32768>;
200 clock-output-names = "pmic-oscillator";
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +0300201 };
202
203 gpio-keys {
Svyatoslav Ryhelc59c9a32023-10-03 09:36:33 +0300204 compatible = "gpio-keys";
205
206 key-power {
207 label = "Power";
208 gpios = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
209 linux,code = <KEY_ENTER>;
210 };
211
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +0300212 key-volume-up {
213 label = "Volume Up";
214 gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>;
215 linux,code = <KEY_UP>;
216 };
217
218 key-volume-down {
219 label = "Volume Down";
220 gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>;
221 linux,code = <KEY_DOWN>;
222 };
223 };
224
Svyatoslav Ryhelc59c9a32023-10-03 09:36:33 +0300225 panel: panel {
226 compatible = "hydis,hv101hd1";
227
228 vdd-supply = <&vcore_lcd>;
229 enable-gpios = <&gpio TEGRA_GPIO(L, 4) GPIO_ACTIVE_HIGH>;
230
231 backlight = <&backlight>;
232 };
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +0300233
234 vdd_usd: regulator-usd {
235 compatible = "regulator-fixed";
236 regulator-name = "vdd_usd";
237 regulator-min-microvolt = <3300000>;
238 regulator-max-microvolt = <3300000>;
239 };
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +0300240};