// SPDX-License-Identifier: GPL-2.0 /dts-v1/; #include #include "tegra30.dtsi" / { model = "ASUS Portable AiO P1801-T"; compatible = "asus,p1801-t", "nvidia,tegra30"; chosen { stdout-path = &uarta; }; aliases { i2c0 = &pwr_i2c; i2c1 = &hdmi_ddc; mmc0 = &sdmmc4; /* eMMC */ mmc1 = &sdmmc1; /* uSD slot */ rtc0 = &pmic; rtc1 = "/rtc@7000e000"; usb0 = &usb1; usb1 = &usb2; /* Mini USB */ usb2 = &usb3; /* Dock USB */ }; memory { device_type = "memory"; reg = <0x80000000 0x80000000>; }; host1x@50000000 { dc@54200000 { clocks = <&tegra_car TEGRA30_CLK_DISP1>, <&tegra_car TEGRA30_CLK_PLL_D_OUT0>; rgb { status = "okay"; nvidia,panel = <&hdmi>; }; }; hdmi: hdmi@54280000 { clocks = <&tegra_car TEGRA30_CLK_HDMI>, <&tegra_car TEGRA30_CLK_PLL_D_OUT0>; status = "okay"; hdmi-supply = <&hdmi_5v0_sys>; pll-supply = <&vdd_1v8_vio>; vdd-supply = <&hdmi_3v3_vdd>; /* low: tablet, high: dock */ nvidia,hpd-gpio = <&gpio TEGRA_GPIO(H, 4) GPIO_ACTIVE_LOW>; nvidia,ddc-i2c-bus = <&hdmi_ddc>; }; }; uarta: serial@70006000 { status = "okay"; }; hdmi_ddc: i2c@7000c700 { status = "okay"; clock-frequency = <33000>; }; 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>; }; /* Mini USB port */ usb2: usb@7d004000 { status = "okay"; nvidia,vbus-gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_HIGH>; }; usb-phy@7d004000 { status = "okay"; }; /* Dock's USB port */ usb3: usb@7d008000 { status = "okay"; }; usb-phy@7d008000 { status = "okay"; }; /* 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 = ; }; }; hdmi_3v3_vdd: regulator-vdd { compatible = "regulator-fixed"; regulator-name = "hdmi_3v3_vdd"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>; enable-active-high; }; hdmi_5v0_sys: regulator-hdmi { compatible = "regulator-fixed"; regulator-name = "hdmi_5v0_sys"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>; enable-active-high; }; };