// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

#include <dt-bindings/input/input.h>
#include "tegra30.dtsi"

/ {
	model = "ASUS VivoTab RT TF600T";
	compatible = "asus,tf600t", "nvidia,tegra30";

	chosen {
		stdout-path = &uarta;
	};

	aliases {
		i2c0 = &pwr_i2c;

		mmc0 = &sdmmc4;	/* eMMC */
		mmc1 = &sdmmc1; /* uSD slot */

		rtc0 = &pmic;
		rtc1 = "/rtc@7000e000";

		spi0 = &spi4;

		usb0 = &usb1;
		usb1 = &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 = <&dsia>;
			};
		};

		dsia: dsi@54300000 {
			status = "okay";

			avdd-dsi-csi-supply = <&avdd_dsi_csi>;

			panel = <&panel>;
		};
	};

	uarta: serial@70006000 {
		status = "okay";
	};

	pwm: pwm@7000a000 {
		status = "okay";
	};

	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_1v2_bl: vdd1 {
					regulator-name = "vdd_1v2_backlight";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
				};

				vcore_lcd: vdd2 {
					regulator-name = "vcore_lcd";
					regulator-min-microvolt = <1500000>;
					regulator-max-microvolt = <1500000>;
				};

				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 VDDIO */
				vddio_usd: ldo5 {
					regulator-name = "vddio_sdmmc";
					regulator-min-microvolt = <3300000>;
					regulator-max-microvolt = <3300000>;
					regulator-always-on;
				};

				avdd_dsi_csi: ldo6 {
					regulator-name = "avdd_dsi_csi";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
				};
			};
		};
	};

	spi4: spi@7000da00 {
		status = "okay";
		spi-max-frequency = <25000000>;

		spi-flash@1 {
			compatible = "winbond,w25q32", "jedec,spi-nor";
			reg = <1>;
			spi-max-frequency = <20000000>;
		};
	};

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

	/* Dock's USB port */
	usb3: usb@7d008000 {
		status = "okay";
	};

	backlight: backlight {
		compatible = "pwm-backlight";

		enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
		power-supply = <&vdd_1v2_bl>;
		pwms = <&pwm 0 71428>;

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

		key-volume-up {
			label = "Volume Up";
			gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>;
			linux,code = <KEY_UP>;
		};

		key-volume-down {
			label = "Volume Down";
			gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>;
			linux,code = <KEY_DOWN>;
		};
	};

	panel: panel {
		compatible = "hydis,hv101hd1";

		vdd-supply = <&vcore_lcd>;
		enable-gpios = <&gpio TEGRA_GPIO(L, 4) GPIO_ACTIVE_HIGH>;

		backlight = <&backlight>;
	};

	vdd_usd: regulator-usd {
		compatible = "regulator-fixed";
		regulator-name = "vdd_usd";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};
};
