mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-17 02:15:02 +00:00

The Asus Eee Pad Transformer family are 2-in-1 detachable/slider tablets developed by Asus that run the Android operating system. The Eee Pad Transformers feature a 10.1-inch (260 mm) display, an Nvidia Tegra 2 dual-core chip, 1 GB of RAM, and 16/32 GB of storage. Transformers board derives from Nvidia Ventana development board. This patch brings support for all 3 known T20 Transformers: - Asus Eee Pad Transformer TF101 - Asus Eee Pad Transformer TF101G - Asus Eee Pad Slider SL101 Tested-by: Robert Eckelmann <longnoserob@gmail.com> # ASUS TF101 Tested-by: Antoni Aloy Torrens <aaloytorrens@gmail.com> # ASUS TF101 Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
545 lines
11 KiB
Text
545 lines
11 KiB
Text
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
#include <dt-bindings/input/input.h>
|
|
#include "tegra20.dtsi"
|
|
|
|
/ {
|
|
chosen {
|
|
stdout-path = &uartd;
|
|
};
|
|
|
|
aliases {
|
|
i2c0 = &pwr_i2c;
|
|
|
|
mmc0 = &sdmmc4; /* eMMC */
|
|
mmc1 = &sdmmc3; /* MicroSD */
|
|
|
|
rtc0 = &pmic;
|
|
rtc1 = "/rtc@7000e000";
|
|
|
|
usb0 = &usb1;
|
|
usb1 = &usb3; /* Dock USB */
|
|
};
|
|
|
|
memory {
|
|
device_type = "memory";
|
|
reg = <0x00000000 0x40000000>;
|
|
};
|
|
|
|
host1x@50000000 {
|
|
dc@54200000 {
|
|
rgb {
|
|
status = "okay";
|
|
|
|
nvidia,panel = <&panel>;
|
|
};
|
|
};
|
|
};
|
|
|
|
pinmux@70000014 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&state_default>;
|
|
|
|
state_default: pinmux {
|
|
ata {
|
|
nvidia,pins = "ata";
|
|
nvidia,function = "ide";
|
|
};
|
|
|
|
atb {
|
|
nvidia,pins = "atb", "gma", "gme";
|
|
nvidia,function = "sdio4";
|
|
};
|
|
|
|
atc {
|
|
nvidia,pins = "atc";
|
|
nvidia,function = "nand";
|
|
};
|
|
|
|
atd {
|
|
nvidia,pins = "atd", "ate", "gmb", "spia",
|
|
"spib", "spic";
|
|
nvidia,function = "gmi";
|
|
};
|
|
|
|
cdev1 {
|
|
nvidia,pins = "cdev1";
|
|
nvidia,function = "plla_out";
|
|
};
|
|
|
|
cdev2 {
|
|
nvidia,pins = "cdev2";
|
|
nvidia,function = "pllp_out4";
|
|
};
|
|
|
|
crtp {
|
|
nvidia,pins = "crtp";
|
|
nvidia,function = "crt";
|
|
};
|
|
|
|
lm1 {
|
|
nvidia,pins = "lm1";
|
|
nvidia,function = "rsvd3";
|
|
};
|
|
|
|
csus {
|
|
nvidia,pins = "csus";
|
|
nvidia,function = "vi_sensor_clk";
|
|
};
|
|
|
|
dap1 {
|
|
nvidia,pins = "dap1";
|
|
nvidia,function = "dap1";
|
|
};
|
|
|
|
dap2 {
|
|
nvidia,pins = "dap2";
|
|
nvidia,function = "dap2";
|
|
};
|
|
|
|
dap3 {
|
|
nvidia,pins = "dap3";
|
|
nvidia,function = "dap3";
|
|
};
|
|
|
|
dap4 {
|
|
nvidia,pins = "dap4";
|
|
nvidia,function = "dap4";
|
|
};
|
|
|
|
dta {
|
|
nvidia,pins = "dta", "dtb", "dtc", "dtd", "dte";
|
|
nvidia,function = "vi";
|
|
};
|
|
|
|
dtf {
|
|
nvidia,pins = "dtf";
|
|
nvidia,function = "i2c3";
|
|
};
|
|
|
|
gmc {
|
|
nvidia,pins = "gmc";
|
|
nvidia,function = "uartd";
|
|
};
|
|
|
|
gmd {
|
|
nvidia,pins = "gmd";
|
|
nvidia,function = "sflash";
|
|
};
|
|
|
|
gpu {
|
|
nvidia,pins = "gpu";
|
|
nvidia,function = "pwm";
|
|
};
|
|
|
|
gpu7 {
|
|
nvidia,pins = "gpu7";
|
|
nvidia,function = "rtck";
|
|
};
|
|
|
|
gpv {
|
|
nvidia,pins = "gpv", "slxa";
|
|
nvidia,function = "pcie";
|
|
};
|
|
|
|
hdint {
|
|
nvidia,pins = "hdint";
|
|
nvidia,function = "hdmi";
|
|
};
|
|
|
|
i2cp {
|
|
nvidia,pins = "i2cp";
|
|
nvidia,function = "i2cp";
|
|
};
|
|
|
|
irrx {
|
|
nvidia,pins = "irrx", "irtx";
|
|
nvidia,function = "uartb";
|
|
};
|
|
|
|
kbca {
|
|
nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
|
|
"kbce", "kbcf";
|
|
nvidia,function = "kbc";
|
|
};
|
|
|
|
lcsn {
|
|
nvidia,pins = "lcsn", "ldc", "lm0", "lpw1",
|
|
"lsdi", "lvp0";
|
|
nvidia,function = "rsvd4";
|
|
};
|
|
|
|
ld0 {
|
|
nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
|
|
"ld5", "ld6", "ld7", "ld8", "ld9",
|
|
"ld10", "ld11", "ld12", "ld13", "ld14",
|
|
"ld15", "ld16", "ld17", "ldi", "lhp0",
|
|
"lhp1", "lhp2", "lhs", "lpp", "lpw0",
|
|
"lpw2", "lsc0", "lsc1", "lsck", "lsda",
|
|
"lspi", "lvp1", "lvs";
|
|
nvidia,function = "displaya";
|
|
};
|
|
|
|
owc {
|
|
nvidia,pins = "owc", "spdi", "spdo", "uac";
|
|
nvidia,function = "rsvd2";
|
|
};
|
|
|
|
pmc {
|
|
nvidia,pins = "pmc";
|
|
nvidia,function = "pwr_on";
|
|
};
|
|
|
|
rm {
|
|
nvidia,pins = "rm";
|
|
nvidia,function = "i2c1";
|
|
};
|
|
|
|
sdb {
|
|
nvidia,pins = "sdb", "sdc", "sdd", "slxc", "slxk";
|
|
nvidia,function = "sdio3";
|
|
};
|
|
|
|
sdio1 {
|
|
nvidia,pins = "sdio1";
|
|
nvidia,function = "sdio1";
|
|
};
|
|
|
|
slxd {
|
|
nvidia,pins = "slxd";
|
|
nvidia,function = "spdif";
|
|
};
|
|
|
|
spid {
|
|
nvidia,pins = "spid", "spie", "spif";
|
|
nvidia,function = "spi1";
|
|
};
|
|
|
|
spig {
|
|
nvidia,pins = "spig", "spih";
|
|
nvidia,function = "spi2_alt";
|
|
};
|
|
|
|
uaa {
|
|
nvidia,pins = "uaa", "uab", "uda";
|
|
nvidia,function = "ulpi";
|
|
};
|
|
|
|
uad {
|
|
nvidia,pins = "uad";
|
|
nvidia,function = "irda";
|
|
};
|
|
|
|
uca {
|
|
nvidia,pins = "uca", "ucb";
|
|
nvidia,function = "uartc";
|
|
};
|
|
|
|
conf_ata {
|
|
nvidia,pins = "ata", "atb", "atc", "atd",
|
|
"cdev1", "cdev2", "dap1", "dap4",
|
|
"dte", "ddc", "dtf", "gma", "gmc",
|
|
"gme", "gpu", "gpu7", "gpv", "i2cp",
|
|
"irrx", "irtx", "pta", "rm", "sdc",
|
|
"sdd", "slxc", "slxd", "slxk", "spdi",
|
|
"spdo", "uac", "uad",
|
|
"uda", "csus";
|
|
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
|
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
|
};
|
|
|
|
conf_ate {
|
|
nvidia,pins = "ate", "dap2", "dap3", "gmb", "gmd",
|
|
"owc", "spia", "spib", "spic",
|
|
"spid", "spie", "spig", "slxa";
|
|
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
|
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
|
};
|
|
|
|
conf_ck32 {
|
|
nvidia,pins = "ck32", "ddrc", "pmca", "pmcb",
|
|
"pmcc", "pmcd", "pmce", "xm2c", "xm2d";
|
|
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
|
};
|
|
|
|
conf_crtp {
|
|
nvidia,pins = "crtp", "spih";
|
|
nvidia,pull = <TEGRA_PIN_PULL_UP>;
|
|
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
|
};
|
|
|
|
conf_dta {
|
|
nvidia,pins = "dta", "dtb", "dtc", "dtd";
|
|
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
|
|
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
|
};
|
|
|
|
conf_spif {
|
|
nvidia,pins = "spif";
|
|
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
|
|
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
|
};
|
|
|
|
conf_hdint {
|
|
nvidia,pins = "hdint", "lcsn", "ldc", "lm1",
|
|
"lpw1", "lsck", "lsda", "lsdi", "lvp0";
|
|
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
|
};
|
|
|
|
conf_kbca {
|
|
nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
|
|
"kbce", "kbcf", "sdio1", "uaa", "uab",
|
|
"uca", "ucb";
|
|
nvidia,pull = <TEGRA_PIN_PULL_UP>;
|
|
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
|
};
|
|
|
|
conf_lc {
|
|
nvidia,pins = "lc", "ls";
|
|
nvidia,pull = <TEGRA_PIN_PULL_UP>;
|
|
};
|
|
|
|
conf_ld0 {
|
|
nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
|
|
"ld5", "ld6", "ld7", "ld8", "ld9",
|
|
"ld10", "ld11", "ld12", "ld13", "ld14",
|
|
"ld15", "ld16", "ld17", "ldi", "lhp0",
|
|
"lhp1", "lhp2", "lhs", "lm0", "lpp",
|
|
"lpw0", "lpw2", "lsc0", "lsc1", "lspi",
|
|
"lvp1", "lvs", "pmc", "sdb";
|
|
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
|
};
|
|
|
|
conf_ld17_0 {
|
|
nvidia,pins = "ld17_0", "ld19_18", "ld21_20",
|
|
"ld23_22";
|
|
nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
|
|
};
|
|
|
|
drive_sdio1 {
|
|
nvidia,pins = "drive_sdio1", "drive_ddc", "drive_vi1";
|
|
nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>;
|
|
nvidia,schmitt = <TEGRA_PIN_ENABLE>;
|
|
nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_1>;
|
|
nvidia,pull-down-strength = <31>;
|
|
nvidia,pull-up-strength = <31>;
|
|
nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
|
|
nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
|
|
};
|
|
|
|
drive_csus {
|
|
nvidia,pins = "drive_csus";
|
|
nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>;
|
|
nvidia,schmitt = <TEGRA_PIN_DISABLE>;
|
|
nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_1>;
|
|
nvidia,pull-down-strength = <31>;
|
|
nvidia,pull-up-strength = <31>;
|
|
nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
|
|
nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
|
|
};
|
|
};
|
|
|
|
state_i2cmux_ddc: pinmux-i2cmux-ddc {
|
|
ddc {
|
|
nvidia,pins = "ddc";
|
|
nvidia,function = "i2c2";
|
|
};
|
|
|
|
pta {
|
|
nvidia,pins = "pta";
|
|
nvidia,function = "rsvd4";
|
|
};
|
|
};
|
|
|
|
state_i2cmux_idle: pinmux-i2cmux-idle {
|
|
ddc {
|
|
nvidia,pins = "ddc";
|
|
nvidia,function = "rsvd4";
|
|
};
|
|
|
|
pta {
|
|
nvidia,pins = "pta";
|
|
nvidia,function = "rsvd4";
|
|
};
|
|
};
|
|
|
|
state_i2cmux_pta: pinmux-i2cmux-pta {
|
|
ddc {
|
|
nvidia,pins = "ddc";
|
|
nvidia,function = "rsvd4";
|
|
};
|
|
|
|
pta {
|
|
nvidia,pins = "pta";
|
|
nvidia,function = "i2c2";
|
|
};
|
|
};
|
|
};
|
|
|
|
uartd: serial@70006300 {
|
|
status = "okay";
|
|
clock-frequency = <216000000>;
|
|
};
|
|
|
|
pwm: pwm@7000a000 {
|
|
status = "okay";
|
|
};
|
|
|
|
pwr_i2c: i2c@7000d000 {
|
|
status = "okay";
|
|
clock-frequency = <400000>;
|
|
|
|
pmic: tps6586x@34 {
|
|
compatible = "ti,tps6586x";
|
|
reg = <0x34>;
|
|
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
ti,system-power-controller;
|
|
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
|
|
regulators {
|
|
avdd_usb: ldo3 {
|
|
regulator-name = "vdd_ldo3,avdd_usb*";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
vcore_emmc: ldo5 {
|
|
regulator-name = "vdd_ldo5,vcore_mmc";
|
|
regulator-min-microvolt = <2850000>;
|
|
regulator-max-microvolt = <2850000>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
/* USB via ASUS connector */
|
|
usb1: usb@c5000000 {
|
|
status = "okay";
|
|
dr_mode = "otg";
|
|
};
|
|
|
|
usb-phy@c5000000 {
|
|
status = "okay";
|
|
nvidia,xcvr-setup-use-fuses;
|
|
};
|
|
|
|
/* Dock's USB port */
|
|
usb3: usb@c5008000 {
|
|
status = "okay";
|
|
};
|
|
|
|
sdmmc3: sdhci@c8000400 {
|
|
status = "okay";
|
|
bus-width = <4>;
|
|
|
|
cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
|
|
wp-gpios = <&gpio TEGRA_GPIO(H, 1) GPIO_ACTIVE_HIGH>;
|
|
power-gpios = <&gpio TEGRA_GPIO(I, 6) GPIO_ACTIVE_HIGH>;
|
|
|
|
vmmc-supply = <&vdd_3v3_sys>;
|
|
vqmmc-supply = <&vdd_3v3_sys>;
|
|
};
|
|
|
|
sdmmc4: sdhci@c8000600 {
|
|
status = "okay";
|
|
bus-width = <8>;
|
|
non-removable;
|
|
|
|
vmmc-supply = <&vcore_emmc>;
|
|
vqmmc-supply = <&vdd_3v3_sys>;
|
|
};
|
|
|
|
backlight: backlight {
|
|
compatible = "pwm-backlight";
|
|
|
|
enable-gpios = <&gpio TEGRA_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
|
|
power-supply = <&vdd_3v3_sys>;
|
|
pwms = <&pwm 2 4000000>;
|
|
|
|
brightness-levels = <1 35 70 105 140 175 210 255>;
|
|
default-brightness-level = <5>;
|
|
};
|
|
|
|
/* PMIC has a built-in 32KHz oscillator which is used by PMC */
|
|
clk32k_in: clock-32k-in {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <32768>;
|
|
clock-output-names = "pmic-oscillator";
|
|
};
|
|
|
|
gpio-keys {
|
|
compatible = "gpio-keys";
|
|
|
|
key-power {
|
|
label = "Power";
|
|
gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_ENTER>;
|
|
};
|
|
|
|
key-volume-down {
|
|
label = "Volume Down";
|
|
gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_DOWN>;
|
|
};
|
|
|
|
key-volume-up {
|
|
label = "Volume Up";
|
|
gpios = <&gpio TEGRA_GPIO(Q, 5) GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_UP>;
|
|
};
|
|
|
|
switch-dock-hall-sensor {
|
|
label = "Lid sensor";
|
|
gpios = <&gpio TEGRA_GPIO(S, 4) GPIO_ACTIVE_LOW>;
|
|
linux,code = <SW_LID>;
|
|
};
|
|
};
|
|
|
|
panel: panel {
|
|
compatible = "simple-panel";
|
|
|
|
power-supply = <&vdd_pnl_reg>;
|
|
enable-gpios = <&gpio TEGRA_GPIO(B, 2) GPIO_ACTIVE_HIGH>;
|
|
|
|
backlight = <&backlight>;
|
|
|
|
display-timings {
|
|
timing@0 {
|
|
clock-frequency = <71200000>;
|
|
|
|
hactive = <1280>;
|
|
hfront-porch = <8>;
|
|
hback-porch = <18>;
|
|
hsync-len = <184>;
|
|
|
|
vactive = <800>;
|
|
vfront-porch = <4>;
|
|
vback-porch = <8>;
|
|
vsync-len = <3>;
|
|
};
|
|
};
|
|
};
|
|
|
|
vdd_3v3_sys: regulator-3v3 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vdd_3v3_vs";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vdd_pnl_reg: regulator-pnl {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vdd_panel";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
gpio = <&gpio TEGRA_GPIO(C, 6) GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
};
|