Skip to content

Commit a33b11b

Browse files
committed
asus: transformer: add t30 based device family
Includes 7 ASUS devices: - Transformer Prime TF201 - Transformer Pad TF300T/TF300TG/TF300TL - VivoTab RT TF600T (Windows RT based) - Transformer Infinity TF700T - Transformer AiO P1801-T Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # all devices Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
1 parent b6fe358 commit a33b11b

15 files changed

+931
-0
lines changed

arch/arm/dts/Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,13 @@ dtb-$(CONFIG_ARCH_TEGRA) += \
216216
tegra20-colibri.dtb \
217217
tegra20-qemu.dtb \
218218
tegra30-apalis.dtb \
219+
tegra30-asus-p1801-t.dtb \
220+
tegra30-asus-tf201.dtb \
221+
tegra30-asus-tf300t.dtb \
222+
tegra30-asus-tf300tg.dtb \
223+
tegra30-asus-tf300tl.dtb \
224+
tegra30-asus-tf600t.dtb \
225+
tegra30-asus-tf700t.dtb \
219226
tegra30-beaver.dtb \
220227
tegra30-cardhu.dtb \
221228
tegra30-colibri.dtb \
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
// SPDX-License-Identifier: GPL-2.0-or-later
2+
/dts-v1/;
3+
4+
#include <dt-bindings/input/gpio-keys.h>
5+
#include <dt-bindings/input/linux-event-codes.h>
6+
7+
#include "tegra30-asus-transformer.dtsi"
8+
9+
/ {
10+
model = "Asus Transformer AiO P1801-T";
11+
12+
i2c@7000d000 {
13+
status = "okay";
14+
clock-frequency = <400000>;
15+
16+
/* Texas Instruments TPS659110 PMIC */
17+
pmic: tps65911@2d {
18+
compatible = "ti,tps65911";
19+
reg = <0x2d>;
20+
21+
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
22+
#interrupt-cells = <2>;
23+
interrupt-controller;
24+
25+
ti,system-power-controller;
26+
27+
#gpio-cells = <2>;
28+
gpio-controller;
29+
30+
regulators {
31+
/* eMMC VDD */
32+
vcore_emmc: ldo1 {
33+
regulator-name = "vdd_emmc_core";
34+
regulator-min-microvolt = <1000000>;
35+
regulator-max-microvolt = <3300000>;
36+
regulator-always-on;
37+
};
38+
39+
/* uSD slot VDD */
40+
vdd_usd: ldo2 {
41+
regulator-name = "vdd_usd";
42+
regulator-min-microvolt = <3100000>;
43+
regulator-max-microvolt = <3100000>;
44+
regulator-always-on;
45+
};
46+
47+
/* uSD slot VDDIO */
48+
vddio_usd: ldo3 {
49+
regulator-name = "vddio_usd";
50+
regulator-min-microvolt = <1800000>;
51+
regulator-max-microvolt = <3100000>;
52+
};
53+
};
54+
};
55+
};
56+
57+
gpio-keyboard {
58+
compatible = "gpio-keys-input";
59+
60+
power {
61+
label = "Power";
62+
gpios = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
63+
linux,code = <KEY_ENTER>;
64+
};
65+
66+
volume-up {
67+
label = "Volume Up";
68+
gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_LOW>;
69+
linux,code = <KEY_UP>;
70+
};
71+
72+
volume-down {
73+
label = "Volume Down";
74+
gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>;
75+
linux,code = <KEY_DOWN>;
76+
};
77+
78+
mode {
79+
label = "Mode";
80+
gpios = <&gpio TEGRA_GPIO(K, 2) GPIO_ACTIVE_LOW>;
81+
linux,code = <KEY_MODE>;
82+
};
83+
};
84+
};
Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
// SPDX-License-Identifier: GPL-2.0-or-later
2+
/dts-v1/;
3+
4+
#include <dt-bindings/input/gpio-keys.h>
5+
#include <dt-bindings/input/linux-event-codes.h>
6+
7+
#include "tegra30-asus-transformer.dtsi"
8+
9+
/ {
10+
model = "Asus Transformer Prime TF201";
11+
12+
host1x@50000000 {
13+
status = "okay";
14+
dc@54200000 {
15+
status = "okay";
16+
rgb {
17+
status = "okay";
18+
19+
nvidia,panel = <&panel>;
20+
21+
display-timings {
22+
timing@0 {
23+
/* 1280x800@60Hz */
24+
clock-frequency = <68000000>;
25+
hactive = <1280>;
26+
vactive = <800>;
27+
hfront-porch = <48>;
28+
hback-porch = <18>;
29+
hsync-len = <30>;
30+
vsync-len = <5>;
31+
vfront-porch = <3>;
32+
vback-porch = <12>;
33+
hsync-active = <1>;
34+
};
35+
};
36+
};
37+
};
38+
};
39+
40+
i2c@7000d000 {
41+
status = "okay";
42+
clock-frequency = <400000>;
43+
44+
/* Texas Instruments TPS659110 PMIC */
45+
pmic: tps65911@2d {
46+
compatible = "ti,tps65911";
47+
reg = <0x2d>;
48+
49+
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
50+
#interrupt-cells = <2>;
51+
interrupt-controller;
52+
53+
ti,system-power-controller;
54+
55+
#gpio-cells = <2>;
56+
gpio-controller;
57+
58+
regulators {
59+
/* eMMC VDD */
60+
vcore_emmc: ldo1 {
61+
regulator-name = "vdd_emmc_core";
62+
regulator-min-microvolt = <1000000>;
63+
regulator-max-microvolt = <3300000>;
64+
regulator-always-on;
65+
};
66+
67+
/* uSD slot VDD */
68+
vdd_usd: ldo2 {
69+
regulator-name = "vdd_usd";
70+
regulator-min-microvolt = <3100000>;
71+
regulator-max-microvolt = <3100000>;
72+
regulator-always-on;
73+
};
74+
75+
/* uSD slot VDDIO */
76+
vddio_usd: ldo3 {
77+
regulator-name = "vddio_usd";
78+
regulator-min-microvolt = <1800000>;
79+
regulator-max-microvolt = <3100000>;
80+
};
81+
};
82+
};
83+
};
84+
85+
backlight: backlight {
86+
compatible = "pwm-backlight";
87+
88+
enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
89+
power-supply = <&vdd_5v0_bl>;
90+
pwms = <&pwm 0 4000000>;
91+
92+
brightness-levels = <0 4 8 16 32 64 128 255>;
93+
default-brightness-level = <6>;
94+
};
95+
96+
gpio-keyboard {
97+
compatible = "gpio-keys-input";
98+
99+
power {
100+
label = "Power";
101+
gpios = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
102+
linux,code = <KEY_ENTER>;
103+
};
104+
105+
volume-up {
106+
label = "Volume Up";
107+
gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_LOW>;
108+
linux,code = <KEY_UP>;
109+
};
110+
111+
volume-down {
112+
label = "Volume Down";
113+
gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>;
114+
linux,code = <KEY_DOWN>;
115+
};
116+
};
117+
118+
panel: panel {
119+
compatible = "simple-panel";
120+
121+
power-supply = <&vdd_pnl_reg>;
122+
enable-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>;
123+
124+
backlight = <&backlight>;
125+
};
126+
127+
regulators {
128+
compatible = "simple-bus";
129+
#address-cells = <1>;
130+
#size-cells = <0>;
131+
132+
vdd_pnl_reg: regulator@0 {
133+
compatible = "regulator-fixed";
134+
reg = <0>;
135+
regulator-name = "vdd_panel";
136+
regulator-min-microvolt = <3300000>;
137+
regulator-max-microvolt = <3300000>;
138+
gpio = <&gpio TEGRA_GPIO(W, 1) GPIO_ACTIVE_HIGH>;
139+
enable-active-high;
140+
};
141+
142+
vdd_5v0_bl: regulator@1 {
143+
compatible = "regulator-fixed";
144+
reg = <1>;
145+
regulator-name = "vdd_5v0_bl";
146+
regulator-min-microvolt = <5000000>;
147+
regulator-max-microvolt = <5000000>;
148+
regulator-boot-on;
149+
gpio = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
150+
enable-active-high;
151+
};
152+
};
153+
};

0 commit comments

Comments
 (0)