/dts-v1/;

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

/ {
	model = "NVIDIA Tegra20 Whistler evaluation board";
	compatible = "nvidia,whistler", "nvidia,tegra20";

	aliases {
		rtc0 = "/i2c@7000d000/max8907@3c";
		rtc1 = "/rtc@7000e000";
		serial0 = &uarta;
	};

	memory {
		reg = <0x00000000 0x20000000>;
	};

	host1x@50000000 {
		hdmi@54280000 {
			status = "okay";

			vdd-supply = <&hdmi_vdd_reg>;
			pll-supply = <&hdmi_pll_reg>;

			nvidia,ddc-i2c-bus = <&hdmi_ddc>;
			nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7)
				GPIO_ACTIVE_HIGH>;
		};
	};

	pinmux@70000014 {
		pinctrl-names = "default";
		pinctrl-0 = <&state_default>;

		state_default: pinmux {
			ata {
				nvidia,pins = "ata", "atb", "ate", "gma", "gmb",
					"gmc", "gmd", "gpu";
				nvidia,function = "gmi";
			};
			atc {
				nvidia,pins = "atc", "atd";
				nvidia,function = "sdio4";
			};
			cdev1 {
				nvidia,pins = "cdev1";
				nvidia,function = "plla_out";
			};
			cdev2 {
				nvidia,pins = "cdev2";
				nvidia,function = "osc";
			};
			crtp {
				nvidia,pins = "crtp";
				nvidia,function = "crt";
			};
			csus {
				nvidia,pins = "csus";
				nvidia,function = "vi_sensor_clk";
			};
			dap1 {
				nvidia,pins = "dap1";
				nvidia,function = "dap1";
			};
			dap2 {
				nvidia,pins = "dap2";
				nvidia,function = "dap2";
			};
			dap3 {
				nvidia,pins = "dap3";
				nvidia,function = "dap3";
			};
			dap4 {
				nvidia,pins = "dap4";
				nvidia,function = "dap4";
			};
			ddc {
				nvidia,pins = "ddc";
				nvidia,function = "i2c2";
			};
			dta {
				nvidia,pins = "dta", "dtb", "dtc", "dtd";
				nvidia,function = "vi";
			};
			dte {
				nvidia,pins = "dte";
				nvidia,function = "rsvd1";
			};
			dtf {
				nvidia,pins = "dtf";
				nvidia,function = "i2c3";
			};
			gme {
				nvidia,pins = "gme";
				nvidia,function = "dap5";
			};
			gpu7 {
				nvidia,pins = "gpu7";
				nvidia,function = "rtck";
			};
			gpv {
				nvidia,pins = "gpv";
				nvidia,function = "pcie";
			};
			hdint {
				nvidia,pins = "hdint", "pta";
				nvidia,function = "hdmi";
			};
			i2cp {
				nvidia,pins = "i2cp";
				nvidia,function = "i2cp";
			};
			irrx {
				nvidia,pins = "irrx", "irtx";
				nvidia,function = "uartb";
			};
			kbca {
				nvidia,pins = "kbca", "kbcc", "kbce", "kbcf";
				nvidia,function = "kbc";
			};
			kbcb {
				nvidia,pins = "kbcb", "kbcd";
				nvidia,function = "sdio2";
			};
			lcsn {
				nvidia,pins = "lcsn", "lsck", "lsda", "lsdi",
					"spia", "spib", "spic";
				nvidia,function = "spi3";
			};
			ld0 {
				nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
					"ld5", "ld6", "ld7", "ld8", "ld9",
					"ld10", "ld11", "ld12", "ld13", "ld14",
					"ld15", "ld16", "ld17", "ldc", "ldi",
					"lhp0", "lhp1", "lhp2", "lhs", "lm0",
					"lm1", "lpp", "lpw0", "lpw1", "lpw2",
					"lsc0", "lsc1", "lspi", "lvp0", "lvp1",
					"lvs";
				nvidia,function = "displaya";
			};
			owc {
				nvidia,pins = "owc", "uac";
				nvidia,function = "owr";
			};
			pmc {
				nvidia,pins = "pmc";
				nvidia,function = "pwr_on";
			};
			rm {
				nvidia,pins = "rm";
				nvidia,function = "i2c1";
			};
			sdb {
				nvidia,pins = "sdb", "sdc", "sdd", "slxa",
					"slxc", "slxd", "slxk";
				nvidia,function = "sdio3";
			};
			sdio1 {
				nvidia,pins = "sdio1";
				nvidia,function = "sdio1";
			};
			spdi {
				nvidia,pins = "spdi", "spdo";
				nvidia,function = "rsvd2";
			};
			spid {
				nvidia,pins = "spid", "spie", "spig", "spih";
				nvidia,function = "spi2_alt";
			};
			spif {
				nvidia,pins = "spif";
				nvidia,function = "spi2";
			};
			uaa {
				nvidia,pins = "uaa", "uab";
				nvidia,function = "uarta";
			};
			uad {
				nvidia,pins = "uad";
				nvidia,function = "irda";
			};
			uca {
				nvidia,pins = "uca", "ucb";
				nvidia,function = "uartc";
			};
			uda {
				nvidia,pins = "uda";
				nvidia,function = "spi1";
			};
			conf_ata {
				nvidia,pins = "ata", "atb", "atc", "ddc", "gma",
					"gmb", "gmc", "gmd", "irrx", "irtx",
					"kbca", "kbcb", "kbcc", "kbcd", "kbce",
					"kbcf", "sdc", "sdd", "spie", "spig",
					"spih", "uaa", "uab", "uad", "uca",
					"ucb";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
			};
			conf_atd {
				nvidia,pins = "atd", "ate", "cdev1", "csus",
					"dap1", "dap2", "dap3", "dap4", "dte",
					"dtf", "gpu", "gpu7", "gpv", "i2cp",
					"rm", "sdio1", "slxa", "slxc", "slxd",
					"slxk", "spdi", "spdo", "uac", "uda";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
			};
			conf_cdev2 {
				nvidia,pins = "cdev2", "spia", "spib";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
			};
			conf_ck32 {
				nvidia,pins = "ck32", "ddrc", "lc", "pmca",
					"pmcb", "pmcc", "pmcd", "xm2c",
					"xm2d";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			};
			conf_crtp {
				nvidia,pins = "crtp";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
			};
			conf_dta {
				nvidia,pins = "dta", "dtb", "dtc", "dtd",
					"spid", "spif";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
			};
			conf_gme {
				nvidia,pins = "gme", "owc", "pta", "spic";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
			};
			conf_ld17_0 {
				nvidia,pins = "ld17_0", "ld19_18", "ld21_20",
					"ld23_22";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
			};
			conf_ls {
				nvidia,pins = "ls", "pmce";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
			};
			drive_dap1 {
				nvidia,pins = "drive_dap1";
				nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>;
				nvidia,schmitt = <TEGRA_PIN_ENABLE>;
				nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_8>;
				nvidia,pull-down-strength = <0>;
				nvidia,pull-up-strength = <0>;
				nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_FASTEST>;
				nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_FASTEST>;
			};
		};
	};

	i2s@70002800 {
		status = "okay";
	};

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

	hdmi_ddc: i2c@7000c400 {
		status = "okay";
		clock-frequency = <100000>;
	};

	i2c@7000d000 {
		status = "okay";
		clock-frequency = <100000>;

		codec: codec@1a {
			compatible = "wlf,wm8753";
			reg = <0x1a>;
		};

		tca6416: gpio@20 {
			compatible = "ti,tca6416";
			reg = <0x20>;
			gpio-controller;
			#gpio-cells = <2>;
		};

		max8907@3c {
			compatible = "maxim,max8907";
			reg = <0x3c>;
			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;

			maxim,system-power-controller;

			mbatt-supply = <&usb0_vbus_reg>;
			in-v1-supply = <&mbatt_reg>;
			in-v2-supply = <&mbatt_reg>;
			in-v3-supply = <&mbatt_reg>;
			in1-supply = <&mbatt_reg>;
			in2-supply = <&nvvdd_sv3_reg>;
			in3-supply = <&mbatt_reg>;
			in4-supply = <&mbatt_reg>;
			in5-supply = <&mbatt_reg>;
			in6-supply = <&mbatt_reg>;
			in7-supply = <&mbatt_reg>;
			in8-supply = <&mbatt_reg>;
			in9-supply = <&mbatt_reg>;
			in10-supply = <&mbatt_reg>;
			in11-supply = <&mbatt_reg>;
			in12-supply = <&mbatt_reg>;
			in13-supply = <&mbatt_reg>;
			in14-supply = <&mbatt_reg>;
			in15-supply = <&mbatt_reg>;
			in16-supply = <&mbatt_reg>;
			in17-supply = <&nvvdd_sv3_reg>;
			in18-supply = <&nvvdd_sv3_reg>;
			in19-supply = <&mbatt_reg>;
			in20-supply = <&mbatt_reg>;

			regulators {
				mbatt_reg: mbatt {
					regulator-name = "vbat_pmu";
					regulator-always-on;
				};

				sd1 {
					regulator-name = "nvvdd_sv1,vdd_cpu_pmu";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-always-on;
				};

				sd2 {
					regulator-name = "nvvdd_sv2,vdd_core";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-always-on;
				};

				nvvdd_sv3_reg: sd3 {
					regulator-name = "nvvdd_sv3";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
				};

				ldo1 {
					regulator-name = "nvvdd_ldo1,vddio_rx_ddr,vcore_acc";
					regulator-min-microvolt = <3300000>;
					regulator-max-microvolt = <3300000>;
					regulator-always-on;
				};

				ldo2 {
					regulator-name = "nvvdd_ldo2,avdd_pll*";
					regulator-min-microvolt = <1100000>;
					regulator-max-microvolt = <1100000>;
					regulator-always-on;
				};

				ldo3 {
					regulator-name = "nvvdd_ldo3,vcom_1v8b";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
				};

				ldo4 {
					regulator-name = "nvvdd_ldo4,avdd_usb*";
					regulator-min-microvolt = <3300000>;
					regulator-max-microvolt = <3300000>;
					regulator-always-on;
				};

				ldo5 {
					regulator-name = "nvvdd_ldo5,vcore_mmc,avdd_lcd1,vddio_1wire";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
				};

				hdmi_pll_reg: ldo6 {
					regulator-name = "nvvdd_ldo6,avdd_hdmi_pll";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
				};

				ldo7 {
					regulator-name = "nvvdd_ldo7,avddio_audio";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
				};

				ldo8 {
					regulator-name = "nvvdd_ldo8,vcom_3v0,vcore_cmps";
					regulator-min-microvolt = <3000000>;
					regulator-max-microvolt = <3000000>;
				};

				ldo9 {
					regulator-name = "nvvdd_ldo9,avdd_cam*";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
				};

				ldo10 {
					regulator-name = "nvvdd_ldo10,avdd_usb_ic_3v0";
					regulator-min-microvolt = <3000000>;
					regulator-max-microvolt = <3000000>;
					regulator-always-on;
				};

				hdmi_vdd_reg: ldo11 {
					regulator-name = "nvvdd_ldo11,vddio_pex_clk,vcom_33,avdd_hdmi";
					regulator-min-microvolt = <3300000>;
					regulator-max-microvolt = <3300000>;
				};

				ldo12 {
					regulator-name = "nvvdd_ldo12,vddio_sdio";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
				};

				ldo13 {
					regulator-name = "nvvdd_ldo13,vcore_phtn,vdd_af";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
				};

				ldo14 {
					regulator-name = "nvvdd_ldo14,avdd_vdac";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
				};

				ldo15 {
					regulator-name = "nvvdd_ldo15,vcore_temp,vddio_hdcp";
					regulator-min-microvolt = <3300000>;
					regulator-max-microvolt = <3300000>;
				};

				ldo16 {
					regulator-name = "nvvdd_ldo16,vdd_dbrtr";
					regulator-min-microvolt = <1300000>;
					regulator-max-microvolt = <1300000>;
				};

				ldo17 {
					regulator-name = "nvvdd_ldo17,vddio_mipi";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
				};

				ldo18 {
					regulator-name = "nvvdd_ldo18,vddio_vi,vcore_cam*";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
				};

				ldo19 {
					regulator-name = "nvvdd_ldo19,avdd_lcd2,vddio_lx";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
				};

				ldo20 {
					regulator-name = "nvvdd_ldo20,vddio_ddr_1v2,vddio_hsic,vcom_1v2";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-always-on;
				};

				out5v {
					regulator-name = "usb0_vbus_reg";
				};

				out33v {
					regulator-name = "pmu_out3v3";
				};

				bbat {
					regulator-name = "pmu_bbat";
					regulator-min-microvolt = <2400000>;
					regulator-max-microvolt = <2400000>;
					regulator-always-on;
				};

				sdby {
					regulator-name = "vdd_aon";
					regulator-always-on;
				};

				vrtc {
					regulator-name = "vrtc,pmu_vccadc";
					regulator-always-on;
				};
			};
		};
	};

	kbc@7000e200 {
		status = "okay";
		nvidia,debounce-delay-ms = <20>;
		nvidia,repeat-delay-ms = <160>;
		nvidia,kbc-row-pins = <0 1 2>;
		nvidia,kbc-col-pins = <16 17>;
		nvidia,wakeup-source;
		linux,keymap = <MATRIX_KEY(0x00, 0x00, KEY_POWER)
				MATRIX_KEY(0x01, 0x00, KEY_HOME)
				MATRIX_KEY(0x01, 0x01, KEY_BACK)
				MATRIX_KEY(0x02, 0x01, KEY_MENU)>;
	};

	pmc@7000e400 {
		nvidia,invert-interrupt;
		nvidia,suspend-mode = <1>;
		nvidia,cpu-pwr-good-time = <2000>;
		nvidia,cpu-pwr-off-time = <1000>;
		nvidia,core-pwr-good-time = <0 3845>;
		nvidia,core-pwr-off-time = <93727>;
		nvidia,core-power-req-active-high;
		nvidia,sys-clock-req-active-high;
		nvidia,combined-power-req;
	};

	usb@c5000000 {
		status = "okay";
	};

	usb-phy@c5000000 {
		status = "okay";
		vbus-supply = <&vbus1_reg>;
	};

	usb@c5008000 {
		status = "okay";
	};

	usb-phy@c5008000 {
		status = "okay";
		vbus-supply = <&vbus3_reg>;
	};

	sdhci@c8000400 {
		status = "okay";
		cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
		wp-gpios = <&gpio TEGRA_GPIO(V, 5) GPIO_ACTIVE_HIGH>;
		bus-width = <8>;
	};

	sdhci@c8000600 {
		status = "okay";
		bus-width = <8>;
		non-removable;
	};

	clocks {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;

		clk32k_in: clock@0 {
			compatible = "fixed-clock";
			reg=<0>;
			#clock-cells = <0>;
			clock-frequency = <32768>;
		};
	};

	regulators {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;

		usb0_vbus_reg: regulator@0 {
			compatible = "regulator-fixed";
			reg = <0>;
			regulator-name = "usb0_vbus";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			regulator-always-on;
		};

		vbus1_reg: regulator@2 {
			compatible = "regulator-fixed";
			reg = <2>;
			regulator-name = "vbus1";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			gpio = <&tca6416 0 0>; /* GPIO_PMU0 */
			regulator-always-on;
			regulator-boot-on;
		};

		vbus3_reg: regulator@3 {
			compatible = "regulator-fixed";
			reg = <3>;
			regulator-name = "vbus3";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			gpio = <&tca6416 1 0>; /* GPIO_PMU1 */
			regulator-always-on;
			regulator-boot-on;
		};
	};

	sound {
		compatible = "nvidia,tegra-audio-wm8753-whistler",
			     "nvidia,tegra-audio-wm8753";
		nvidia,model = "NVIDIA Tegra Whistler";

		nvidia,audio-routing =
			"Headphone Jack", "LOUT1",
			"Headphone Jack", "ROUT1",
			"MIC2", "Mic Jack",
			"MIC2N", "Mic Jack";

		nvidia,i2s-controller = <&tegra_i2s1>;
		nvidia,audio-codec = <&codec>;

		clocks = <&tegra_car TEGRA20_CLK_PLL_A>,
			 <&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
			 <&tegra_car TEGRA20_CLK_CDEV1>;
		clock-names = "pll_a", "pll_a_out0", "mclk";
	};
};
