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

#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/input/gpio-keys.h>

#include "tegra186-p3310.dtsi"

/ {
	model = "NVIDIA Tegra186 P2771-0000 Development Board";
	compatible = "nvidia,p2771-0000", "nvidia,tegra186";

	i2c@3160000 {
		power-monitor@42 {
			compatible = "ti,ina3221";
			reg = <0x42>;
		};

		power-monitor@43 {
			compatible = "ti,ina3221";
			reg = <0x43>;
		};

		exp1: gpio@74 {
			compatible = "ti,tca9539";
			reg = <0x74>;

			interrupt-parent = <&gpio>;
			interrupts = <TEGRA186_MAIN_GPIO(Y, 0)
				      GPIO_ACTIVE_LOW>;

			#gpio-cells = <2>;
			gpio-controller;
		};

		exp2: gpio@77 {
			compatible = "ti,tca9539";
			reg = <0x77>;

			interrupt-parent = <&gpio>;
			interrupts = <TEGRA186_MAIN_GPIO(Y, 6)
				      GPIO_ACTIVE_LOW>;

			#gpio-cells = <2>;
			gpio-controller;
		};
	};

	/* SDMMC1 (SD/MMC) */
	sdhci@3400000 {
		status = "okay";

		vmmc-supply = <&vdd_sd>;
	};

	hda@3510000 {
		nvidia,model = "jetson-tx2-hda";
		status = "okay";
	};

	pcie@10003000 {
		status = "okay";

		dvdd-pex-supply = <&vdd_pex>;
		hvdd-pex-pll-supply = <&vdd_1v8>;
		hvdd-pex-supply = <&vdd_1v8>;
		vddio-pexctl-aud-supply = <&vdd_1v8>;

		pci@1,0 {
			nvidia,num-lanes = <4>;
			status = "okay";
		};

		pci@2,0 {
			nvidia,num-lanes = <0>;
			status = "disabled";
		};

		pci@3,0 {
			nvidia,num-lanes = <1>;
			status = "disabled";
		};
	};

	host1x@13e00000 {
		status = "okay";

		dpaux@15040000 {
			status = "okay";
		};

		display-hub@15200000 {
			status = "okay";
		};

		dsi@15300000 {
			status = "disabled";
		};

		sor@15540000 {
			status = "disabled";

			nvidia,dpaux = <&dpaux1>;
		};

		sor@15580000 {
			status = "okay";

			avdd-io-supply = <&vdd_hdmi_1v05>;
			vdd-pll-supply = <&vdd_1v8_ap>;
			hdmi-supply = <&vdd_hdmi>;

			nvidia,ddc-i2c-bus = <&ddc>;
			nvidia,hpd-gpio = <&gpio TEGRA186_MAIN_GPIO(P, 1)
						 GPIO_ACTIVE_LOW>;
		};

		dpaux@155c0000 {
			status = "okay";
		};
	};

	gpio-keys {
		compatible = "gpio-keys";

		power {
			label = "Power";
			gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 0)
					   GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_KEY>;
			linux,code = <KEY_POWER>;
			debounce-interval = <10>;
			wakeup-event-action = <EV_ACT_ASSERTED>;
			wakeup-source;
		};

		volume-up {
			label = "Volume Up";
			gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 1)
					   GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_KEY>;
			linux,code = <KEY_VOLUMEUP>;
			debounce-interval = <10>;
		};

		volume-down {
			label = "Volume Down";
			gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 2)
					   GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_KEY>;
			linux,code = <KEY_VOLUMEDOWN>;
			debounce-interval = <10>;
		};
	};

	regulators {
		vdd_sd: regulator@100 {
			compatible = "regulator-fixed";
			reg = <100>;

			regulator-name = "SD_CARD_SW_PWR";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;

			gpio = <&gpio TEGRA186_MAIN_GPIO(P, 6)
				      GPIO_ACTIVE_HIGH>;
			enable-active-high;

			vin-supply = <&vdd_3v3_sys>;
		};

		vdd_hdmi: regulator@101 {
			compatible = "regulator-fixed";
			reg = <101>;

			regulator-name = "VDD_HDMI_5V0";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;

			gpio = <&exp1 14 GPIO_ACTIVE_HIGH>;
			enable-active-high;

			vin-supply = <&vdd_5v0_sys>;
		};
	};
};
