162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/dts-v1/;
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci#include <dt-bindings/input/atmel-maxtouch.h>
562306a36Sopenharmony_ci#include <dt-bindings/input/gpio-keys.h>
662306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
762306a36Sopenharmony_ci#include <dt-bindings/thermal/thermal.h>
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#include "tegra20.dtsi"
1062306a36Sopenharmony_ci#include "tegra20-cpu-opp.dtsi"
1162306a36Sopenharmony_ci#include "tegra20-cpu-opp-microvolt.dtsi"
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci/ {
1462306a36Sopenharmony_ci	model = "ASUS EeePad Transformer TF101";
1562306a36Sopenharmony_ci	compatible = "asus,tf101", "nvidia,tegra20";
1662306a36Sopenharmony_ci	chassis-type = "convertible";
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	aliases {
1962306a36Sopenharmony_ci		mmc0 = &sdmmc4; /* eMMC */
2062306a36Sopenharmony_ci		mmc1 = &sdmmc3; /* MicroSD */
2162306a36Sopenharmony_ci		mmc2 = &sdmmc1; /* WiFi */
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci		rtc0 = &pmic;
2462306a36Sopenharmony_ci		rtc1 = "/rtc@7000e000";
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci		serial0 = &uartd;
2762306a36Sopenharmony_ci		serial1 = &uartc; /* Bluetooth */
2862306a36Sopenharmony_ci		serial2 = &uartb; /* GPS */
2962306a36Sopenharmony_ci	};
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	/*
3262306a36Sopenharmony_ci	 * The decompressor and also some bootloaders rely on a
3362306a36Sopenharmony_ci	 * pre-existing /chosen node to be available to insert the
3462306a36Sopenharmony_ci	 * command line and merge other ATAGS info.
3562306a36Sopenharmony_ci	 */
3662306a36Sopenharmony_ci	chosen {};
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	memory@0 {
3962306a36Sopenharmony_ci		reg = <0x00000000 0x40000000>;
4062306a36Sopenharmony_ci	};
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci	reserved-memory {
4362306a36Sopenharmony_ci		#address-cells = <1>;
4462306a36Sopenharmony_ci		#size-cells = <1>;
4562306a36Sopenharmony_ci		ranges;
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci		ramoops@2ffe0000 {
4862306a36Sopenharmony_ci			compatible = "ramoops";
4962306a36Sopenharmony_ci			reg = <0x2ffe0000 0x10000>;	/* 64kB */
5062306a36Sopenharmony_ci			console-size = <0x8000>;	/* 32kB */
5162306a36Sopenharmony_ci			record-size = <0x400>;		/*  1kB */
5262306a36Sopenharmony_ci			ecc-size = <16>;
5362306a36Sopenharmony_ci		};
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci		linux,cma@30000000 {
5662306a36Sopenharmony_ci			compatible = "shared-dma-pool";
5762306a36Sopenharmony_ci			alloc-ranges = <0x30000000 0x10000000>;
5862306a36Sopenharmony_ci			size = <0x10000000>; /* 256MiB */
5962306a36Sopenharmony_ci			linux,cma-default;
6062306a36Sopenharmony_ci			reusable;
6162306a36Sopenharmony_ci		};
6262306a36Sopenharmony_ci	};
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci	host1x@50000000 {
6562306a36Sopenharmony_ci		dc@54200000 {
6662306a36Sopenharmony_ci			rgb {
6762306a36Sopenharmony_ci				status = "okay";
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci				port@0 {
7062306a36Sopenharmony_ci					lcd_output: endpoint {
7162306a36Sopenharmony_ci						remote-endpoint = <&lvds_encoder_input>;
7262306a36Sopenharmony_ci						bus-width = <18>;
7362306a36Sopenharmony_ci					};
7462306a36Sopenharmony_ci				};
7562306a36Sopenharmony_ci			};
7662306a36Sopenharmony_ci		};
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci		hdmi@54280000 {
7962306a36Sopenharmony_ci			status = "okay";
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci			vdd-supply = <&hdmi_vdd_reg>;
8262306a36Sopenharmony_ci			pll-supply = <&hdmi_pll_reg>;
8362306a36Sopenharmony_ci			hdmi-supply = <&vdd_hdmi_en>;
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci			nvidia,ddc-i2c-bus = <&hdmi_ddc>;
8662306a36Sopenharmony_ci			nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7)
8762306a36Sopenharmony_ci				GPIO_ACTIVE_HIGH>;
8862306a36Sopenharmony_ci		};
8962306a36Sopenharmony_ci	};
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci	gpio@6000d000 {
9262306a36Sopenharmony_ci		charging-enable-hog {
9362306a36Sopenharmony_ci			gpio-hog;
9462306a36Sopenharmony_ci			gpios = <TEGRA_GPIO(R, 6) GPIO_ACTIVE_HIGH>;
9562306a36Sopenharmony_ci			output-low;
9662306a36Sopenharmony_ci		};
9762306a36Sopenharmony_ci	};
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci	pinmux@70000014 {
10062306a36Sopenharmony_ci		pinctrl-names = "default";
10162306a36Sopenharmony_ci		pinctrl-0 = <&state_default>;
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci		state_default: pinmux {
10462306a36Sopenharmony_ci			ata {
10562306a36Sopenharmony_ci				nvidia,pins = "ata";
10662306a36Sopenharmony_ci				nvidia,function = "ide";
10762306a36Sopenharmony_ci			};
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci			atb {
11062306a36Sopenharmony_ci				nvidia,pins = "atb", "gma", "gme";
11162306a36Sopenharmony_ci				nvidia,function = "sdio4";
11262306a36Sopenharmony_ci			};
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci			atc {
11562306a36Sopenharmony_ci				nvidia,pins = "atc";
11662306a36Sopenharmony_ci				nvidia,function = "nand";
11762306a36Sopenharmony_ci			};
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci			atd {
12062306a36Sopenharmony_ci				nvidia,pins = "atd", "ate", "gmb", "spia",
12162306a36Sopenharmony_ci					"spib", "spic";
12262306a36Sopenharmony_ci				nvidia,function = "gmi";
12362306a36Sopenharmony_ci			};
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci			cdev1 {
12662306a36Sopenharmony_ci				nvidia,pins = "cdev1";
12762306a36Sopenharmony_ci				nvidia,function = "plla_out";
12862306a36Sopenharmony_ci			};
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci			cdev2 {
13162306a36Sopenharmony_ci				nvidia,pins = "cdev2";
13262306a36Sopenharmony_ci				nvidia,function = "pllp_out4";
13362306a36Sopenharmony_ci			};
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci			crtp {
13662306a36Sopenharmony_ci				nvidia,pins = "crtp";
13762306a36Sopenharmony_ci				nvidia,function = "crt";
13862306a36Sopenharmony_ci			};
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ci			lm1 {
14162306a36Sopenharmony_ci				nvidia,pins = "lm1";
14262306a36Sopenharmony_ci				nvidia,function = "rsvd3";
14362306a36Sopenharmony_ci			};
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ci			csus {
14662306a36Sopenharmony_ci				nvidia,pins = "csus";
14762306a36Sopenharmony_ci				nvidia,function = "vi_sensor_clk";
14862306a36Sopenharmony_ci			};
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci			dap1 {
15162306a36Sopenharmony_ci				nvidia,pins = "dap1";
15262306a36Sopenharmony_ci				nvidia,function = "dap1";
15362306a36Sopenharmony_ci			};
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ci			dap2 {
15662306a36Sopenharmony_ci				nvidia,pins = "dap2";
15762306a36Sopenharmony_ci				nvidia,function = "dap2";
15862306a36Sopenharmony_ci			};
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci			dap3 {
16162306a36Sopenharmony_ci				nvidia,pins = "dap3";
16262306a36Sopenharmony_ci				nvidia,function = "dap3";
16362306a36Sopenharmony_ci			};
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ci			dap4 {
16662306a36Sopenharmony_ci				nvidia,pins = "dap4";
16762306a36Sopenharmony_ci				nvidia,function = "dap4";
16862306a36Sopenharmony_ci			};
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ci			dta {
17162306a36Sopenharmony_ci				nvidia,pins = "dta", "dtb", "dtc", "dtd", "dte";
17262306a36Sopenharmony_ci				nvidia,function = "vi";
17362306a36Sopenharmony_ci			};
17462306a36Sopenharmony_ci
17562306a36Sopenharmony_ci			dtf {
17662306a36Sopenharmony_ci				nvidia,pins = "dtf";
17762306a36Sopenharmony_ci				nvidia,function = "i2c3";
17862306a36Sopenharmony_ci			};
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci			gmc {
18162306a36Sopenharmony_ci				nvidia,pins = "gmc";
18262306a36Sopenharmony_ci				nvidia,function = "uartd";
18362306a36Sopenharmony_ci			};
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ci			gmd {
18662306a36Sopenharmony_ci				nvidia,pins = "gmd";
18762306a36Sopenharmony_ci				nvidia,function = "sflash";
18862306a36Sopenharmony_ci			};
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_ci			gpu {
19162306a36Sopenharmony_ci				nvidia,pins = "gpu";
19262306a36Sopenharmony_ci				nvidia,function = "pwm";
19362306a36Sopenharmony_ci			};
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_ci			gpu7 {
19662306a36Sopenharmony_ci				nvidia,pins = "gpu7";
19762306a36Sopenharmony_ci				nvidia,function = "rtck";
19862306a36Sopenharmony_ci			};
19962306a36Sopenharmony_ci
20062306a36Sopenharmony_ci			gpv {
20162306a36Sopenharmony_ci				nvidia,pins = "gpv", "slxa";
20262306a36Sopenharmony_ci				nvidia,function = "pcie";
20362306a36Sopenharmony_ci			};
20462306a36Sopenharmony_ci
20562306a36Sopenharmony_ci			hdint {
20662306a36Sopenharmony_ci				nvidia,pins = "hdint";
20762306a36Sopenharmony_ci				nvidia,function = "hdmi";
20862306a36Sopenharmony_ci			};
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci			i2cp {
21162306a36Sopenharmony_ci				nvidia,pins = "i2cp";
21262306a36Sopenharmony_ci				nvidia,function = "i2cp";
21362306a36Sopenharmony_ci			};
21462306a36Sopenharmony_ci
21562306a36Sopenharmony_ci			irrx {
21662306a36Sopenharmony_ci				nvidia,pins = "irrx", "irtx";
21762306a36Sopenharmony_ci				nvidia,function = "uartb";
21862306a36Sopenharmony_ci			};
21962306a36Sopenharmony_ci
22062306a36Sopenharmony_ci			kbca {
22162306a36Sopenharmony_ci				nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
22262306a36Sopenharmony_ci					"kbce", "kbcf";
22362306a36Sopenharmony_ci				nvidia,function = "kbc";
22462306a36Sopenharmony_ci			};
22562306a36Sopenharmony_ci
22662306a36Sopenharmony_ci			lcsn {
22762306a36Sopenharmony_ci				nvidia,pins = "lcsn", "ldc", "lm0", "lpw1",
22862306a36Sopenharmony_ci					"lsdi", "lvp0";
22962306a36Sopenharmony_ci				nvidia,function = "rsvd4";
23062306a36Sopenharmony_ci			};
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ci			ld0 {
23362306a36Sopenharmony_ci				nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
23462306a36Sopenharmony_ci					"ld5", "ld6", "ld7", "ld8", "ld9",
23562306a36Sopenharmony_ci					"ld10", "ld11", "ld12", "ld13", "ld14",
23662306a36Sopenharmony_ci					"ld15", "ld16", "ld17", "ldi", "lhp0",
23762306a36Sopenharmony_ci					"lhp1", "lhp2", "lhs", "lpp", "lpw0",
23862306a36Sopenharmony_ci					"lpw2", "lsc0", "lsc1", "lsck", "lsda",
23962306a36Sopenharmony_ci					"lspi", "lvp1", "lvs";
24062306a36Sopenharmony_ci				nvidia,function = "displaya";
24162306a36Sopenharmony_ci			};
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ci			owc {
24462306a36Sopenharmony_ci				nvidia,pins = "owc", "spdi", "spdo", "uac";
24562306a36Sopenharmony_ci				nvidia,function = "rsvd2";
24662306a36Sopenharmony_ci			};
24762306a36Sopenharmony_ci
24862306a36Sopenharmony_ci			pmc {
24962306a36Sopenharmony_ci				nvidia,pins = "pmc";
25062306a36Sopenharmony_ci				nvidia,function = "pwr_on";
25162306a36Sopenharmony_ci			};
25262306a36Sopenharmony_ci
25362306a36Sopenharmony_ci			rm {
25462306a36Sopenharmony_ci				nvidia,pins = "rm";
25562306a36Sopenharmony_ci				nvidia,function = "i2c1";
25662306a36Sopenharmony_ci			};
25762306a36Sopenharmony_ci
25862306a36Sopenharmony_ci			sdb {
25962306a36Sopenharmony_ci				nvidia,pins = "sdb", "sdc", "sdd", "slxc", "slxk";
26062306a36Sopenharmony_ci				nvidia,function = "sdio3";
26162306a36Sopenharmony_ci			};
26262306a36Sopenharmony_ci
26362306a36Sopenharmony_ci			sdio1 {
26462306a36Sopenharmony_ci				nvidia,pins = "sdio1";
26562306a36Sopenharmony_ci				nvidia,function = "sdio1";
26662306a36Sopenharmony_ci			};
26762306a36Sopenharmony_ci
26862306a36Sopenharmony_ci			slxd {
26962306a36Sopenharmony_ci				nvidia,pins = "slxd";
27062306a36Sopenharmony_ci				nvidia,function = "spdif";
27162306a36Sopenharmony_ci			};
27262306a36Sopenharmony_ci
27362306a36Sopenharmony_ci			spid {
27462306a36Sopenharmony_ci				nvidia,pins = "spid", "spie", "spif";
27562306a36Sopenharmony_ci				nvidia,function = "spi1";
27662306a36Sopenharmony_ci			};
27762306a36Sopenharmony_ci
27862306a36Sopenharmony_ci			spig {
27962306a36Sopenharmony_ci				nvidia,pins = "spig", "spih";
28062306a36Sopenharmony_ci				nvidia,function = "spi2_alt";
28162306a36Sopenharmony_ci			};
28262306a36Sopenharmony_ci
28362306a36Sopenharmony_ci			uaa {
28462306a36Sopenharmony_ci				nvidia,pins = "uaa", "uab", "uda";
28562306a36Sopenharmony_ci				nvidia,function = "ulpi";
28662306a36Sopenharmony_ci			};
28762306a36Sopenharmony_ci
28862306a36Sopenharmony_ci			uad {
28962306a36Sopenharmony_ci				nvidia,pins = "uad";
29062306a36Sopenharmony_ci				nvidia,function = "irda";
29162306a36Sopenharmony_ci			};
29262306a36Sopenharmony_ci
29362306a36Sopenharmony_ci			uca {
29462306a36Sopenharmony_ci				nvidia,pins = "uca", "ucb";
29562306a36Sopenharmony_ci				nvidia,function = "uartc";
29662306a36Sopenharmony_ci			};
29762306a36Sopenharmony_ci
29862306a36Sopenharmony_ci			conf_ata {
29962306a36Sopenharmony_ci				nvidia,pins = "ata", "atb", "atc", "atd",
30062306a36Sopenharmony_ci					"cdev1", "cdev2", "dap1", "dap4",
30162306a36Sopenharmony_ci					"dte", "ddc", "dtf", "gma", "gmc",
30262306a36Sopenharmony_ci					"gme", "gpu", "gpu7", "gpv", "i2cp",
30362306a36Sopenharmony_ci					"irrx", "irtx", "pta", "rm", "sdc",
30462306a36Sopenharmony_ci					"sdd", "slxc", "slxd", "slxk", "spdi",
30562306a36Sopenharmony_ci					"spdo", "uac", "uad",
30662306a36Sopenharmony_ci					"uda", "csus";
30762306a36Sopenharmony_ci				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
30862306a36Sopenharmony_ci				nvidia,tristate = <TEGRA_PIN_DISABLE>;
30962306a36Sopenharmony_ci			};
31062306a36Sopenharmony_ci
31162306a36Sopenharmony_ci			conf_ate {
31262306a36Sopenharmony_ci				nvidia,pins = "ate", "dap2", "dap3", "gmb", "gmd",
31362306a36Sopenharmony_ci					"owc", "spia", "spib", "spic",
31462306a36Sopenharmony_ci					"spid", "spie", "spig", "slxa";
31562306a36Sopenharmony_ci				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
31662306a36Sopenharmony_ci				nvidia,tristate = <TEGRA_PIN_ENABLE>;
31762306a36Sopenharmony_ci			};
31862306a36Sopenharmony_ci
31962306a36Sopenharmony_ci			conf_ck32 {
32062306a36Sopenharmony_ci				nvidia,pins = "ck32", "ddrc", "pmca", "pmcb",
32162306a36Sopenharmony_ci					"pmcc", "pmcd", "pmce", "xm2c", "xm2d";
32262306a36Sopenharmony_ci				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
32362306a36Sopenharmony_ci			};
32462306a36Sopenharmony_ci
32562306a36Sopenharmony_ci			conf_crtp {
32662306a36Sopenharmony_ci				nvidia,pins = "crtp", "spih";
32762306a36Sopenharmony_ci				nvidia,pull = <TEGRA_PIN_PULL_UP>;
32862306a36Sopenharmony_ci				nvidia,tristate = <TEGRA_PIN_ENABLE>;
32962306a36Sopenharmony_ci			};
33062306a36Sopenharmony_ci
33162306a36Sopenharmony_ci			conf_dta {
33262306a36Sopenharmony_ci				nvidia,pins = "dta", "dtb", "dtc", "dtd";
33362306a36Sopenharmony_ci				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
33462306a36Sopenharmony_ci				nvidia,tristate = <TEGRA_PIN_DISABLE>;
33562306a36Sopenharmony_ci			};
33662306a36Sopenharmony_ci
33762306a36Sopenharmony_ci			conf_spif {
33862306a36Sopenharmony_ci				nvidia,pins = "spif";
33962306a36Sopenharmony_ci				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
34062306a36Sopenharmony_ci				nvidia,tristate = <TEGRA_PIN_ENABLE>;
34162306a36Sopenharmony_ci			};
34262306a36Sopenharmony_ci
34362306a36Sopenharmony_ci			conf_hdint {
34462306a36Sopenharmony_ci				nvidia,pins = "hdint", "lcsn", "ldc", "lm1",
34562306a36Sopenharmony_ci					"lpw1", "lsck", "lsda", "lsdi", "lvp0";
34662306a36Sopenharmony_ci				nvidia,tristate = <TEGRA_PIN_ENABLE>;
34762306a36Sopenharmony_ci			};
34862306a36Sopenharmony_ci
34962306a36Sopenharmony_ci			conf_kbca {
35062306a36Sopenharmony_ci				nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
35162306a36Sopenharmony_ci					"kbce", "kbcf", "sdio1", "uaa", "uab",
35262306a36Sopenharmony_ci					"uca", "ucb";
35362306a36Sopenharmony_ci				nvidia,pull = <TEGRA_PIN_PULL_UP>;
35462306a36Sopenharmony_ci				nvidia,tristate = <TEGRA_PIN_DISABLE>;
35562306a36Sopenharmony_ci			};
35662306a36Sopenharmony_ci
35762306a36Sopenharmony_ci			conf_lc {
35862306a36Sopenharmony_ci				nvidia,pins = "lc", "ls";
35962306a36Sopenharmony_ci				nvidia,pull = <TEGRA_PIN_PULL_UP>;
36062306a36Sopenharmony_ci			};
36162306a36Sopenharmony_ci
36262306a36Sopenharmony_ci			conf_ld0 {
36362306a36Sopenharmony_ci				nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
36462306a36Sopenharmony_ci					"ld5", "ld6", "ld7", "ld8", "ld9",
36562306a36Sopenharmony_ci					"ld10", "ld11", "ld12", "ld13", "ld14",
36662306a36Sopenharmony_ci					"ld15", "ld16", "ld17", "ldi", "lhp0",
36762306a36Sopenharmony_ci					"lhp1", "lhp2", "lhs", "lm0", "lpp",
36862306a36Sopenharmony_ci					"lpw0", "lpw2", "lsc0", "lsc1", "lspi",
36962306a36Sopenharmony_ci					"lvp1", "lvs", "pmc", "sdb";
37062306a36Sopenharmony_ci				nvidia,tristate = <TEGRA_PIN_DISABLE>;
37162306a36Sopenharmony_ci			};
37262306a36Sopenharmony_ci
37362306a36Sopenharmony_ci			conf_ld17_0 {
37462306a36Sopenharmony_ci				nvidia,pins = "ld17_0", "ld19_18", "ld21_20",
37562306a36Sopenharmony_ci					"ld23_22";
37662306a36Sopenharmony_ci				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
37762306a36Sopenharmony_ci			};
37862306a36Sopenharmony_ci
37962306a36Sopenharmony_ci			drive_sdio1 {
38062306a36Sopenharmony_ci				nvidia,pins = "drive_sdio1", "drive_ddc", "drive_vi1";
38162306a36Sopenharmony_ci				nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>;
38262306a36Sopenharmony_ci				nvidia,schmitt = <TEGRA_PIN_ENABLE>;
38362306a36Sopenharmony_ci				nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_1>;
38462306a36Sopenharmony_ci				nvidia,pull-down-strength = <31>;
38562306a36Sopenharmony_ci				nvidia,pull-up-strength = <31>;
38662306a36Sopenharmony_ci				nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
38762306a36Sopenharmony_ci				nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
38862306a36Sopenharmony_ci			};
38962306a36Sopenharmony_ci
39062306a36Sopenharmony_ci			drive_csus {
39162306a36Sopenharmony_ci				nvidia,pins = "drive_csus";
39262306a36Sopenharmony_ci				nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>;
39362306a36Sopenharmony_ci				nvidia,schmitt = <TEGRA_PIN_DISABLE>;
39462306a36Sopenharmony_ci				nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_1>;
39562306a36Sopenharmony_ci				nvidia,pull-down-strength = <31>;
39662306a36Sopenharmony_ci				nvidia,pull-up-strength = <31>;
39762306a36Sopenharmony_ci				nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
39862306a36Sopenharmony_ci				nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
39962306a36Sopenharmony_ci			};
40062306a36Sopenharmony_ci		};
40162306a36Sopenharmony_ci
40262306a36Sopenharmony_ci		state_i2cmux_ddc: pinmux-i2cmux-ddc {
40362306a36Sopenharmony_ci			ddc {
40462306a36Sopenharmony_ci				nvidia,pins = "ddc";
40562306a36Sopenharmony_ci				nvidia,function = "i2c2";
40662306a36Sopenharmony_ci			};
40762306a36Sopenharmony_ci
40862306a36Sopenharmony_ci			pta {
40962306a36Sopenharmony_ci				nvidia,pins = "pta";
41062306a36Sopenharmony_ci				nvidia,function = "rsvd4";
41162306a36Sopenharmony_ci			};
41262306a36Sopenharmony_ci		};
41362306a36Sopenharmony_ci
41462306a36Sopenharmony_ci		state_i2cmux_idle: pinmux-i2cmux-idle {
41562306a36Sopenharmony_ci			ddc {
41662306a36Sopenharmony_ci				nvidia,pins = "ddc";
41762306a36Sopenharmony_ci				nvidia,function = "rsvd4";
41862306a36Sopenharmony_ci			};
41962306a36Sopenharmony_ci
42062306a36Sopenharmony_ci			pta {
42162306a36Sopenharmony_ci				nvidia,pins = "pta";
42262306a36Sopenharmony_ci				nvidia,function = "rsvd4";
42362306a36Sopenharmony_ci			};
42462306a36Sopenharmony_ci		};
42562306a36Sopenharmony_ci
42662306a36Sopenharmony_ci		state_i2cmux_pta: pinmux-i2cmux-pta {
42762306a36Sopenharmony_ci			ddc {
42862306a36Sopenharmony_ci				nvidia,pins = "ddc";
42962306a36Sopenharmony_ci				nvidia,function = "rsvd4";
43062306a36Sopenharmony_ci			};
43162306a36Sopenharmony_ci
43262306a36Sopenharmony_ci			pta {
43362306a36Sopenharmony_ci				nvidia,pins = "pta";
43462306a36Sopenharmony_ci				nvidia,function = "i2c2";
43562306a36Sopenharmony_ci			};
43662306a36Sopenharmony_ci		};
43762306a36Sopenharmony_ci	};
43862306a36Sopenharmony_ci
43962306a36Sopenharmony_ci	spdif@70002400 {
44062306a36Sopenharmony_ci		status = "okay";
44162306a36Sopenharmony_ci
44262306a36Sopenharmony_ci		nvidia,fixed-parent-rate;
44362306a36Sopenharmony_ci	};
44462306a36Sopenharmony_ci
44562306a36Sopenharmony_ci	i2s@70002800 {
44662306a36Sopenharmony_ci		status = "okay";
44762306a36Sopenharmony_ci
44862306a36Sopenharmony_ci		nvidia,fixed-parent-rate;
44962306a36Sopenharmony_ci	};
45062306a36Sopenharmony_ci
45162306a36Sopenharmony_ci	serial@70006040 {
45262306a36Sopenharmony_ci		compatible = "nvidia,tegra20-hsuart";
45362306a36Sopenharmony_ci		reset-names = "serial";
45462306a36Sopenharmony_ci		/delete-property/ reg-shift;
45562306a36Sopenharmony_ci		/* GPS BCM4751 */
45662306a36Sopenharmony_ci	};
45762306a36Sopenharmony_ci
45862306a36Sopenharmony_ci	serial@70006200 {
45962306a36Sopenharmony_ci		compatible = "nvidia,tegra20-hsuart";
46062306a36Sopenharmony_ci		reset-names = "serial";
46162306a36Sopenharmony_ci		/delete-property/ reg-shift;
46262306a36Sopenharmony_ci		status = "okay";
46362306a36Sopenharmony_ci
46462306a36Sopenharmony_ci		/* Azurewave AW-NH615 BCM4329B1 */
46562306a36Sopenharmony_ci		bluetooth {
46662306a36Sopenharmony_ci			compatible = "brcm,bcm4329-bt";
46762306a36Sopenharmony_ci
46862306a36Sopenharmony_ci			interrupt-parent = <&gpio>;
46962306a36Sopenharmony_ci			interrupts = <TEGRA_GPIO(U, 6) IRQ_TYPE_EDGE_RISING>;
47062306a36Sopenharmony_ci			interrupt-names = "host-wakeup";
47162306a36Sopenharmony_ci
47262306a36Sopenharmony_ci			/* PLLP 216MHz / 16 / 4 */
47362306a36Sopenharmony_ci			max-speed = <3375000>;
47462306a36Sopenharmony_ci
47562306a36Sopenharmony_ci			clocks = <&tegra_pmc TEGRA_PMC_CLK_BLINK>;
47662306a36Sopenharmony_ci			clock-names = "txco";
47762306a36Sopenharmony_ci
47862306a36Sopenharmony_ci			vbat-supply  = <&vdd_3v3_sys>;
47962306a36Sopenharmony_ci			vddio-supply = <&vdd_1v8_sys>;
48062306a36Sopenharmony_ci
48162306a36Sopenharmony_ci			device-wakeup-gpios = <&gpio TEGRA_GPIO(U, 1) GPIO_ACTIVE_HIGH>;
48262306a36Sopenharmony_ci			shutdown-gpios = <&gpio TEGRA_GPIO(U, 0) GPIO_ACTIVE_HIGH>;
48362306a36Sopenharmony_ci		};
48462306a36Sopenharmony_ci	};
48562306a36Sopenharmony_ci
48662306a36Sopenharmony_ci	serial@70006300 {
48762306a36Sopenharmony_ci		/delete-property/ dmas;
48862306a36Sopenharmony_ci		/delete-property/ dma-names;
48962306a36Sopenharmony_ci		status = "okay";
49062306a36Sopenharmony_ci	};
49162306a36Sopenharmony_ci
49262306a36Sopenharmony_ci	pwm@7000a000 {
49362306a36Sopenharmony_ci		status = "okay";
49462306a36Sopenharmony_ci	};
49562306a36Sopenharmony_ci
49662306a36Sopenharmony_ci	i2c@7000c000 {
49762306a36Sopenharmony_ci		status = "okay";
49862306a36Sopenharmony_ci		clock-frequency = <400000>;
49962306a36Sopenharmony_ci
50062306a36Sopenharmony_ci		/* Aichi AMI306 digital compass */
50162306a36Sopenharmony_ci		magnetometer@e {
50262306a36Sopenharmony_ci			compatible = "asahi-kasei,ak8974";
50362306a36Sopenharmony_ci			reg = <0xe>;
50462306a36Sopenharmony_ci
50562306a36Sopenharmony_ci			avdd-supply = <&vdd_3v3_sys>;
50662306a36Sopenharmony_ci			dvdd-supply = <&vdd_1v8_sys>;
50762306a36Sopenharmony_ci
50862306a36Sopenharmony_ci			mount-matrix = "-1",  "0",  "0",
50962306a36Sopenharmony_ci					"0",  "1",  "0",
51062306a36Sopenharmony_ci					"0",  "0", "-1";
51162306a36Sopenharmony_ci		};
51262306a36Sopenharmony_ci
51362306a36Sopenharmony_ci		wm8903: audio-codec@1a {
51462306a36Sopenharmony_ci			compatible = "wlf,wm8903";
51562306a36Sopenharmony_ci			reg = <0x1a>;
51662306a36Sopenharmony_ci
51762306a36Sopenharmony_ci			interrupt-parent = <&gpio>;
51862306a36Sopenharmony_ci			interrupts = <TEGRA_GPIO(X, 1) IRQ_TYPE_EDGE_BOTH>;
51962306a36Sopenharmony_ci
52062306a36Sopenharmony_ci			gpio-controller;
52162306a36Sopenharmony_ci			#gpio-cells = <2>;
52262306a36Sopenharmony_ci
52362306a36Sopenharmony_ci			micdet-cfg = <0x83>;
52462306a36Sopenharmony_ci			micdet-delay = <100>;
52562306a36Sopenharmony_ci
52662306a36Sopenharmony_ci			gpio-cfg = <
52762306a36Sopenharmony_ci				0x00000600 /* DMIC_LR, output */
52862306a36Sopenharmony_ci				0x00000680 /* DMIC_DAT, input */
52962306a36Sopenharmony_ci				0x00000000 /* Speaker-enable GPIO, output, low */
53062306a36Sopenharmony_ci				0xffffffff /* don't touch */
53162306a36Sopenharmony_ci				0xffffffff /* don't touch */
53262306a36Sopenharmony_ci			>;
53362306a36Sopenharmony_ci
53462306a36Sopenharmony_ci			AVDD-supply  = <&vdd_1v8_sys>;
53562306a36Sopenharmony_ci			CPVDD-supply = <&vdd_1v8_sys>;
53662306a36Sopenharmony_ci			DBVDD-supply = <&vdd_1v8_sys>;
53762306a36Sopenharmony_ci			DCVDD-supply = <&vdd_1v8_sys>;
53862306a36Sopenharmony_ci		};
53962306a36Sopenharmony_ci
54062306a36Sopenharmony_ci		/* Atmel MXT1386 Touchscreen */
54162306a36Sopenharmony_ci		touchscreen@5b {
54262306a36Sopenharmony_ci			compatible = "atmel,maxtouch";
54362306a36Sopenharmony_ci			reg = <0x5b>;
54462306a36Sopenharmony_ci
54562306a36Sopenharmony_ci			interrupt-parent = <&gpio>;
54662306a36Sopenharmony_ci			interrupts = <TEGRA_GPIO(V, 6) IRQ_TYPE_LEVEL_LOW>;
54762306a36Sopenharmony_ci
54862306a36Sopenharmony_ci			reset-gpios = <&gpio TEGRA_GPIO(Q, 7) GPIO_ACTIVE_LOW>;
54962306a36Sopenharmony_ci
55062306a36Sopenharmony_ci			vdda-supply = <&vdd_3v3_sys>;
55162306a36Sopenharmony_ci			vdd-supply  = <&vdd_3v3_sys>;
55262306a36Sopenharmony_ci
55362306a36Sopenharmony_ci			atmel,wakeup-method = <ATMEL_MXT_WAKEUP_I2C_SCL>;
55462306a36Sopenharmony_ci		};
55562306a36Sopenharmony_ci
55662306a36Sopenharmony_ci		gyroscope@68 {
55762306a36Sopenharmony_ci			compatible = "invensense,mpu3050";
55862306a36Sopenharmony_ci			reg = <0x68>;
55962306a36Sopenharmony_ci
56062306a36Sopenharmony_ci			interrupt-parent = <&gpio>;
56162306a36Sopenharmony_ci			interrupts = <TEGRA_GPIO(Z, 4) IRQ_TYPE_EDGE_RISING>;
56262306a36Sopenharmony_ci
56362306a36Sopenharmony_ci			vdd-supply    = <&vdd_3v3_sys>;
56462306a36Sopenharmony_ci			vlogic-supply = <&vdd_1v8_sys>;
56562306a36Sopenharmony_ci
56662306a36Sopenharmony_ci			mount-matrix =	 "0",  "1",  "0",
56762306a36Sopenharmony_ci					"-1",  "0",  "0",
56862306a36Sopenharmony_ci					 "0",  "0",  "1";
56962306a36Sopenharmony_ci
57062306a36Sopenharmony_ci			i2c-gate {
57162306a36Sopenharmony_ci				#address-cells = <1>;
57262306a36Sopenharmony_ci				#size-cells = <0>;
57362306a36Sopenharmony_ci
57462306a36Sopenharmony_ci				accelerometer@f {
57562306a36Sopenharmony_ci					compatible = "kionix,kxtf9";
57662306a36Sopenharmony_ci					reg = <0xf>;
57762306a36Sopenharmony_ci
57862306a36Sopenharmony_ci					interrupt-parent = <&gpio>;
57962306a36Sopenharmony_ci					interrupts = <TEGRA_GPIO(N, 4) IRQ_TYPE_EDGE_RISING>;
58062306a36Sopenharmony_ci
58162306a36Sopenharmony_ci					vdd-supply = <&vdd_1v8_sys>;
58262306a36Sopenharmony_ci					vddio-supply = <&vdd_1v8_sys>;
58362306a36Sopenharmony_ci
58462306a36Sopenharmony_ci					mount-matrix =	"-1",  "0",  "0",
58562306a36Sopenharmony_ci							 "0", "-1",  "0",
58662306a36Sopenharmony_ci							 "0",  "0", "-1";
58762306a36Sopenharmony_ci				};
58862306a36Sopenharmony_ci			};
58962306a36Sopenharmony_ci		};
59062306a36Sopenharmony_ci	};
59162306a36Sopenharmony_ci
59262306a36Sopenharmony_ci	i2c2: i2c@7000c400 {
59362306a36Sopenharmony_ci		status = "okay";
59462306a36Sopenharmony_ci		clock-frequency = <100000>;
59562306a36Sopenharmony_ci	};
59662306a36Sopenharmony_ci
59762306a36Sopenharmony_ci	i2c@7000c500 {
59862306a36Sopenharmony_ci		status = "okay";
59962306a36Sopenharmony_ci		clock-frequency = <400000>;
60062306a36Sopenharmony_ci	};
60162306a36Sopenharmony_ci
60262306a36Sopenharmony_ci	i2c@7000d000 {
60362306a36Sopenharmony_ci		status = "okay";
60462306a36Sopenharmony_ci		clock-frequency = <400000>;
60562306a36Sopenharmony_ci
60662306a36Sopenharmony_ci		pmic: pmic@34 {
60762306a36Sopenharmony_ci			compatible = "ti,tps6586x";
60862306a36Sopenharmony_ci			reg = <0x34>;
60962306a36Sopenharmony_ci			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
61062306a36Sopenharmony_ci
61162306a36Sopenharmony_ci			ti,system-power-controller;
61262306a36Sopenharmony_ci
61362306a36Sopenharmony_ci			#gpio-cells = <2>;
61462306a36Sopenharmony_ci			gpio-controller;
61562306a36Sopenharmony_ci
61662306a36Sopenharmony_ci			sys-supply = <&vdd_5v0_sys>;
61762306a36Sopenharmony_ci			vin-sm0-supply = <&sys_reg>;
61862306a36Sopenharmony_ci			vin-sm1-supply = <&sys_reg>;
61962306a36Sopenharmony_ci			vin-sm2-supply = <&sys_reg>;
62062306a36Sopenharmony_ci			vinldo01-supply = <&sm2_reg>;
62162306a36Sopenharmony_ci			vinldo23-supply = <&sm2_reg>;
62262306a36Sopenharmony_ci			vinldo4-supply = <&sm2_reg>;
62362306a36Sopenharmony_ci			vinldo678-supply = <&sm2_reg>;
62462306a36Sopenharmony_ci			vinldo9-supply = <&sm2_reg>;
62562306a36Sopenharmony_ci
62662306a36Sopenharmony_ci			regulators {
62762306a36Sopenharmony_ci				sys_reg: sys {
62862306a36Sopenharmony_ci					regulator-name = "vdd_sys";
62962306a36Sopenharmony_ci					regulator-always-on;
63062306a36Sopenharmony_ci				};
63162306a36Sopenharmony_ci
63262306a36Sopenharmony_ci				vdd_core: sm0 {
63362306a36Sopenharmony_ci					regulator-name = "vdd_sm0,vdd_core";
63462306a36Sopenharmony_ci					regulator-min-microvolt = <950000>;
63562306a36Sopenharmony_ci					regulator-max-microvolt = <1300000>;
63662306a36Sopenharmony_ci					regulator-coupled-with = <&rtc_vdd &vdd_cpu>;
63762306a36Sopenharmony_ci					regulator-coupled-max-spread = <170000 550000>;
63862306a36Sopenharmony_ci					regulator-always-on;
63962306a36Sopenharmony_ci					regulator-boot-on;
64062306a36Sopenharmony_ci
64162306a36Sopenharmony_ci					nvidia,tegra-core-regulator;
64262306a36Sopenharmony_ci				};
64362306a36Sopenharmony_ci
64462306a36Sopenharmony_ci				vdd_cpu: sm1 {
64562306a36Sopenharmony_ci					regulator-name = "vdd_sm1,vdd_cpu";
64662306a36Sopenharmony_ci					regulator-min-microvolt = <750000>;
64762306a36Sopenharmony_ci					regulator-max-microvolt = <1125000>;
64862306a36Sopenharmony_ci					regulator-coupled-with = <&vdd_core &rtc_vdd>;
64962306a36Sopenharmony_ci					regulator-coupled-max-spread = <550000 550000>;
65062306a36Sopenharmony_ci					regulator-always-on;
65162306a36Sopenharmony_ci					regulator-boot-on;
65262306a36Sopenharmony_ci
65362306a36Sopenharmony_ci					nvidia,tegra-cpu-regulator;
65462306a36Sopenharmony_ci				};
65562306a36Sopenharmony_ci
65662306a36Sopenharmony_ci				sm2_reg: sm2 {
65762306a36Sopenharmony_ci					regulator-name = "vdd_sm2,vin_ldo*";
65862306a36Sopenharmony_ci					regulator-min-microvolt = <3700000>;
65962306a36Sopenharmony_ci					regulator-max-microvolt = <3700000>;
66062306a36Sopenharmony_ci					regulator-always-on;
66162306a36Sopenharmony_ci				};
66262306a36Sopenharmony_ci
66362306a36Sopenharmony_ci				/* LDO0 is not connected to anything */
66462306a36Sopenharmony_ci
66562306a36Sopenharmony_ci				ldo1 {
66662306a36Sopenharmony_ci					regulator-name = "vdd_ldo1,avdd_pll*";
66762306a36Sopenharmony_ci					regulator-min-microvolt = <1100000>;
66862306a36Sopenharmony_ci					regulator-max-microvolt = <1100000>;
66962306a36Sopenharmony_ci					regulator-always-on;
67062306a36Sopenharmony_ci				};
67162306a36Sopenharmony_ci
67262306a36Sopenharmony_ci				rtc_vdd: ldo2 {
67362306a36Sopenharmony_ci					regulator-name = "vdd_ldo2,vdd_rtc";
67462306a36Sopenharmony_ci					regulator-min-microvolt = <950000>;
67562306a36Sopenharmony_ci					regulator-max-microvolt = <1300000>;
67662306a36Sopenharmony_ci					regulator-coupled-with = <&vdd_core &vdd_cpu>;
67762306a36Sopenharmony_ci					regulator-coupled-max-spread = <170000 550000>;
67862306a36Sopenharmony_ci					regulator-always-on;
67962306a36Sopenharmony_ci					regulator-boot-on;
68062306a36Sopenharmony_ci
68162306a36Sopenharmony_ci					nvidia,tegra-rtc-regulator;
68262306a36Sopenharmony_ci				};
68362306a36Sopenharmony_ci
68462306a36Sopenharmony_ci				ldo3 {
68562306a36Sopenharmony_ci					regulator-name = "vdd_ldo3,avdd_usb*";
68662306a36Sopenharmony_ci					regulator-min-microvolt = <3300000>;
68762306a36Sopenharmony_ci					regulator-max-microvolt = <3300000>;
68862306a36Sopenharmony_ci					regulator-always-on;
68962306a36Sopenharmony_ci				};
69062306a36Sopenharmony_ci
69162306a36Sopenharmony_ci				ldo4 {
69262306a36Sopenharmony_ci					regulator-name = "vdd_ldo4,avdd_osc,vddio_sys";
69362306a36Sopenharmony_ci					regulator-min-microvolt = <1800000>;
69462306a36Sopenharmony_ci					regulator-max-microvolt = <1800000>;
69562306a36Sopenharmony_ci					regulator-always-on;
69662306a36Sopenharmony_ci				};
69762306a36Sopenharmony_ci
69862306a36Sopenharmony_ci				vcore_emmc: ldo5 {
69962306a36Sopenharmony_ci					regulator-name = "vdd_ldo5,vcore_mmc";
70062306a36Sopenharmony_ci					regulator-min-microvolt = <2850000>;
70162306a36Sopenharmony_ci					regulator-max-microvolt = <2850000>;
70262306a36Sopenharmony_ci					regulator-always-on;
70362306a36Sopenharmony_ci				};
70462306a36Sopenharmony_ci
70562306a36Sopenharmony_ci				ldo6 {
70662306a36Sopenharmony_ci					regulator-name = "vdd_ldo6,avdd_vdac";
70762306a36Sopenharmony_ci					regulator-min-microvolt = <1800000>;
70862306a36Sopenharmony_ci					regulator-max-microvolt = <1800000>;
70962306a36Sopenharmony_ci				};
71062306a36Sopenharmony_ci
71162306a36Sopenharmony_ci				hdmi_vdd_reg: ldo7 {
71262306a36Sopenharmony_ci					regulator-name = "vdd_ldo7,avdd_hdmi,vdd_fuse";
71362306a36Sopenharmony_ci					regulator-min-microvolt = <3300000>;
71462306a36Sopenharmony_ci					regulator-max-microvolt = <3300000>;
71562306a36Sopenharmony_ci				};
71662306a36Sopenharmony_ci
71762306a36Sopenharmony_ci				hdmi_pll_reg: ldo8 {
71862306a36Sopenharmony_ci					regulator-name = "vdd_ldo8,avdd_hdmi_pll";
71962306a36Sopenharmony_ci					regulator-min-microvolt = <1800000>;
72062306a36Sopenharmony_ci					regulator-max-microvolt = <1800000>;
72162306a36Sopenharmony_ci				};
72262306a36Sopenharmony_ci
72362306a36Sopenharmony_ci				ldo9 {
72462306a36Sopenharmony_ci					regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx";
72562306a36Sopenharmony_ci					regulator-min-microvolt = <2850000>;
72662306a36Sopenharmony_ci					regulator-max-microvolt = <2850000>;
72762306a36Sopenharmony_ci					regulator-always-on;
72862306a36Sopenharmony_ci				};
72962306a36Sopenharmony_ci
73062306a36Sopenharmony_ci				ldo_rtc {
73162306a36Sopenharmony_ci					regulator-name = "vdd_rtc_out,vdd_cell";
73262306a36Sopenharmony_ci					regulator-min-microvolt = <3300000>;
73362306a36Sopenharmony_ci					regulator-max-microvolt = <3300000>;
73462306a36Sopenharmony_ci					regulator-always-on;
73562306a36Sopenharmony_ci				};
73662306a36Sopenharmony_ci			};
73762306a36Sopenharmony_ci		};
73862306a36Sopenharmony_ci
73962306a36Sopenharmony_ci		nct1008: temperature-sensor@4c {
74062306a36Sopenharmony_ci			compatible = "onnn,nct1008";
74162306a36Sopenharmony_ci			reg = <0x4c>;
74262306a36Sopenharmony_ci			vcc-supply = <&vdd_3v3_sys>;
74362306a36Sopenharmony_ci
74462306a36Sopenharmony_ci			interrupt-parent = <&gpio>;
74562306a36Sopenharmony_ci			interrupts = <TEGRA_GPIO(N, 6) IRQ_TYPE_EDGE_FALLING>;
74662306a36Sopenharmony_ci
74762306a36Sopenharmony_ci			#thermal-sensor-cells = <1>;
74862306a36Sopenharmony_ci		};
74962306a36Sopenharmony_ci	};
75062306a36Sopenharmony_ci
75162306a36Sopenharmony_ci	pmc@7000e400 {
75262306a36Sopenharmony_ci		nvidia,invert-interrupt;
75362306a36Sopenharmony_ci		nvidia,suspend-mode = <1>;
75462306a36Sopenharmony_ci		nvidia,cpu-pwr-good-time = <2000>;
75562306a36Sopenharmony_ci		nvidia,cpu-pwr-off-time = <100>;
75662306a36Sopenharmony_ci		nvidia,core-pwr-good-time = <3845 3845>;
75762306a36Sopenharmony_ci		nvidia,core-pwr-off-time = <458>;
75862306a36Sopenharmony_ci		nvidia,sys-clock-req-active-high;
75962306a36Sopenharmony_ci		core-supply = <&vdd_core>;
76062306a36Sopenharmony_ci	};
76162306a36Sopenharmony_ci
76262306a36Sopenharmony_ci	memory-controller@7000f400 {
76362306a36Sopenharmony_ci		nvidia,use-ram-code;
76462306a36Sopenharmony_ci
76562306a36Sopenharmony_ci		emc-tables@3 {
76662306a36Sopenharmony_ci			reg = <0x3>;
76762306a36Sopenharmony_ci
76862306a36Sopenharmony_ci			#address-cells = <1>;
76962306a36Sopenharmony_ci			#size-cells = <0>;
77062306a36Sopenharmony_ci
77162306a36Sopenharmony_ci			emc-table@25000 {
77262306a36Sopenharmony_ci				reg = <25000>;
77362306a36Sopenharmony_ci				compatible = "nvidia,tegra20-emc-table";
77462306a36Sopenharmony_ci				clock-frequency = <25000>;
77562306a36Sopenharmony_ci				nvidia,emc-registers = <0x00000002 0x00000006
77662306a36Sopenharmony_ci					0x00000003 0x00000003 0x00000006 0x00000004
77762306a36Sopenharmony_ci					0x00000002 0x00000009 0x00000003 0x00000003
77862306a36Sopenharmony_ci					0x00000002 0x00000002 0x00000002 0x00000004
77962306a36Sopenharmony_ci					0x00000003 0x00000008 0x0000000b 0x0000004d
78062306a36Sopenharmony_ci					0x00000000 0x00000003 0x00000003 0x00000003
78162306a36Sopenharmony_ci					0x00000008 0x00000001 0x0000000a 0x00000004
78262306a36Sopenharmony_ci					0x00000003 0x00000008 0x00000004 0x00000006
78362306a36Sopenharmony_ci					0x00000002 0x00000068 0x00000000 0x00000003
78462306a36Sopenharmony_ci					0x00000000 0x00000000 0x00000282 0xa0ae04ae
78562306a36Sopenharmony_ci					0x00070000 0x00000000 0x00000000 0x00000003
78662306a36Sopenharmony_ci					0x00000000 0x00000000 0x00000000 0x00000000>;
78762306a36Sopenharmony_ci			};
78862306a36Sopenharmony_ci
78962306a36Sopenharmony_ci			emc-table@50000 {
79062306a36Sopenharmony_ci				reg = <50000>;
79162306a36Sopenharmony_ci				compatible = "nvidia,tegra20-emc-table";
79262306a36Sopenharmony_ci				clock-frequency = <50000>;
79362306a36Sopenharmony_ci				nvidia,emc-registers = <0x00000003 0x00000007
79462306a36Sopenharmony_ci					0x00000003 0x00000003 0x00000006 0x00000004
79562306a36Sopenharmony_ci					0x00000002 0x00000009 0x00000003 0x00000003
79662306a36Sopenharmony_ci					0x00000002 0x00000002 0x00000002 0x00000005
79762306a36Sopenharmony_ci					0x00000003 0x00000008 0x0000000b 0x0000009f
79862306a36Sopenharmony_ci					0x00000000 0x00000003 0x00000003 0x00000003
79962306a36Sopenharmony_ci					0x00000008 0x00000001 0x0000000a 0x00000007
80062306a36Sopenharmony_ci					0x00000003 0x00000008 0x00000004 0x00000006
80162306a36Sopenharmony_ci					0x00000002 0x000000d0 0x00000000 0x00000000
80262306a36Sopenharmony_ci					0x00000000 0x00000000 0x00000282 0xa0ae04ae
80362306a36Sopenharmony_ci					0x00070000 0x00000000 0x00000000 0x00000005
80462306a36Sopenharmony_ci					0x00000000 0x00000000 0x00000000 0x00000000>;
80562306a36Sopenharmony_ci			};
80662306a36Sopenharmony_ci
80762306a36Sopenharmony_ci			emc-table@75000 {
80862306a36Sopenharmony_ci				reg = <75000>;
80962306a36Sopenharmony_ci				compatible = "nvidia,tegra20-emc-table";
81062306a36Sopenharmony_ci				clock-frequency = <75000>;
81162306a36Sopenharmony_ci				nvidia,emc-registers = <0x00000005 0x0000000a
81262306a36Sopenharmony_ci					0x00000004 0x00000003 0x00000006 0x00000004
81362306a36Sopenharmony_ci					0x00000002 0x00000009 0x00000003 0x00000003
81462306a36Sopenharmony_ci					0x00000002 0x00000002 0x00000002 0x00000005
81562306a36Sopenharmony_ci					0x00000003 0x00000008 0x0000000b 0x000000ff
81662306a36Sopenharmony_ci					0x00000000 0x00000003 0x00000003 0x00000003
81762306a36Sopenharmony_ci					0x00000008 0x00000001 0x0000000a 0x0000000b
81862306a36Sopenharmony_ci					0x00000003 0x00000008 0x00000004 0x00000006
81962306a36Sopenharmony_ci					0x00000002 0x00000138 0x00000000 0x00000000
82062306a36Sopenharmony_ci					0x00000000 0x00000000 0x00000282 0xa0ae04ae
82162306a36Sopenharmony_ci					0x00070000 0x00000000 0x00000000 0x00000007
82262306a36Sopenharmony_ci					0x00000000 0x00000000 0x00000000 0x00000000>;
82362306a36Sopenharmony_ci			};
82462306a36Sopenharmony_ci
82562306a36Sopenharmony_ci			emc-table@150000 {
82662306a36Sopenharmony_ci				reg = <150000>;
82762306a36Sopenharmony_ci				compatible = "nvidia,tegra20-emc-table";
82862306a36Sopenharmony_ci				clock-frequency = <150000>;
82962306a36Sopenharmony_ci				nvidia,emc-registers = <0x00000009 0x00000014
83062306a36Sopenharmony_ci					0x00000007 0x00000003 0x00000006 0x00000004
83162306a36Sopenharmony_ci					0x00000002 0x00000009 0x00000003 0x00000003
83262306a36Sopenharmony_ci					0x00000002 0x00000002 0x00000002 0x00000005
83362306a36Sopenharmony_ci					0x00000003 0x00000008 0x0000000b 0x0000021f
83462306a36Sopenharmony_ci					0x00000000 0x00000003 0x00000003 0x00000003
83562306a36Sopenharmony_ci					0x00000008 0x00000001 0x0000000a 0x00000015
83662306a36Sopenharmony_ci					0x00000003 0x00000008 0x00000004 0x00000006
83762306a36Sopenharmony_ci					0x00000002 0x00000270 0x00000000 0x00000001
83862306a36Sopenharmony_ci					0x00000000 0x00000000 0x00000282 0xa07c04ae
83962306a36Sopenharmony_ci					0x007dc010 0x00000000 0x00000000 0x0000000e
84062306a36Sopenharmony_ci					0x00000000 0x00000000 0x00000000 0x00000000>;
84162306a36Sopenharmony_ci			};
84262306a36Sopenharmony_ci
84362306a36Sopenharmony_ci			emc-table@300000 {
84462306a36Sopenharmony_ci				reg = <300000>;
84562306a36Sopenharmony_ci				compatible = "nvidia,tegra20-emc-table";
84662306a36Sopenharmony_ci				clock-frequency = <300000>;
84762306a36Sopenharmony_ci				nvidia,emc-registers = <0x00000012 0x00000027
84862306a36Sopenharmony_ci					0x0000000d 0x00000006 0x00000007 0x00000005
84962306a36Sopenharmony_ci					0x00000003 0x00000009 0x00000006 0x00000006
85062306a36Sopenharmony_ci					0x00000003 0x00000003 0x00000002 0x00000006
85162306a36Sopenharmony_ci					0x00000003 0x00000009 0x0000000c 0x0000045f
85262306a36Sopenharmony_ci					0x00000000 0x00000004 0x00000004 0x00000006
85362306a36Sopenharmony_ci					0x00000008 0x00000001 0x0000000e 0x0000002a
85462306a36Sopenharmony_ci					0x00000003 0x0000000f 0x00000007 0x00000005
85562306a36Sopenharmony_ci					0x00000002 0x000004e0 0x00000005 0x00000002
85662306a36Sopenharmony_ci					0x00000000 0x00000000 0x00000282 0xe059048b
85762306a36Sopenharmony_ci					0x007e0010 0x00000000 0x00000000 0x0000001b
85862306a36Sopenharmony_ci					0x00000000 0x00000000 0x00000000 0x00000000>;
85962306a36Sopenharmony_ci			};
86062306a36Sopenharmony_ci
86162306a36Sopenharmony_ci			lpddr2 {
86262306a36Sopenharmony_ci				compatible = "elpida,B8132B2PB-6D-F", "jedec,lpddr2-s4";
86362306a36Sopenharmony_ci				revision-id = <1 0>;
86462306a36Sopenharmony_ci				density = <2048>;
86562306a36Sopenharmony_ci				io-width = <16>;
86662306a36Sopenharmony_ci			};
86762306a36Sopenharmony_ci		};
86862306a36Sopenharmony_ci	};
86962306a36Sopenharmony_ci
87062306a36Sopenharmony_ci	/* Peripheral USB via ASUS connector */
87162306a36Sopenharmony_ci	usb@c5000000 {
87262306a36Sopenharmony_ci		compatible = "nvidia,tegra20-udc";
87362306a36Sopenharmony_ci		status = "okay";
87462306a36Sopenharmony_ci		dr_mode = "peripheral";
87562306a36Sopenharmony_ci	};
87662306a36Sopenharmony_ci
87762306a36Sopenharmony_ci	usb-phy@c5000000 {
87862306a36Sopenharmony_ci		status = "okay";
87962306a36Sopenharmony_ci		dr_mode = "peripheral";
88062306a36Sopenharmony_ci		nvidia,xcvr-setup-use-fuses;
88162306a36Sopenharmony_ci		nvidia,xcvr-lsfslew = <2>;
88262306a36Sopenharmony_ci		nvidia,xcvr-lsrslew = <2>;
88362306a36Sopenharmony_ci		vbus-supply = <&vdd_5v0_sys>;
88462306a36Sopenharmony_ci	};
88562306a36Sopenharmony_ci
88662306a36Sopenharmony_ci	/* Dock's USB port */
88762306a36Sopenharmony_ci	usb@c5008000 {
88862306a36Sopenharmony_ci		status = "okay";
88962306a36Sopenharmony_ci	};
89062306a36Sopenharmony_ci
89162306a36Sopenharmony_ci	usb-phy@c5008000 {
89262306a36Sopenharmony_ci		status = "okay";
89362306a36Sopenharmony_ci		nvidia,xcvr-setup-use-fuses;
89462306a36Sopenharmony_ci		vbus-supply = <&vdd_5v0_sys>;
89562306a36Sopenharmony_ci	};
89662306a36Sopenharmony_ci
89762306a36Sopenharmony_ci	sdmmc1: mmc@c8000000 {
89862306a36Sopenharmony_ci		status = "okay";
89962306a36Sopenharmony_ci
90062306a36Sopenharmony_ci		#address-cells = <1>;
90162306a36Sopenharmony_ci		#size-cells = <0>;
90262306a36Sopenharmony_ci
90362306a36Sopenharmony_ci		assigned-clocks = <&tegra_car TEGRA20_CLK_SDMMC1>;
90462306a36Sopenharmony_ci		assigned-clock-parents = <&tegra_car TEGRA20_CLK_PLL_C>;
90562306a36Sopenharmony_ci		assigned-clock-rates = <40000000>;
90662306a36Sopenharmony_ci
90762306a36Sopenharmony_ci		max-frequency = <40000000>;
90862306a36Sopenharmony_ci		keep-power-in-suspend;
90962306a36Sopenharmony_ci		bus-width = <4>;
91062306a36Sopenharmony_ci		non-removable;
91162306a36Sopenharmony_ci
91262306a36Sopenharmony_ci		mmc-pwrseq = <&brcm_wifi_pwrseq>;
91362306a36Sopenharmony_ci		vmmc-supply = <&vdd_3v3_sys>;
91462306a36Sopenharmony_ci		vqmmc-supply = <&vdd_3v3_sys>;
91562306a36Sopenharmony_ci
91662306a36Sopenharmony_ci		/* Azurewave AW-NH615 BCM4329B1 */
91762306a36Sopenharmony_ci		wifi@1 {
91862306a36Sopenharmony_ci			compatible = "brcm,bcm4329-fmac";
91962306a36Sopenharmony_ci			reg = <1>;
92062306a36Sopenharmony_ci
92162306a36Sopenharmony_ci			interrupt-parent = <&gpio>;
92262306a36Sopenharmony_ci			interrupts = <TEGRA_GPIO(S, 0) IRQ_TYPE_LEVEL_HIGH>;
92362306a36Sopenharmony_ci			interrupt-names = "host-wake";
92462306a36Sopenharmony_ci		};
92562306a36Sopenharmony_ci	};
92662306a36Sopenharmony_ci
92762306a36Sopenharmony_ci	sdmmc3: mmc@c8000400 {
92862306a36Sopenharmony_ci		status = "okay";
92962306a36Sopenharmony_ci		bus-width = <4>;
93062306a36Sopenharmony_ci		cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
93162306a36Sopenharmony_ci		wp-gpios = <&gpio TEGRA_GPIO(H, 1) GPIO_ACTIVE_HIGH>;
93262306a36Sopenharmony_ci		power-gpios = <&gpio TEGRA_GPIO(I, 6) GPIO_ACTIVE_HIGH>;
93362306a36Sopenharmony_ci		vmmc-supply = <&vdd_3v3_sys>;
93462306a36Sopenharmony_ci		vqmmc-supply = <&vdd_3v3_sys>;
93562306a36Sopenharmony_ci	};
93662306a36Sopenharmony_ci
93762306a36Sopenharmony_ci	sdmmc4: mmc@c8000600 {
93862306a36Sopenharmony_ci		status = "okay";
93962306a36Sopenharmony_ci		bus-width = <8>;
94062306a36Sopenharmony_ci		vmmc-supply = <&vcore_emmc>;
94162306a36Sopenharmony_ci		vqmmc-supply = <&vdd_3v3_sys>;
94262306a36Sopenharmony_ci		non-removable;
94362306a36Sopenharmony_ci	};
94462306a36Sopenharmony_ci
94562306a36Sopenharmony_ci	mains: ac-adapter-detect {
94662306a36Sopenharmony_ci		compatible = "gpio-charger";
94762306a36Sopenharmony_ci		charger-type = "mains";
94862306a36Sopenharmony_ci		gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_LOW>;
94962306a36Sopenharmony_ci	};
95062306a36Sopenharmony_ci
95162306a36Sopenharmony_ci	backlight: backlight {
95262306a36Sopenharmony_ci		compatible = "pwm-backlight";
95362306a36Sopenharmony_ci
95462306a36Sopenharmony_ci		enable-gpios = <&gpio TEGRA_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
95562306a36Sopenharmony_ci		power-supply = <&vdd_3v3_sys>;
95662306a36Sopenharmony_ci		pwms = <&pwm 2 4000000>;
95762306a36Sopenharmony_ci
95862306a36Sopenharmony_ci		brightness-levels = <7 255>;
95962306a36Sopenharmony_ci		num-interpolated-steps = <248>;
96062306a36Sopenharmony_ci		default-brightness-level = <20>;
96162306a36Sopenharmony_ci	};
96262306a36Sopenharmony_ci
96362306a36Sopenharmony_ci	/* PMIC has a built-in 32KHz oscillator which is used by PMC */
96462306a36Sopenharmony_ci	clk32k_in: clock-32k-in {
96562306a36Sopenharmony_ci		compatible = "fixed-clock";
96662306a36Sopenharmony_ci		clock-frequency = <32768>;
96762306a36Sopenharmony_ci		#clock-cells = <0>;
96862306a36Sopenharmony_ci	};
96962306a36Sopenharmony_ci
97062306a36Sopenharmony_ci	cpus {
97162306a36Sopenharmony_ci		cpu0: cpu@0 {
97262306a36Sopenharmony_ci			cpu-supply = <&vdd_cpu>;
97362306a36Sopenharmony_ci			operating-points-v2 = <&cpu0_opp_table>;
97462306a36Sopenharmony_ci			#cooling-cells = <2>;
97562306a36Sopenharmony_ci		};
97662306a36Sopenharmony_ci
97762306a36Sopenharmony_ci		cpu1: cpu@1 {
97862306a36Sopenharmony_ci			cpu-supply = <&vdd_cpu>;
97962306a36Sopenharmony_ci			operating-points-v2 = <&cpu0_opp_table>;
98062306a36Sopenharmony_ci			#cooling-cells = <2>;
98162306a36Sopenharmony_ci		};
98262306a36Sopenharmony_ci	};
98362306a36Sopenharmony_ci
98462306a36Sopenharmony_ci	display-panel {
98562306a36Sopenharmony_ci		compatible = "auo,b101ew05", "panel-lvds";
98662306a36Sopenharmony_ci
98762306a36Sopenharmony_ci		/* AUO B101EW05 using custom timings */
98862306a36Sopenharmony_ci
98962306a36Sopenharmony_ci		backlight = <&backlight>;
99062306a36Sopenharmony_ci		ddc-i2c-bus = <&lvds_ddc>;
99162306a36Sopenharmony_ci		power-supply = <&vdd_pnl_reg>;
99262306a36Sopenharmony_ci
99362306a36Sopenharmony_ci		width-mm = <218>;
99462306a36Sopenharmony_ci		height-mm = <135>;
99562306a36Sopenharmony_ci
99662306a36Sopenharmony_ci		data-mapping = "jeida-18";
99762306a36Sopenharmony_ci
99862306a36Sopenharmony_ci		panel-timing {
99962306a36Sopenharmony_ci			clock-frequency = <71200000>;
100062306a36Sopenharmony_ci			hactive = <1280>;
100162306a36Sopenharmony_ci			vactive = <800>;
100262306a36Sopenharmony_ci			hfront-porch = <8>;
100362306a36Sopenharmony_ci			hback-porch = <18>;
100462306a36Sopenharmony_ci			hsync-len = <184>;
100562306a36Sopenharmony_ci			vsync-len = <3>;
100662306a36Sopenharmony_ci			vfront-porch = <4>;
100762306a36Sopenharmony_ci			vback-porch = <8>;
100862306a36Sopenharmony_ci		};
100962306a36Sopenharmony_ci
101062306a36Sopenharmony_ci		port {
101162306a36Sopenharmony_ci			panel_input: endpoint {
101262306a36Sopenharmony_ci				remote-endpoint = <&lvds_encoder_output>;
101362306a36Sopenharmony_ci			};
101462306a36Sopenharmony_ci		};
101562306a36Sopenharmony_ci	};
101662306a36Sopenharmony_ci
101762306a36Sopenharmony_ci	gpio-keys {
101862306a36Sopenharmony_ci		compatible = "gpio-keys";
101962306a36Sopenharmony_ci
102062306a36Sopenharmony_ci		key-power {
102162306a36Sopenharmony_ci			label = "Power";
102262306a36Sopenharmony_ci			gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
102362306a36Sopenharmony_ci			linux,code = <KEY_POWER>;
102462306a36Sopenharmony_ci			debounce-interval = <10>;
102562306a36Sopenharmony_ci			wakeup-event-action = <EV_ACT_ASSERTED>;
102662306a36Sopenharmony_ci			wakeup-source;
102762306a36Sopenharmony_ci		};
102862306a36Sopenharmony_ci
102962306a36Sopenharmony_ci		key-volume-down {
103062306a36Sopenharmony_ci			label = "Volume Down";
103162306a36Sopenharmony_ci			gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>;
103262306a36Sopenharmony_ci			linux,code = <KEY_VOLUMEDOWN>;
103362306a36Sopenharmony_ci			debounce-interval = <10>;
103462306a36Sopenharmony_ci			wakeup-event-action = <EV_ACT_ASSERTED>;
103562306a36Sopenharmony_ci			wakeup-source;
103662306a36Sopenharmony_ci		};
103762306a36Sopenharmony_ci
103862306a36Sopenharmony_ci		key-volume-up {
103962306a36Sopenharmony_ci			label = "Volume Up";
104062306a36Sopenharmony_ci			gpios = <&gpio TEGRA_GPIO(Q, 5) GPIO_ACTIVE_LOW>;
104162306a36Sopenharmony_ci			linux,code = <KEY_VOLUMEUP>;
104262306a36Sopenharmony_ci			debounce-interval = <10>;
104362306a36Sopenharmony_ci			wakeup-event-action = <EV_ACT_ASSERTED>;
104462306a36Sopenharmony_ci			wakeup-source;
104562306a36Sopenharmony_ci		};
104662306a36Sopenharmony_ci
104762306a36Sopenharmony_ci		switch-dock-hall-sensor {
104862306a36Sopenharmony_ci			label = "Lid";
104962306a36Sopenharmony_ci			gpios = <&gpio TEGRA_GPIO(S, 4) GPIO_ACTIVE_LOW>;
105062306a36Sopenharmony_ci			linux,input-type = <EV_SW>;
105162306a36Sopenharmony_ci			linux,code = <SW_LID>;
105262306a36Sopenharmony_ci			debounce-interval = <500>;
105362306a36Sopenharmony_ci			wakeup-event-action = <EV_ACT_ASSERTED>;
105462306a36Sopenharmony_ci			wakeup-source;
105562306a36Sopenharmony_ci		};
105662306a36Sopenharmony_ci	};
105762306a36Sopenharmony_ci
105862306a36Sopenharmony_ci	i2cmux {
105962306a36Sopenharmony_ci		compatible = "i2c-mux-pinctrl";
106062306a36Sopenharmony_ci		#address-cells = <1>;
106162306a36Sopenharmony_ci		#size-cells = <0>;
106262306a36Sopenharmony_ci
106362306a36Sopenharmony_ci		i2c-parent = <&i2c2>;
106462306a36Sopenharmony_ci
106562306a36Sopenharmony_ci		pinctrl-names = "ddc", "pta", "idle";
106662306a36Sopenharmony_ci		pinctrl-0 = <&state_i2cmux_ddc>;
106762306a36Sopenharmony_ci		pinctrl-1 = <&state_i2cmux_pta>;
106862306a36Sopenharmony_ci		pinctrl-2 = <&state_i2cmux_idle>;
106962306a36Sopenharmony_ci
107062306a36Sopenharmony_ci		hdmi_ddc: i2c@0 {
107162306a36Sopenharmony_ci			reg = <0>;
107262306a36Sopenharmony_ci			#address-cells = <1>;
107362306a36Sopenharmony_ci			#size-cells = <0>;
107462306a36Sopenharmony_ci		};
107562306a36Sopenharmony_ci
107662306a36Sopenharmony_ci		lvds_ddc: i2c@1 {
107762306a36Sopenharmony_ci			reg = <1>;
107862306a36Sopenharmony_ci			#address-cells = <1>;
107962306a36Sopenharmony_ci			#size-cells = <0>;
108062306a36Sopenharmony_ci
108162306a36Sopenharmony_ci			smart-battery@b {
108262306a36Sopenharmony_ci				compatible = "ti,bq20z75", "sbs,sbs-battery";
108362306a36Sopenharmony_ci				reg = <0xb>;
108462306a36Sopenharmony_ci				sbs,i2c-retry-count = <2>;
108562306a36Sopenharmony_ci				sbs,poll-retry-count = <10>;
108662306a36Sopenharmony_ci				power-supplies = <&mains>;
108762306a36Sopenharmony_ci			};
108862306a36Sopenharmony_ci		};
108962306a36Sopenharmony_ci	};
109062306a36Sopenharmony_ci
109162306a36Sopenharmony_ci	lvds-encoder {
109262306a36Sopenharmony_ci		compatible = "ti,sn75lvds83", "lvds-encoder";
109362306a36Sopenharmony_ci
109462306a36Sopenharmony_ci		powerdown-gpios = <&gpio TEGRA_GPIO(B, 2) GPIO_ACTIVE_LOW>;
109562306a36Sopenharmony_ci		power-supply = <&vdd_3v3_sys>;
109662306a36Sopenharmony_ci
109762306a36Sopenharmony_ci		ports {
109862306a36Sopenharmony_ci			#address-cells = <1>;
109962306a36Sopenharmony_ci			#size-cells = <0>;
110062306a36Sopenharmony_ci
110162306a36Sopenharmony_ci			port@0 {
110262306a36Sopenharmony_ci				reg = <0>;
110362306a36Sopenharmony_ci
110462306a36Sopenharmony_ci				lvds_encoder_input: endpoint {
110562306a36Sopenharmony_ci					remote-endpoint = <&lcd_output>;
110662306a36Sopenharmony_ci				};
110762306a36Sopenharmony_ci			};
110862306a36Sopenharmony_ci
110962306a36Sopenharmony_ci			port@1 {
111062306a36Sopenharmony_ci				reg = <1>;
111162306a36Sopenharmony_ci
111262306a36Sopenharmony_ci				lvds_encoder_output: endpoint {
111362306a36Sopenharmony_ci					remote-endpoint = <&panel_input>;
111462306a36Sopenharmony_ci				};
111562306a36Sopenharmony_ci			};
111662306a36Sopenharmony_ci		};
111762306a36Sopenharmony_ci	};
111862306a36Sopenharmony_ci
111962306a36Sopenharmony_ci	opp-table-emc {
112062306a36Sopenharmony_ci		/delete-node/ opp-666000000;
112162306a36Sopenharmony_ci		/delete-node/ opp-760000000;
112262306a36Sopenharmony_ci	};
112362306a36Sopenharmony_ci
112462306a36Sopenharmony_ci	vdd_5v0_sys: regulator-5v0 {
112562306a36Sopenharmony_ci		compatible = "regulator-fixed";
112662306a36Sopenharmony_ci		regulator-name = "vdd_5v0";
112762306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
112862306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
112962306a36Sopenharmony_ci		regulator-always-on;
113062306a36Sopenharmony_ci	};
113162306a36Sopenharmony_ci
113262306a36Sopenharmony_ci	vdd_3v3_sys: regulator-3v3 {
113362306a36Sopenharmony_ci		compatible = "regulator-fixed";
113462306a36Sopenharmony_ci		regulator-name = "vdd_3v3_vs";
113562306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
113662306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
113762306a36Sopenharmony_ci		regulator-always-on;
113862306a36Sopenharmony_ci		vin-supply = <&vdd_5v0_sys>;
113962306a36Sopenharmony_ci	};
114062306a36Sopenharmony_ci
114162306a36Sopenharmony_ci	regulator-pcie {
114262306a36Sopenharmony_ci		compatible = "regulator-fixed";
114362306a36Sopenharmony_ci		regulator-name = "pcie_vdd";
114462306a36Sopenharmony_ci		regulator-min-microvolt = <1500000>;
114562306a36Sopenharmony_ci		regulator-max-microvolt = <1500000>;
114662306a36Sopenharmony_ci		gpio = <&pmic 0 GPIO_ACTIVE_HIGH>;
114762306a36Sopenharmony_ci		regulator-always-on;
114862306a36Sopenharmony_ci	};
114962306a36Sopenharmony_ci
115062306a36Sopenharmony_ci	vdd_pnl_reg: regulator-panel {
115162306a36Sopenharmony_ci		compatible = "regulator-fixed";
115262306a36Sopenharmony_ci		regulator-name = "vdd_pnl";
115362306a36Sopenharmony_ci		regulator-min-microvolt = <2800000>;
115462306a36Sopenharmony_ci		regulator-max-microvolt = <2800000>;
115562306a36Sopenharmony_ci		gpio = <&gpio TEGRA_GPIO(C, 6) GPIO_ACTIVE_HIGH>;
115662306a36Sopenharmony_ci		enable-active-high;
115762306a36Sopenharmony_ci	};
115862306a36Sopenharmony_ci
115962306a36Sopenharmony_ci	vdd_1v8_sys: regulator-1v8 {
116062306a36Sopenharmony_ci		compatible = "regulator-fixed";
116162306a36Sopenharmony_ci		regulator-name = "vdd_1v8_vs";
116262306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
116362306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
116462306a36Sopenharmony_ci		regulator-always-on;
116562306a36Sopenharmony_ci		vin-supply = <&vdd_5v0_sys>;
116662306a36Sopenharmony_ci	};
116762306a36Sopenharmony_ci
116862306a36Sopenharmony_ci	vdd_hdmi_en: regulator-hdmi {
116962306a36Sopenharmony_ci		compatible = "regulator-fixed";
117062306a36Sopenharmony_ci		regulator-name = "vdd_5v0_hdmi_en";
117162306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
117262306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
117362306a36Sopenharmony_ci		regulator-always-on;
117462306a36Sopenharmony_ci		vin-supply = <&vdd_5v0_sys>;
117562306a36Sopenharmony_ci		gpio = <&gpio TEGRA_GPIO(V, 5) GPIO_ACTIVE_HIGH>;
117662306a36Sopenharmony_ci		enable-active-high;
117762306a36Sopenharmony_ci	};
117862306a36Sopenharmony_ci
117962306a36Sopenharmony_ci	sound {
118062306a36Sopenharmony_ci		compatible = "asus,tegra-audio-wm8903-tf101",
118162306a36Sopenharmony_ci			     "nvidia,tegra-audio-wm8903";
118262306a36Sopenharmony_ci		nvidia,model = "Asus EeePad Transformer WM8903";
118362306a36Sopenharmony_ci
118462306a36Sopenharmony_ci		nvidia,audio-routing =
118562306a36Sopenharmony_ci			"Headphone Jack", "HPOUTR",
118662306a36Sopenharmony_ci			"Headphone Jack", "HPOUTL",
118762306a36Sopenharmony_ci			"Int Spk", "ROP",
118862306a36Sopenharmony_ci			"Int Spk", "RON",
118962306a36Sopenharmony_ci			"Int Spk", "LOP",
119062306a36Sopenharmony_ci			"Int Spk", "LON",
119162306a36Sopenharmony_ci			"IN2L", "Mic Jack",
119262306a36Sopenharmony_ci			"DMICDAT", "Int Mic";
119362306a36Sopenharmony_ci
119462306a36Sopenharmony_ci		nvidia,i2s-controller = <&tegra_i2s1>;
119562306a36Sopenharmony_ci		nvidia,audio-codec = <&wm8903>;
119662306a36Sopenharmony_ci
119762306a36Sopenharmony_ci		nvidia,spkr-en-gpios = <&wm8903 2 GPIO_ACTIVE_HIGH>;
119862306a36Sopenharmony_ci		nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>;
119962306a36Sopenharmony_ci		nvidia,mic-det-gpios = <&gpio TEGRA_GPIO(X, 1) GPIO_ACTIVE_LOW>;
120062306a36Sopenharmony_ci		nvidia,coupled-mic-hp-det;
120162306a36Sopenharmony_ci
120262306a36Sopenharmony_ci		clocks = <&tegra_car TEGRA20_CLK_PLL_A>,
120362306a36Sopenharmony_ci			 <&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
120462306a36Sopenharmony_ci			 <&tegra_car TEGRA20_CLK_CDEV1>;
120562306a36Sopenharmony_ci		clock-names = "pll_a", "pll_a_out0", "mclk";
120662306a36Sopenharmony_ci	};
120762306a36Sopenharmony_ci
120862306a36Sopenharmony_ci	thermal-zones {
120962306a36Sopenharmony_ci		/*
121062306a36Sopenharmony_ci		 * NCT1008 has two sensors:
121162306a36Sopenharmony_ci		 *
121262306a36Sopenharmony_ci		 *	0: internal that monitors ambient/skin temperature
121362306a36Sopenharmony_ci		 *	1: external that is connected to the CPU's diode
121462306a36Sopenharmony_ci		 *
121562306a36Sopenharmony_ci		 * Ideally we should use userspace thermal governor,
121662306a36Sopenharmony_ci		 * but it's a much more complex solution.  The "skin"
121762306a36Sopenharmony_ci		 * zone is a simpler solution which prevents TF101 from
121862306a36Sopenharmony_ci		 * getting too hot from a user's tactile perspective.
121962306a36Sopenharmony_ci		 * The CPU zone is intended to protect silicon from damage.
122062306a36Sopenharmony_ci		 */
122162306a36Sopenharmony_ci
122262306a36Sopenharmony_ci		skin-thermal {
122362306a36Sopenharmony_ci			polling-delay-passive = <1000>; /* milliseconds */
122462306a36Sopenharmony_ci			polling-delay = <5000>; /* milliseconds */
122562306a36Sopenharmony_ci
122662306a36Sopenharmony_ci			thermal-sensors = <&nct1008 0>;
122762306a36Sopenharmony_ci
122862306a36Sopenharmony_ci			trips {
122962306a36Sopenharmony_ci				trip0: skin-alert {
123062306a36Sopenharmony_ci					/* start throttling at 60C */
123162306a36Sopenharmony_ci					temperature = <60000>;
123262306a36Sopenharmony_ci					hysteresis = <200>;
123362306a36Sopenharmony_ci					type = "passive";
123462306a36Sopenharmony_ci				};
123562306a36Sopenharmony_ci
123662306a36Sopenharmony_ci				trip1: skin-crit {
123762306a36Sopenharmony_ci					/* shut down at 70C */
123862306a36Sopenharmony_ci					temperature = <70000>;
123962306a36Sopenharmony_ci					hysteresis = <2000>;
124062306a36Sopenharmony_ci					type = "critical";
124162306a36Sopenharmony_ci				};
124262306a36Sopenharmony_ci			};
124362306a36Sopenharmony_ci
124462306a36Sopenharmony_ci			cooling-maps {
124562306a36Sopenharmony_ci				map0 {
124662306a36Sopenharmony_ci					trip = <&trip0>;
124762306a36Sopenharmony_ci					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
124862306a36Sopenharmony_ci							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
124962306a36Sopenharmony_ci				};
125062306a36Sopenharmony_ci			};
125162306a36Sopenharmony_ci		};
125262306a36Sopenharmony_ci
125362306a36Sopenharmony_ci		cpu-thermal {
125462306a36Sopenharmony_ci			polling-delay-passive = <1000>; /* milliseconds */
125562306a36Sopenharmony_ci			polling-delay = <5000>; /* milliseconds */
125662306a36Sopenharmony_ci
125762306a36Sopenharmony_ci			thermal-sensors = <&nct1008 1>;
125862306a36Sopenharmony_ci
125962306a36Sopenharmony_ci			trips {
126062306a36Sopenharmony_ci				trip2: cpu-alert {
126162306a36Sopenharmony_ci					/* throttle at 85C until temperature drops to 84.8C */
126262306a36Sopenharmony_ci					temperature = <85000>;
126362306a36Sopenharmony_ci					hysteresis = <200>;
126462306a36Sopenharmony_ci					type = "passive";
126562306a36Sopenharmony_ci				};
126662306a36Sopenharmony_ci
126762306a36Sopenharmony_ci				trip3: cpu-crit {
126862306a36Sopenharmony_ci					/* shut down at 90C */
126962306a36Sopenharmony_ci					temperature = <90000>;
127062306a36Sopenharmony_ci					hysteresis = <2000>;
127162306a36Sopenharmony_ci					type = "critical";
127262306a36Sopenharmony_ci				};
127362306a36Sopenharmony_ci			};
127462306a36Sopenharmony_ci
127562306a36Sopenharmony_ci			cooling-maps {
127662306a36Sopenharmony_ci				map1 {
127762306a36Sopenharmony_ci					trip = <&trip2>;
127862306a36Sopenharmony_ci					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
127962306a36Sopenharmony_ci							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
128062306a36Sopenharmony_ci				};
128162306a36Sopenharmony_ci			};
128262306a36Sopenharmony_ci		};
128362306a36Sopenharmony_ci	};
128462306a36Sopenharmony_ci
128562306a36Sopenharmony_ci	brcm_wifi_pwrseq: wifi-pwrseq {
128662306a36Sopenharmony_ci		compatible = "mmc-pwrseq-simple";
128762306a36Sopenharmony_ci
128862306a36Sopenharmony_ci		clocks = <&tegra_pmc TEGRA_PMC_CLK_BLINK>;
128962306a36Sopenharmony_ci		clock-names = "ext_clock";
129062306a36Sopenharmony_ci
129162306a36Sopenharmony_ci		reset-gpios = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_LOW>;
129262306a36Sopenharmony_ci		post-power-on-delay-ms = <200>;
129362306a36Sopenharmony_ci		power-off-delay-us = <200>;
129462306a36Sopenharmony_ci	};
129562306a36Sopenharmony_ci};
1296