| // SPDX-License-Identifier: GPL-2.0 |
| /dts-v1/; |
| |
| #include <dt-bindings/input/input.h> |
| #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 = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; |
| #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_ENTER>; |
| }; |
| |
| key-volume-up { |
| label = "Volume Up"; |
| gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_LOW>; |
| linux,code = <KEY_UP>; |
| }; |
| |
| key-volume-down { |
| label = "Volume Down"; |
| gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>; |
| linux,code = <KEY_DOWN>; |
| }; |
| }; |
| |
| 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; |
| }; |
| }; |