1// SPDX-License-Identifier: GPL-2.0
2/dts-v1/;
3
4#include <dt-bindings/input/linux-event-codes.h>
5#include <dt-bindings/input/gpio-keys.h>
6
7#include "tegra186-p3310.dtsi"
8
9/ {
10	model = "NVIDIA Tegra186 P2771-0000 Development Board";
11	compatible = "nvidia,p2771-0000", "nvidia,tegra186";
12
13	i2c@3160000 {
14		power-monitor@42 {
15			compatible = "ti,ina3221";
16			reg = <0x42>;
17		};
18
19		power-monitor@43 {
20			compatible = "ti,ina3221";
21			reg = <0x43>;
22		};
23
24		exp1: gpio@74 {
25			compatible = "ti,tca9539";
26			reg = <0x74>;
27
28			interrupt-parent = <&gpio>;
29			interrupts = <TEGRA_MAIN_GPIO(Y, 0) GPIO_ACTIVE_LOW>;
30
31			#gpio-cells = <2>;
32			gpio-controller;
33		};
34
35		exp2: gpio@77 {
36			compatible = "ti,tca9539";
37			reg = <0x77>;
38
39			interrupt-parent = <&gpio>;
40			interrupts = <TEGRA_MAIN_GPIO(Y, 6) GPIO_ACTIVE_LOW>;
41
42			#gpio-cells = <2>;
43			gpio-controller;
44		};
45	};
46
47	/* SDMMC1 (SD/MMC) */
48	sdhci@3400000 {
49		status = "okay";
50
51		vmmc-supply = <&vdd_sd>;
52	};
53
54	hda@3510000 {
55		status = "okay";
56	};
57
58	pcie@10003000 {
59		status = "okay";
60
61		dvdd-pex-supply = <&vdd_pex>;
62		hvdd-pex-pll-supply = <&vdd_1v8>;
63		hvdd-pex-supply = <&vdd_1v8>;
64		vddio-pexctl-aud-supply = <&vdd_1v8>;
65
66		pci@1,0 {
67			nvidia,num-lanes = <4>;
68			status = "okay";
69		};
70
71		pci@2,0 {
72			nvidia,num-lanes = <0>;
73			status = "disabled";
74		};
75
76		pci@3,0 {
77			nvidia,num-lanes = <1>;
78			status = "disabled";
79		};
80	};
81
82	host1x@13e00000 {
83		status = "okay";
84
85		dpaux@15040000 {
86			status = "okay";
87		};
88
89		display-hub@15200000 {
90			status = "okay";
91		};
92
93		dsi@15300000 {
94			status = "disabled";
95		};
96
97		sor@15540000 {
98			status = "disabled";
99
100			nvidia,dpaux = <&dpaux1>;
101		};
102
103		sor@15580000 {
104			status = "okay";
105
106			avdd-io-supply = <&vdd_hdmi_1v05>;
107			vdd-pll-supply = <&vdd_1v8_ap>;
108			hdmi-supply = <&vdd_hdmi>;
109
110			nvidia,ddc-i2c-bus = <&ddc>;
111			nvidia,hpd-gpio = <&gpio TEGRA_MAIN_GPIO(P, 1) GPIO_ACTIVE_LOW>;
112		};
113
114		dpaux@155c0000 {
115			status = "okay";
116		};
117	};
118
119	gpio-keys {
120		compatible = "gpio-keys";
121
122		power {
123			label = "Power";
124			gpios = <&gpio_aon TEGRA_AON_GPIO(FF, 0)
125					   GPIO_ACTIVE_LOW>;
126			linux,input-type = <EV_KEY>;
127			linux,code = <KEY_POWER>;
128			debounce-interval = <10>;
129			wakeup-event-action = <EV_ACT_ASSERTED>;
130			wakeup-source;
131		};
132
133		volume-up {
134			label = "Volume Up";
135			gpios = <&gpio_aon TEGRA_AON_GPIO(FF, 1)
136					   GPIO_ACTIVE_LOW>;
137			linux,input-type = <EV_KEY>;
138			linux,code = <KEY_VOLUMEUP>;
139			debounce-interval = <10>;
140		};
141
142		volume-down {
143			label = "Volume Down";
144			gpios = <&gpio_aon TEGRA_AON_GPIO(FF, 2)
145					   GPIO_ACTIVE_LOW>;
146			linux,input-type = <EV_KEY>;
147			linux,code = <KEY_VOLUMEDOWN>;
148			debounce-interval = <10>;
149		};
150	};
151
152	regulators {
153		vdd_sd: regulator@100 {
154			compatible = "regulator-fixed";
155			reg = <100>;
156
157			regulator-name = "SD_CARD_SW_PWR";
158			regulator-min-microvolt = <3300000>;
159			regulator-max-microvolt = <3300000>;
160
161			gpio = <&gpio TEGRA_MAIN_GPIO(P, 6) GPIO_ACTIVE_HIGH>;
162			enable-active-high;
163
164			vin-supply = <&vdd_3v3_sys>;
165		};
166
167		vdd_hdmi: regulator@101 {
168			compatible = "regulator-fixed";
169			reg = <101>;
170
171			regulator-name = "VDD_HDMI_5V0";
172			regulator-min-microvolt = <5000000>;
173			regulator-max-microvolt = <5000000>;
174
175			gpio = <&exp1 14 GPIO_ACTIVE_HIGH>;
176			enable-active-high;
177
178			vin-supply = <&vdd_5v0_sys>;
179		};
180	};
181};
182