| // 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; |
| }; |
| }; |