// SPDX-License-Identifier: GPL-2.0 #include #include "tegra30.dtsi" / { chosen { stdout-path = &uarta; }; aliases { i2c0 = &pwr_i2c; i2c1 = &gen1_i2c; mmc0 = &sdmmc4; /* eMMC */ mmc1 = &sdmmc1; /* uSD slot */ rtc0 = &pmic; rtc1 = "/rtc@7000e000"; usb0 = &usb1; usb1 = &usb3; /* Dock USB */ }; memory { device_type = "memory"; reg = <0x80000000 0x40000000>; }; host1x@50000000 { dc@54200000 { rgb { status = "okay"; nvidia,panel = <&panel>; }; }; }; uarta: serial@70006000 { status = "okay"; }; pwm: pwm@7000a000 { status = "okay"; }; gen1_i2c: i2c@7000c000 { status = "okay"; clock-frequency = <100000>; }; pwr_i2c: i2c@7000d000 { status = "okay"; clock-frequency = <400000>; /* Texas Instruments TPS659110 PMIC */ pmic: tps65911@2d { compatible = "ti,tps65911"; reg = <0x2d>; interrupts = ; #interrupt-cells = <2>; interrupt-controller; ti,system-power-controller; #gpio-cells = <2>; gpio-controller; regulators { vdd_1v8_vio: vddio { regulator-name = "vdd_1v8_gen"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; /* eMMC VDD */ vcore_emmc: ldo1 { regulator-name = "vdd_emmc_core"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-boot-on; }; /* uSD slot VDD */ vdd_usd: ldo2 { regulator-name = "vdd_usd"; regulator-min-microvolt = <3100000>; regulator-max-microvolt = <3100000>; regulator-boot-on; }; /* uSD slot VDDIO */ vddio_usd: ldo3 { regulator-name = "vddio_usd"; regulator-min-microvolt = <3100000>; regulator-max-microvolt = <3100000>; regulator-always-on; regulator-boot-on; }; }; }; }; sdmmc1: sdhci@78000000 { status = "okay"; bus-width = <4>; cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>; power-gpios = <&gpio TEGRA_GPIO(D, 7) GPIO_ACTIVE_HIGH>; vmmc-supply = <&vdd_usd>; vqmmc-supply = <&vddio_usd>; }; sdmmc4: sdhci@78000600 { status = "okay"; bus-width = <8>; non-removable; vmmc-supply = <&vcore_emmc>; vqmmc-supply = <&vdd_1v8_vio>; }; /* USB via ASUS connector */ usb1: usb@7d000000 { status = "okay"; dr_mode = "otg"; }; usb-phy@7d000000 { status = "okay"; nvidia,hssync-start-delay = <0>; nvidia,xcvr-lsfslew = <2>; nvidia,xcvr-lsrslew = <2>; }; /* Dock's USB port */ usb3: usb@7d008000 { status = "okay"; }; usb-phy@7d008000 { status = "okay"; }; backlight: backlight { compatible = "pwm-backlight"; enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>; power-supply = <&vdd_5v0_bl>; pwms = <&pwm 0 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 { 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, 0) GPIO_ACTIVE_LOW>; linux,code = ; }; key-volume-up { label = "Volume Up"; gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_LOW>; linux,code = ; }; key-volume-down { label = "Volume Down"; gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>; linux,code = ; }; }; panel: panel { compatible = "simple-panel"; power-supply = <&vdd_pnl_reg>; enable-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>; backlight = <&backlight>; display-timings { timing@0 { /* 1280x800@60Hz */ clock-frequency = <68000000>; hactive = <1280>; hfront-porch = <48>; hback-porch = <18>; hsync-len = <30>; vactive = <800>; vfront-porch = <3>; vback-porch = <12>; vsync-len = <5>; }; }; }; vdd_pnl_reg: regulator-pnl { compatible = "regulator-fixed"; regulator-name = "vdd_panel"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&gpio TEGRA_GPIO(W, 1) GPIO_ACTIVE_HIGH>; enable-active-high; }; vdd_5v0_bl: regulator-bl { compatible = "regulator-fixed"; regulator-name = "vdd_5v0_bl"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; gpio = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>; enable-active-high; }; };