]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
ARM: dts: p1801-t: separate from common transformers tree
authorSvyatoslav Ryhel <clamor95@gmail.com>
Tue, 3 Oct 2023 06:36:32 +0000 (09:36 +0300)
committerTom Rini <trini@konsulko.com>
Fri, 3 Nov 2023 16:37:15 +0000 (12:37 -0400)
P1801-T has significant differences (hdmi panel and backlight,
own power supply system) which makes use of common transformer
device tree complicated.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
arch/arm/dts/tegra30-asus-p1801-t.dts

index 4b2dc61713c67b586f445d8749289453258b36c1..39f7caf8d0b0a6d1b83097ad99a376865bd995e3 100644 (file)
 // SPDX-License-Identifier: GPL-2.0
 /dts-v1/;
 
-#include "tegra30-asus-transformer.dtsi"
+#include <dt-bindings/input/input.h>
+#include "tegra30.dtsi"
 
 / {
        model = "ASUS Portable AiO P1801-T";
        compatible = "asus,p1801-t", "nvidia,tegra30";
 
-       /delete-node/ host1x@50000000;
-       /delete-node/ pwm@7000a000;
+       chosen {
+               stdout-path = &uarta;
+       };
 
-       /delete-node/ backlight;
-       /delete-node/ panel;
+       aliases {
+               i2c0 = &pwr_i2c;
+               i2c1 = &hdmi_ddc;
 
-       /delete-node/ regulator-pnl;
-       /delete-node/ regulator-bl;
+               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>;
+                               };
+
+                               /* uSD slot VDD */
+                               vdd_usd: ldo2 {
+                                       regulator-name = "vdd_usd";
+                                       regulator-min-microvolt = <3100000>;
+                                       regulator-max-microvolt = <3100000>;
+                               };
+
+                               /* 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";
+       };
+
+       /* Mini USB port */
+       usb2: usb@7d004000 {
+               status = "okay";
+               nvidia,vbus-gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_HIGH>;
+       };
+
+       /* Dock's USB port */
+       usb3: usb@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;
+       };
 };