blob: 3f11d33bc4a30ee9482e87afafb73c427a435d59 [file] [log] [blame]
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +03001// SPDX-License-Identifier: GPL-2.0
2/dts-v1/;
3
Svyatoslav Ryhelb5e3b352023-10-03 09:36:33 +03004#include <dt-bindings/input/input.h>
5#include "tegra30.dtsi"
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +03006
7/ {
8 model = "ASUS VivoTab RT TF600T";
9 compatible = "asus,tf600t", "nvidia,tegra30";
10
Svyatoslav Ryhelb5e3b352023-10-03 09:36:33 +030011 chosen {
12 stdout-path = &uarta;
13 };
14
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +030015 aliases {
Svyatoslav Ryhelb5e3b352023-10-03 09:36:33 +030016 i2c0 = &pwr_i2c;
17
18 mmc0 = &sdmmc4; /* eMMC */
19 mmc1 = &sdmmc1; /* uSD slot */
20
21 rtc0 = &pmic;
22 rtc1 = "/rtc@7000e000";
23
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +030024 spi0 = &spi4;
Svyatoslav Ryhelb5e3b352023-10-03 09:36:33 +030025
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";
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +030062 };
63
Svyatoslav Ryhelb5e3b352023-10-03 09:36:33 +030064 pwr_i2c: i2c@7000d000 {
65 status = "okay";
66 clock-frequency = <400000>;
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +030067
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +030068 /* Texas Instruments TPS659110 PMIC */
69 pmic: tps65911@2d {
Svyatoslav Ryhelb5e3b352023-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 Ryhel7a25c382023-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 Ryhelbf732172023-08-26 18:39:29 +030087 regulator-boot-on;
Svyatoslav Ryhelb5e3b352023-10-03 09:36:33 +030088 };
89
90 vcore_lcd: vdd2 {
91 regulator-name = "vcore_lcd";
92 regulator-min-microvolt = <1500000>;
93 regulator-max-microvolt = <1500000>;
Svyatoslav Ryhelbf732172023-08-26 18:39:29 +030094 regulator-boot-on;
Svyatoslav Ryhelb5e3b352023-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>;
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +0300101 regulator-always-on;
102 regulator-boot-on;
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +0300103 };
104
Svyatoslav Ryhelb5e3b352023-10-03 09:36:33 +0300105 /* eMMC VDD */
106 vcore_emmc: ldo1 {
107 regulator-name = "vdd_emmc_core";
108 regulator-min-microvolt = <3300000>;
109 regulator-max-microvolt = <3300000>;
Svyatoslav Ryhelbf732172023-08-26 18:39:29 +0300110 regulator-boot-on;
Svyatoslav Ryhelb5e3b352023-10-03 09:36:33 +0300111 };
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +0300112
113 /* uSD slot VDDIO */
114 vddio_usd: ldo5 {
115 regulator-name = "vddio_sdmmc";
Svyatoslav Ryhelb5e3b352023-10-03 09:36:33 +0300116 regulator-min-microvolt = <3300000>;
Svyatoslav Ryhel7a25c382023-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 Ryhelbf732172023-08-26 18:39:29 +0300125 regulator-boot-on;
Svyatoslav Ryhel7a25c382023-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 Ryhelb5e3b352023-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 Ryhel6c438612023-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 Ryhelb5e3b352023-10-03 09:36:33 +0300175 /* Dock's USB port */
176 usb3: usb@7d008000 {
177 status = "okay";
178 };
179
Svyatoslav Ryhel6c438612023-08-25 20:23:14 +0300180 usb-phy@7d008000 {
181 status = "okay";
182 };
183
Svyatoslav Ryhelb5e3b352023-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 Ryhel7a25c382023-06-30 10:29:03 +0300188 power-supply = <&vdd_1v2_bl>;
Svyatoslav Ryhelb5e3b352023-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>;
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +0300193 };
194
Svyatoslav Ryhelb5e3b352023-10-03 09:36:33 +0300195 /* 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";
201 };
202
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +0300203 gpio-keys {
Svyatoslav Ryhelb5e3b352023-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 Ryhel7a25c382023-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 Ryhelb5e3b352023-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 Ryhel7a25c382023-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 Ryhel7a25c382023-06-30 10:29:03 +0300240};