Merge tag 'timers-urgent-2020-12-27' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / nvidia / tegra186-p2771-0000.dts
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 Jetson TX2 Developer Kit";
11         compatible = "nvidia,p2771-0000", "nvidia,tegra186";
12
13         i2c@3160000 {
14                 power-monitor@42 {
15                         compatible = "ti,ina3221";
16                         reg = <0x42>;
17                         #address-cells = <1>;
18                         #size-cells = <0>;
19
20                         channel@0 {
21                                 reg = <0x0>;
22                                 label = "VDD_MUX";
23                                 shunt-resistor-micro-ohms = <20000>;
24                         };
25
26                         channel@1 {
27                                 reg = <0x1>;
28                                 label = "VDD_5V0_IO_SYS";
29                                 shunt-resistor-micro-ohms = <5000>;
30                         };
31
32                         channel@2 {
33                                 reg = <0x2>;
34                                 label = "VDD_3V3_SYS";
35                                 shunt-resistor-micro-ohms = <10000>;
36                         };
37                 };
38
39                 power-monitor@43 {
40                         compatible = "ti,ina3221";
41                         reg = <0x43>;
42                         #address-cells = <1>;
43                         #size-cells = <0>;
44
45                         channel@0 {
46                                 reg = <0x0>;
47                                 label = "VDD_3V3_IO_SLP";
48                                 shunt-resistor-micro-ohms = <10000>;
49                         };
50
51                         channel@1 {
52                                 reg = <0x1>;
53                                 label = "VDD_1V8_IO";
54                                 shunt-resistor-micro-ohms = <10000>;
55                         };
56
57                         channel@2 {
58                                 reg = <0x2>;
59                                 label = "VDD_M2_IN";
60                                 shunt-resistor-micro-ohms = <10000>;
61                         };
62                 };
63
64                 exp1: gpio@74 {
65                         compatible = "ti,tca9539";
66                         reg = <0x74>;
67
68                         interrupt-parent = <&gpio>;
69                         interrupts = <TEGRA186_MAIN_GPIO(Y, 0)
70                                       GPIO_ACTIVE_LOW>;
71
72                         #gpio-cells = <2>;
73                         gpio-controller;
74
75                         vcc-supply = <&vdd_3v3_sys>;
76                 };
77
78                 exp2: gpio@77 {
79                         compatible = "ti,tca9539";
80                         reg = <0x77>;
81
82                         interrupt-parent = <&gpio>;
83                         interrupts = <TEGRA186_MAIN_GPIO(Y, 6)
84                                       GPIO_ACTIVE_LOW>;
85
86                         #gpio-cells = <2>;
87                         gpio-controller;
88
89                         vcc-supply = <&vdd_1v8>;
90                 };
91         };
92
93         /* SDMMC1 (SD/MMC) */
94         mmc@3400000 {
95                 status = "okay";
96
97                 vmmc-supply = <&vdd_sd>;
98         };
99
100         hda@3510000 {
101                 nvidia,model = "jetson-tx2-hda";
102                 status = "okay";
103         };
104
105         padctl@3520000 {
106                 status = "okay";
107
108                 avdd-pll-erefeut-supply = <&vdd_1v8_pll>;
109                 avdd-usb-supply = <&vdd_3v3_sys>;
110                 vclamp-usb-supply = <&vdd_1v8>;
111                 vddio-hsic-supply = <&gnd>;
112
113                 pads {
114                         usb2 {
115                                 status = "okay";
116
117                                 lanes {
118                                         micro_b: usb2-0 {
119                                                 nvidia,function = "xusb";
120                                                 status = "okay";
121                                         };
122
123                                         usb2-1 {
124                                                 nvidia,function = "xusb";
125                                                 status = "okay";
126                                         };
127
128                                         usb2-2 {
129                                                 nvidia,function = "xusb";
130                                                 status = "okay";
131                                         };
132                                 };
133                         };
134
135                         usb3 {
136                                 status = "okay";
137
138                                 lanes {
139                                         usb3-0 {
140                                                 nvidia,function = "xusb";
141                                                 status = "okay";
142                                         };
143
144                                         usb3-1 {
145                                                 nvidia,function = "xusb";
146                                                 status = "okay";
147                                         };
148
149                                         usb3-2 {
150                                                 nvidia,function = "xusb";
151                                                 status = "okay";
152                                         };
153                                 };
154                         };
155                 };
156
157                 ports {
158                         usb2-0 {
159                                 status = "okay";
160                                 mode = "otg";
161                                 vbus-supply = <&vdd_usb0>;
162                                 usb-role-switch;
163
164                                 connector {
165                                         compatible = "gpio-usb-b-connector",
166                                                      "usb-b-connector";
167                                         label = "micro-USB";
168                                         type = "micro";
169                                         vbus-gpios = <&gpio
170                                                       TEGRA186_MAIN_GPIO(X, 7)
171                                                       GPIO_ACTIVE_LOW>;
172                                         id-gpios = <&pmic 0 GPIO_ACTIVE_HIGH>;
173                                 };
174                         };
175
176                         usb2-1 {
177                                 status = "okay";
178                                 mode = "host";
179
180                                 vbus-supply = <&vdd_usb1>;
181                         };
182
183                         usb3-0 {
184                                 nvidia,usb2-companion = <1>;
185                                 vbus-supply = <&vdd_usb1>;
186                                 status = "okay";
187                         };
188                 };
189         };
190
191         usb@3530000 {
192                 status = "okay";
193
194                 phys = <&{/padctl@3520000/pads/usb2/lanes/usb2-0}>,
195                        <&{/padctl@3520000/pads/usb2/lanes/usb2-1}>,
196                        <&{/padctl@3520000/pads/usb3/lanes/usb3-0}>;
197                 phy-names = "usb2-0", "usb2-1", "usb3-0";
198         };
199
200         usb@3550000 {
201                 status = "okay";
202
203                 phys = <&micro_b>;
204                 phy-names = "usb2-0";
205         };
206
207         i2c@c250000 {
208                 /* carrier board ID EEPROM */
209                 eeprom@57 {
210                         compatible = "atmel,24c02";
211                         reg = <0x57>;
212
213                         label = "system";
214                         vcc-supply = <&vdd_1v8>;
215                         address-width = <8>;
216                         pagesize = <8>;
217                         size = <256>;
218                         read-only;
219                 };
220         };
221
222         pcie@10003000 {
223                 status = "okay";
224
225                 dvdd-pex-supply = <&vdd_pex>;
226                 hvdd-pex-pll-supply = <&vdd_1v8>;
227                 hvdd-pex-supply = <&vdd_1v8>;
228                 vddio-pexctl-aud-supply = <&vdd_1v8>;
229
230                 pci@1,0 {
231                         nvidia,num-lanes = <4>;
232                         status = "okay";
233                 };
234
235                 pci@2,0 {
236                         nvidia,num-lanes = <0>;
237                         status = "disabled";
238                 };
239
240                 pci@3,0 {
241                         nvidia,num-lanes = <1>;
242                         status = "disabled";
243                 };
244         };
245
246         host1x@13e00000 {
247                 status = "okay";
248
249                 dpaux@15040000 {
250                         status = "okay";
251                 };
252
253                 display-hub@15200000 {
254                         status = "okay";
255                 };
256
257                 dsi@15300000 {
258                         status = "disabled";
259                 };
260
261                 /* DP on E3320 */
262                 sor@15540000 {
263                         status = "okay";
264
265                         avdd-io-hdmi-dp-supply = <&vdd_hdmi_1v05>;
266                         vdd-hdmi-dp-pll-supply = <&vdd_1v8_ap>;
267
268                         nvidia,dpaux = <&dpaux>;
269                 };
270
271                 sor@15580000 {
272                         status = "okay";
273
274                         avdd-io-hdmi-dp-supply = <&vdd_hdmi_1v05>;
275                         vdd-hdmi-dp-pll-supply = <&vdd_1v8_ap>;
276                         hdmi-supply = <&vdd_hdmi>;
277
278                         nvidia,ddc-i2c-bus = <&ddc>;
279                         nvidia,hpd-gpio = <&gpio TEGRA186_MAIN_GPIO(P, 1)
280                                                  GPIO_ACTIVE_LOW>;
281                 };
282
283                 dpaux@155c0000 {
284                         status = "okay";
285                 };
286         };
287
288         sata@3507000 {
289                 status = "okay";
290         };
291
292         gpio-keys {
293                 compatible = "gpio-keys";
294
295                 power {
296                         label = "Power";
297                         gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 0)
298                                            GPIO_ACTIVE_LOW>;
299                         linux,input-type = <EV_KEY>;
300                         linux,code = <KEY_POWER>;
301                         debounce-interval = <10>;
302                         wakeup-event-action = <EV_ACT_ASSERTED>;
303                         wakeup-source;
304                 };
305
306                 volume-up {
307                         label = "Volume Up";
308                         gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 1)
309                                            GPIO_ACTIVE_LOW>;
310                         linux,input-type = <EV_KEY>;
311                         linux,code = <KEY_VOLUMEUP>;
312                         debounce-interval = <10>;
313                 };
314
315                 volume-down {
316                         label = "Volume Down";
317                         gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 2)
318                                            GPIO_ACTIVE_LOW>;
319                         linux,input-type = <EV_KEY>;
320                         linux,code = <KEY_VOLUMEDOWN>;
321                         debounce-interval = <10>;
322                 };
323         };
324
325         vdd_sd: regulator@100 {
326                 compatible = "regulator-fixed";
327                 regulator-name = "SD_CARD_SW_PWR";
328                 regulator-min-microvolt = <3300000>;
329                 regulator-max-microvolt = <3300000>;
330
331                 gpio = <&gpio TEGRA186_MAIN_GPIO(P, 6) GPIO_ACTIVE_HIGH>;
332                 enable-active-high;
333
334                 vin-supply = <&vdd_3v3_sys>;
335         };
336
337         vdd_hdmi: regulator@101 {
338                 compatible = "regulator-fixed";
339                 regulator-name = "VDD_HDMI_5V0";
340                 regulator-min-microvolt = <5000000>;
341                 regulator-max-microvolt = <5000000>;
342
343                 gpio = <&exp1 14 GPIO_ACTIVE_HIGH>;
344                 enable-active-high;
345
346                 vin-supply = <&vdd_5v0_sys>;
347         };
348
349         vdd_usb0: regulator@102 {
350                 compatible = "regulator-fixed";
351                 regulator-name = "VDD_USB0";
352                 regulator-min-microvolt = <5000000>;
353                 regulator-max-microvolt = <5000000>;
354
355                 gpio = <&gpio TEGRA186_MAIN_GPIO(L, 4) GPIO_ACTIVE_HIGH>;
356                 enable-active-high;
357
358                 vin-supply = <&vdd_5v0_sys>;
359         };
360
361         vdd_usb1: regulator@103 {
362                 compatible = "regulator-fixed";
363                 regulator-name = "VDD_USB1";
364                 regulator-min-microvolt = <5000000>;
365                 regulator-max-microvolt = <5000000>;
366
367                 gpio = <&gpio TEGRA186_MAIN_GPIO(L, 5) GPIO_ACTIVE_HIGH>;
368                 enable-active-high;
369
370                 vin-supply = <&vdd_5v0_sys>;
371         };
372 };