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