1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0
299575bceSJoseph Lo/dts-v1/;
399575bceSJoseph Lo
459686a92SThierry Reding#include <dt-bindings/input/linux-event-codes.h>
56f13f10bSThierry Reding#include <dt-bindings/input/gpio-keys.h>
659686a92SThierry Reding
799575bceSJoseph Lo#include "tegra186-p3310.dtsi"
899575bceSJoseph Lo
999575bceSJoseph Lo/ {
10a0c0cdc9SThierry Reding	model = "NVIDIA Jetson TX2 Developer Kit";
1199575bceSJoseph Lo	compatible = "nvidia,p2771-0000", "nvidia,tegra186";
12b0ddea85SThierry Reding
13b693b3d7SThierry Reding	i2c@3160000 {
14b693b3d7SThierry Reding		power-monitor@42 {
15b693b3d7SThierry Reding			compatible = "ti,ina3221";
16b693b3d7SThierry Reding			reg = <0x42>;
17b693b3d7SThierry Reding		};
18b693b3d7SThierry Reding
19b693b3d7SThierry Reding		power-monitor@43 {
20b693b3d7SThierry Reding			compatible = "ti,ina3221";
21b693b3d7SThierry Reding			reg = <0x43>;
22b693b3d7SThierry Reding		};
23b27d5250SThierry Reding
24b27d5250SThierry Reding		exp1: gpio@74 {
25b27d5250SThierry Reding			compatible = "ti,tca9539";
26b27d5250SThierry Reding			reg = <0x74>;
27b27d5250SThierry Reding
28b27d5250SThierry Reding			interrupt-parent = <&gpio>;
29d428f35dSThierry Reding			interrupts = <TEGRA186_MAIN_GPIO(Y, 0)
30d428f35dSThierry Reding				      GPIO_ACTIVE_LOW>;
31b27d5250SThierry Reding
32b27d5250SThierry Reding			#gpio-cells = <2>;
33b27d5250SThierry Reding			gpio-controller;
34c4502cc3SThierry Reding
35c4502cc3SThierry Reding			vcc-supply = <&vdd_3v3_sys>;
36b27d5250SThierry Reding		};
37b27d5250SThierry Reding
38b27d5250SThierry Reding		exp2: gpio@77 {
39b27d5250SThierry Reding			compatible = "ti,tca9539";
40b27d5250SThierry Reding			reg = <0x77>;
41b27d5250SThierry Reding
42b27d5250SThierry Reding			interrupt-parent = <&gpio>;
43d428f35dSThierry Reding			interrupts = <TEGRA186_MAIN_GPIO(Y, 6)
44d428f35dSThierry Reding				      GPIO_ACTIVE_LOW>;
45b27d5250SThierry Reding
46b27d5250SThierry Reding			#gpio-cells = <2>;
47b27d5250SThierry Reding			gpio-controller;
48c4502cc3SThierry Reding
49c4502cc3SThierry Reding			vcc-supply = <&vdd_1v8>;
50b27d5250SThierry Reding		};
51b693b3d7SThierry Reding	};
52b693b3d7SThierry Reding
53b0ddea85SThierry Reding	/* SDMMC1 (SD/MMC) */
54b0ddea85SThierry Reding	sdhci@3400000 {
55b0ddea85SThierry Reding		status = "okay";
56b0ddea85SThierry Reding
57b0ddea85SThierry Reding		vmmc-supply = <&vdd_sd>;
58b0ddea85SThierry Reding	};
59b0ddea85SThierry Reding
607c3adf12SThierry Reding	hda@3510000 {
6111ce4308SSameer Pujar		nvidia,model = "jetson-tx2-hda";
627c3adf12SThierry Reding		status = "okay";
637c3adf12SThierry Reding	};
647c3adf12SThierry Reding
6572f8ae3fSThierry Reding	padctl@3520000 {
6672783584SThierry Reding		status = "disabled";
6772f8ae3fSThierry Reding
6872f8ae3fSThierry Reding		avdd-pll-erefeut-supply = <&vdd_1v8_pll>;
6972f8ae3fSThierry Reding		avdd-usb-supply = <&vdd_3v3_sys>;
7072f8ae3fSThierry Reding		dvdd-pex-supply = <&vdd_pex>;
7172f8ae3fSThierry Reding		dvdd-pex-pll-supply = <&vdd_pex>;
7272f8ae3fSThierry Reding		hvdd-pex-supply = <&vdd_1v8>;
7372f8ae3fSThierry Reding		hvdd-pex-pll-supply = <&vdd_1v8>;
7472f8ae3fSThierry Reding		vclamp-usb-supply = <&vdd_1v8>;
7572f8ae3fSThierry Reding		vddio-hsic-supply = <&gnd>;
7672f8ae3fSThierry Reding
7772f8ae3fSThierry Reding		pads {
7872f8ae3fSThierry Reding			usb2 {
7972f8ae3fSThierry Reding				status = "okay";
8072f8ae3fSThierry Reding
8172f8ae3fSThierry Reding				lanes {
8272f8ae3fSThierry Reding					usb2-0 {
8372f8ae3fSThierry Reding						nvidia,function = "xusb";
8472f8ae3fSThierry Reding						status = "okay";
8572f8ae3fSThierry Reding					};
8672f8ae3fSThierry Reding
8772f8ae3fSThierry Reding					usb2-1 {
8872f8ae3fSThierry Reding						nvidia,function = "xusb";
8972f8ae3fSThierry Reding						status = "okay";
9072f8ae3fSThierry Reding					};
9172f8ae3fSThierry Reding
9272f8ae3fSThierry Reding					usb2-2 {
9372f8ae3fSThierry Reding						nvidia,function = "xusb";
9472f8ae3fSThierry Reding						status = "okay";
9572f8ae3fSThierry Reding					};
9672f8ae3fSThierry Reding				};
9772f8ae3fSThierry Reding			};
9872f8ae3fSThierry Reding
9972f8ae3fSThierry Reding			usb3 {
10072f8ae3fSThierry Reding				status = "okay";
10172f8ae3fSThierry Reding
10272f8ae3fSThierry Reding				lanes {
10372f8ae3fSThierry Reding					usb3-0 {
10472f8ae3fSThierry Reding						nvidia,function = "xusb";
10572f8ae3fSThierry Reding						status = "okay";
10672f8ae3fSThierry Reding					};
10772f8ae3fSThierry Reding
10872f8ae3fSThierry Reding					usb3-1 {
10972f8ae3fSThierry Reding						nvidia,function = "xusb";
11072f8ae3fSThierry Reding						status = "okay";
11172f8ae3fSThierry Reding					};
11272f8ae3fSThierry Reding
11372f8ae3fSThierry Reding					usb3-2 {
11472f8ae3fSThierry Reding						nvidia,function = "xusb";
11572f8ae3fSThierry Reding						status = "okay";
11672f8ae3fSThierry Reding					};
11772f8ae3fSThierry Reding				};
11872f8ae3fSThierry Reding			};
11972f8ae3fSThierry Reding		};
12072f8ae3fSThierry Reding
12172f8ae3fSThierry Reding		ports {
12272f8ae3fSThierry Reding			usb2-0 {
12372f8ae3fSThierry Reding				status = "okay";
12472f8ae3fSThierry Reding				mode = "otg";
12572f8ae3fSThierry Reding
12672f8ae3fSThierry Reding				vbus-supply = <&vdd_usb0>;
12772f8ae3fSThierry Reding			};
12872f8ae3fSThierry Reding
12972f8ae3fSThierry Reding			usb2-1 {
13072f8ae3fSThierry Reding				status = "okay";
13172f8ae3fSThierry Reding				mode = "host";
13272f8ae3fSThierry Reding
13372f8ae3fSThierry Reding				vbus-supply = <&vdd_usb1>;
13472f8ae3fSThierry Reding			};
13572f8ae3fSThierry Reding
13672f8ae3fSThierry Reding			usb3-0 {
13772f8ae3fSThierry Reding				nvidia,usb2-companion = <1>;
13872f8ae3fSThierry Reding				status = "okay";
13972f8ae3fSThierry Reding			};
14072f8ae3fSThierry Reding		};
14172f8ae3fSThierry Reding	};
14272f8ae3fSThierry Reding
14372f8ae3fSThierry Reding	usb@3530000 {
14472783584SThierry Reding		status = "disabled";
14572f8ae3fSThierry Reding
14672f8ae3fSThierry Reding		phys = <&{/padctl@3520000/pads/usb2/lanes/usb2-0}>,
14772f8ae3fSThierry Reding		       <&{/padctl@3520000/pads/usb2/lanes/usb2-1}>,
14872f8ae3fSThierry Reding		       <&{/padctl@3520000/pads/usb3/lanes/usb3-0}>;
14972f8ae3fSThierry Reding		phy-names = "usb2-0", "usb2-1", "usb3-0";
15072f8ae3fSThierry Reding	};
15172f8ae3fSThierry Reding
15289b469ccSManikanta Maddireddy	pcie@10003000 {
15389b469ccSManikanta Maddireddy		status = "okay";
15489b469ccSManikanta Maddireddy
15589b469ccSManikanta Maddireddy		dvdd-pex-supply = <&vdd_pex>;
15689b469ccSManikanta Maddireddy		hvdd-pex-pll-supply = <&vdd_1v8>;
15789b469ccSManikanta Maddireddy		hvdd-pex-supply = <&vdd_1v8>;
15889b469ccSManikanta Maddireddy		vddio-pexctl-aud-supply = <&vdd_1v8>;
15989b469ccSManikanta Maddireddy
16089b469ccSManikanta Maddireddy		pci@1,0 {
16189b469ccSManikanta Maddireddy			nvidia,num-lanes = <4>;
16289b469ccSManikanta Maddireddy			status = "okay";
16389b469ccSManikanta Maddireddy		};
16489b469ccSManikanta Maddireddy
16589b469ccSManikanta Maddireddy		pci@2,0 {
16689b469ccSManikanta Maddireddy			nvidia,num-lanes = <0>;
16789b469ccSManikanta Maddireddy			status = "disabled";
16889b469ccSManikanta Maddireddy		};
16989b469ccSManikanta Maddireddy
17089b469ccSManikanta Maddireddy		pci@3,0 {
17189b469ccSManikanta Maddireddy			nvidia,num-lanes = <1>;
17289b469ccSManikanta Maddireddy			status = "disabled";
17389b469ccSManikanta Maddireddy		};
17489b469ccSManikanta Maddireddy	};
17589b469ccSManikanta Maddireddy
17636328505SThierry Reding	host1x@13e00000 {
17736328505SThierry Reding		status = "okay";
17836328505SThierry Reding
17936328505SThierry Reding		dpaux@15040000 {
18036328505SThierry Reding			status = "okay";
18136328505SThierry Reding		};
18236328505SThierry Reding
18336328505SThierry Reding		display-hub@15200000 {
18436328505SThierry Reding			status = "okay";
18536328505SThierry Reding		};
18636328505SThierry Reding
18736328505SThierry Reding		dsi@15300000 {
18836328505SThierry Reding			status = "disabled";
18936328505SThierry Reding		};
19036328505SThierry Reding
19136328505SThierry Reding		sor@15540000 {
19236328505SThierry Reding			status = "disabled";
19336328505SThierry Reding
19436328505SThierry Reding			nvidia,dpaux = <&dpaux1>;
19536328505SThierry Reding		};
19636328505SThierry Reding
19736328505SThierry Reding		sor@15580000 {
19836328505SThierry Reding			status = "okay";
19936328505SThierry Reding
20036328505SThierry Reding			avdd-io-supply = <&vdd_hdmi_1v05>;
20136328505SThierry Reding			vdd-pll-supply = <&vdd_1v8_ap>;
20236328505SThierry Reding			hdmi-supply = <&vdd_hdmi>;
20336328505SThierry Reding
20436328505SThierry Reding			nvidia,ddc-i2c-bus = <&ddc>;
205d428f35dSThierry Reding			nvidia,hpd-gpio = <&gpio TEGRA186_MAIN_GPIO(P, 1)
206d428f35dSThierry Reding						 GPIO_ACTIVE_LOW>;
20736328505SThierry Reding		};
20836328505SThierry Reding
20936328505SThierry Reding		dpaux@155c0000 {
21036328505SThierry Reding			status = "okay";
21136328505SThierry Reding		};
21236328505SThierry Reding	};
21336328505SThierry Reding
21459686a92SThierry Reding	gpio-keys {
21559686a92SThierry Reding		compatible = "gpio-keys";
21659686a92SThierry Reding
21759686a92SThierry Reding		power {
21859686a92SThierry Reding			label = "Power";
219d428f35dSThierry Reding			gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 0)
22059686a92SThierry Reding					   GPIO_ACTIVE_LOW>;
22159686a92SThierry Reding			linux,input-type = <EV_KEY>;
22259686a92SThierry Reding			linux,code = <KEY_POWER>;
22359686a92SThierry Reding			debounce-interval = <10>;
2246f13f10bSThierry Reding			wakeup-event-action = <EV_ACT_ASSERTED>;
22559686a92SThierry Reding			wakeup-source;
22659686a92SThierry Reding		};
22759686a92SThierry Reding
22859686a92SThierry Reding		volume-up {
22959686a92SThierry Reding			label = "Volume Up";
230d428f35dSThierry Reding			gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 1)
23159686a92SThierry Reding					   GPIO_ACTIVE_LOW>;
23259686a92SThierry Reding			linux,input-type = <EV_KEY>;
23359686a92SThierry Reding			linux,code = <KEY_VOLUMEUP>;
23459686a92SThierry Reding			debounce-interval = <10>;
23559686a92SThierry Reding		};
23659686a92SThierry Reding
23759686a92SThierry Reding		volume-down {
23859686a92SThierry Reding			label = "Volume Down";
239d428f35dSThierry Reding			gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 2)
24059686a92SThierry Reding					   GPIO_ACTIVE_LOW>;
24159686a92SThierry Reding			linux,input-type = <EV_KEY>;
24259686a92SThierry Reding			linux,code = <KEY_VOLUMEDOWN>;
24359686a92SThierry Reding			debounce-interval = <10>;
24459686a92SThierry Reding		};
24559686a92SThierry Reding	};
24659686a92SThierry Reding
247b0ddea85SThierry Reding	regulators {
248b0ddea85SThierry Reding		vdd_sd: regulator@100 {
249b0ddea85SThierry Reding			compatible = "regulator-fixed";
250b0ddea85SThierry Reding			reg = <100>;
251b0ddea85SThierry Reding
252b0ddea85SThierry Reding			regulator-name = "SD_CARD_SW_PWR";
253b0ddea85SThierry Reding			regulator-min-microvolt = <3300000>;
254b0ddea85SThierry Reding			regulator-max-microvolt = <3300000>;
255b0ddea85SThierry Reding
256d428f35dSThierry Reding			gpio = <&gpio TEGRA186_MAIN_GPIO(P, 6)
257d428f35dSThierry Reding				      GPIO_ACTIVE_HIGH>;
258b0ddea85SThierry Reding			enable-active-high;
259b0ddea85SThierry Reding
260b0ddea85SThierry Reding			vin-supply = <&vdd_3v3_sys>;
261b0ddea85SThierry Reding		};
26236328505SThierry Reding
26336328505SThierry Reding		vdd_hdmi: regulator@101 {
26436328505SThierry Reding			compatible = "regulator-fixed";
26536328505SThierry Reding			reg = <101>;
26636328505SThierry Reding
26736328505SThierry Reding			regulator-name = "VDD_HDMI_5V0";
26836328505SThierry Reding			regulator-min-microvolt = <5000000>;
26936328505SThierry Reding			regulator-max-microvolt = <5000000>;
27036328505SThierry Reding
27136328505SThierry Reding			gpio = <&exp1 14 GPIO_ACTIVE_HIGH>;
27236328505SThierry Reding			enable-active-high;
27336328505SThierry Reding
27436328505SThierry Reding			vin-supply = <&vdd_5v0_sys>;
27536328505SThierry Reding		};
27672f8ae3fSThierry Reding
27772f8ae3fSThierry Reding		vdd_usb0: regulator@102 {
27872f8ae3fSThierry Reding			compatible = "regulator-fixed";
27972f8ae3fSThierry Reding			reg = <102>;
28072f8ae3fSThierry Reding
28172f8ae3fSThierry Reding			regulator-name = "VDD_USB0";
28272f8ae3fSThierry Reding			regulator-min-microvolt = <5000000>;
28372f8ae3fSThierry Reding			regulator-max-microvolt = <5000000>;
28472f8ae3fSThierry Reding
2852db4a1a5SThierry Reding			gpio = <&gpio TEGRA186_MAIN_GPIO(L, 4) GPIO_ACTIVE_HIGH>;
28672f8ae3fSThierry Reding			enable-active-high;
28772f8ae3fSThierry Reding
28872f8ae3fSThierry Reding			vin-supply = <&vdd_5v0_sys>;
28972f8ae3fSThierry Reding		};
29072f8ae3fSThierry Reding
29172f8ae3fSThierry Reding		vdd_usb1: regulator@103 {
29272f8ae3fSThierry Reding			compatible = "regulator-fixed";
29372f8ae3fSThierry Reding			reg = <103>;
29472f8ae3fSThierry Reding
29572f8ae3fSThierry Reding			regulator-name = "VDD_USB1";
29672f8ae3fSThierry Reding			regulator-min-microvolt = <5000000>;
29772f8ae3fSThierry Reding			regulator-max-microvolt = <5000000>;
29872f8ae3fSThierry Reding
2992db4a1a5SThierry Reding			gpio = <&gpio TEGRA186_MAIN_GPIO(L, 5) GPIO_ACTIVE_HIGH>;
30072f8ae3fSThierry Reding			enable-active-high;
30172f8ae3fSThierry Reding
30272f8ae3fSThierry Reding			vin-supply = <&vdd_5v0_sys>;
30372f8ae3fSThierry Reding		};
304b0ddea85SThierry Reding	};
30599575bceSJoseph Lo};
306