blob: 19de984d5fe5601cb4d227101e9cb0f3b7c53929 [file] [log] [blame]
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +03001// SPDX-License-Identifier: GPL-2.0
2/dts-v1/;
3
Svyatoslav Ryhelbce8c962023-10-03 09:36:32 +03004#include <dt-bindings/input/input.h>
5#include "tegra30.dtsi"
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +03006
7/ {
8 model = "ASUS Portable AiO P1801-T";
9 compatible = "asus,p1801-t", "nvidia,tegra30";
10
Svyatoslav Ryhelbce8c962023-10-03 09:36:32 +030011 chosen {
12 stdout-path = &uarta;
13 };
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +030014
Svyatoslav Ryhelbce8c962023-10-03 09:36:32 +030015 aliases {
16 i2c0 = &pwr_i2c;
17 i2c1 = &hdmi_ddc;
18
19 mmc0 = &sdmmc4; /* eMMC */
20 mmc1 = &sdmmc1; /* uSD slot */
21
22 rtc0 = &pmic;
23 rtc1 = "/rtc@7000e000";
24
25 usb0 = &usb1;
26 usb1 = &usb2; /* Mini USB */
27 usb2 = &usb3; /* Dock USB */
28 };
29
30 memory {
31 device_type = "memory";
32 reg = <0x80000000 0x80000000>;
33 };
34
35 host1x@50000000 {
36 dc@54200000 {
37 clocks = <&tegra_car TEGRA30_CLK_DISP1>,
38 <&tegra_car TEGRA30_CLK_PLL_D_OUT0>;
39
40 rgb {
41 status = "okay";
42
43 nvidia,panel = <&hdmi>;
44 };
45 };
46
47 hdmi: hdmi@54280000 {
48 clocks = <&tegra_car TEGRA30_CLK_HDMI>,
49 <&tegra_car TEGRA30_CLK_PLL_D_OUT0>;
50
51 status = "okay";
52
53 hdmi-supply = <&hdmi_5v0_sys>;
54 pll-supply = <&vdd_1v8_vio>;
55 vdd-supply = <&hdmi_3v3_vdd>;
56
57 /* low: tablet, high: dock */
58 nvidia,hpd-gpio = <&gpio TEGRA_GPIO(H, 4) GPIO_ACTIVE_LOW>;
59 nvidia,ddc-i2c-bus = <&hdmi_ddc>;
60 };
61 };
62
63 uarta: serial@70006000 {
64 status = "okay";
65 };
66
67 hdmi_ddc: i2c@7000c700 {
68 status = "okay";
69 clock-frequency = <33000>;
70 };
71
72 pwr_i2c: i2c@7000d000 {
73 status = "okay";
74 clock-frequency = <400000>;
75
76 /* Texas Instruments TPS659110 PMIC */
77 pmic: tps65911@2d {
78 compatible = "ti,tps65911";
79 reg = <0x2d>;
80
81 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
82 #interrupt-cells = <2>;
83 interrupt-controller;
84
85 ti,system-power-controller;
86
87 #gpio-cells = <2>;
88 gpio-controller;
89
90 regulators {
91 vdd_1v8_vio: vddio {
92 regulator-name = "vdd_1v8_gen";
93 regulator-min-microvolt = <1800000>;
94 regulator-max-microvolt = <1800000>;
95 regulator-always-on;
96 regulator-boot-on;
97 };
98
99 /* eMMC VDD */
100 vcore_emmc: ldo1 {
101 regulator-name = "vdd_emmc_core";
102 regulator-min-microvolt = <3300000>;
103 regulator-max-microvolt = <3300000>;
Svyatoslav Ryhelbf732172023-08-26 18:39:29 +0300104 regulator-boot-on;
Svyatoslav Ryhelbce8c962023-10-03 09:36:32 +0300105 };
106
107 /* uSD slot VDD */
108 vdd_usd: ldo2 {
109 regulator-name = "vdd_usd";
110 regulator-min-microvolt = <3100000>;
111 regulator-max-microvolt = <3100000>;
Svyatoslav Ryhelbf732172023-08-26 18:39:29 +0300112 regulator-boot-on;
Svyatoslav Ryhelbce8c962023-10-03 09:36:32 +0300113 };
114
115 /* uSD slot VDDIO */
116 vddio_usd: ldo3 {
117 regulator-name = "vddio_usd";
118 regulator-min-microvolt = <3100000>;
119 regulator-max-microvolt = <3100000>;
120 regulator-always-on;
121 regulator-boot-on;
122 };
123 };
124 };
125 };
126
127 sdmmc1: sdhci@78000000 {
128 status = "okay";
129 bus-width = <4>;
130
131 cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
132 power-gpios = <&gpio TEGRA_GPIO(D, 7) GPIO_ACTIVE_HIGH>;
133
134 vmmc-supply = <&vdd_usd>;
135 vqmmc-supply = <&vddio_usd>;
136 };
137
138 sdmmc4: sdhci@78000600 {
139 status = "okay";
140 bus-width = <8>;
141 non-removable;
142
143 vmmc-supply = <&vcore_emmc>;
144 vqmmc-supply = <&vdd_1v8_vio>;
145 };
146
147 /* USB via ASUS connector */
148 usb1: usb@7d000000 {
149 status = "okay";
150 dr_mode = "otg";
151 };
152
Svyatoslav Ryhel6c438612023-08-25 20:23:14 +0300153 usb-phy@7d000000 {
154 status = "okay";
155 nvidia,hssync-start-delay = <0>;
156 nvidia,xcvr-lsfslew = <2>;
157 nvidia,xcvr-lsrslew = <2>;
158 };
159
Svyatoslav Ryhelbce8c962023-10-03 09:36:32 +0300160 /* Mini USB port */
161 usb2: usb@7d004000 {
162 status = "okay";
163 nvidia,vbus-gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_HIGH>;
164 };
165
Svyatoslav Ryhel6c438612023-08-25 20:23:14 +0300166 usb-phy@7d004000 {
167 status = "okay";
168 };
169
Svyatoslav Ryhelbce8c962023-10-03 09:36:32 +0300170 /* Dock's USB port */
171 usb3: usb@7d008000 {
172 status = "okay";
173 };
174
Svyatoslav Ryhel6c438612023-08-25 20:23:14 +0300175 usb-phy@7d008000 {
176 status = "okay";
177 };
178
Svyatoslav Ryhelbce8c962023-10-03 09:36:32 +0300179 /* PMIC has a built-in 32KHz oscillator which is used by PMC */
180 clk32k_in: clock-32k {
181 compatible = "fixed-clock";
182 #clock-cells = <0>;
183 clock-frequency = <32768>;
184 clock-output-names = "pmic-oscillator";
185 };
186
187 gpio-keys {
188 compatible = "gpio-keys";
189
190 key-power {
191 label = "Power";
192 gpios = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
193 linux,code = <KEY_ENTER>;
194 };
195
196 key-volume-up {
197 label = "Volume Up";
198 gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_LOW>;
199 linux,code = <KEY_UP>;
200 };
201
202 key-volume-down {
203 label = "Volume Down";
204 gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>;
205 linux,code = <KEY_DOWN>;
206 };
207 };
208
209 hdmi_3v3_vdd: regulator-vdd {
210 compatible = "regulator-fixed";
211 regulator-name = "hdmi_3v3_vdd";
212 regulator-min-microvolt = <3300000>;
213 regulator-max-microvolt = <3300000>;
214 gpio = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
215 enable-active-high;
216 };
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +0300217
Svyatoslav Ryhelbce8c962023-10-03 09:36:32 +0300218 hdmi_5v0_sys: regulator-hdmi {
219 compatible = "regulator-fixed";
220 regulator-name = "hdmi_5v0_sys";
221 regulator-min-microvolt = <5000000>;
222 regulator-max-microvolt = <5000000>;
223 gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
224 enable-active-high;
225 };
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +0300226};