blob: 39f7caf8d0b0a6d1b83097ad99a376865bd995e3 [file] [log] [blame]
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +03001// SPDX-License-Identifier: GPL-2.0
2/dts-v1/;
3
Svyatoslav Ryhel6e758da2023-10-03 09:36:32 +03004#include <dt-bindings/input/input.h>
5#include "tegra30.dtsi"
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +03006
7/ {
8 model = "ASUS Portable AiO P1801-T";
9 compatible = "asus,p1801-t", "nvidia,tegra30";
10
Svyatoslav Ryhel6e758da2023-10-03 09:36:32 +030011 chosen {
12 stdout-path = &uarta;
13 };
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +030014
Svyatoslav Ryhel6e758da2023-10-03 09:36:32 +030015 aliases {
16 i2c0 = &pwr_i2c;
17 i2c1 = &hdmi_ddc;
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +030018
Svyatoslav Ryhel6e758da2023-10-03 09:36:32 +030019 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>;
104 };
105
106 /* uSD slot VDD */
107 vdd_usd: ldo2 {
108 regulator-name = "vdd_usd";
109 regulator-min-microvolt = <3100000>;
110 regulator-max-microvolt = <3100000>;
111 };
112
113 /* uSD slot VDDIO */
114 vddio_usd: ldo3 {
115 regulator-name = "vddio_usd";
116 regulator-min-microvolt = <3100000>;
117 regulator-max-microvolt = <3100000>;
118 regulator-always-on;
119 regulator-boot-on;
120 };
121 };
122 };
123 };
124
125 sdmmc1: sdhci@78000000 {
126 status = "okay";
127 bus-width = <4>;
128
129 cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
130 power-gpios = <&gpio TEGRA_GPIO(D, 7) GPIO_ACTIVE_HIGH>;
131
132 vmmc-supply = <&vdd_usd>;
133 vqmmc-supply = <&vddio_usd>;
134 };
135
136 sdmmc4: sdhci@78000600 {
137 status = "okay";
138 bus-width = <8>;
139 non-removable;
140
141 vmmc-supply = <&vcore_emmc>;
142 vqmmc-supply = <&vdd_1v8_vio>;
143 };
144
145 /* USB via ASUS connector */
146 usb1: usb@7d000000 {
147 status = "okay";
148 dr_mode = "otg";
149 };
150
151 /* Mini USB port */
152 usb2: usb@7d004000 {
153 status = "okay";
154 nvidia,vbus-gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_HIGH>;
155 };
156
157 /* Dock's USB port */
158 usb3: usb@7d008000 {
159 status = "okay";
160 };
161
162 /* PMIC has a built-in 32KHz oscillator which is used by PMC */
163 clk32k_in: clock-32k {
164 compatible = "fixed-clock";
165 #clock-cells = <0>;
166 clock-frequency = <32768>;
167 clock-output-names = "pmic-oscillator";
168 };
169
170 gpio-keys {
171 compatible = "gpio-keys";
172
173 key-power {
174 label = "Power";
175 gpios = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
176 linux,code = <KEY_ENTER>;
177 };
178
179 key-volume-up {
180 label = "Volume Up";
181 gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_LOW>;
182 linux,code = <KEY_UP>;
183 };
184
185 key-volume-down {
186 label = "Volume Down";
187 gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>;
188 linux,code = <KEY_DOWN>;
189 };
190 };
191
192 hdmi_3v3_vdd: regulator-vdd {
193 compatible = "regulator-fixed";
194 regulator-name = "hdmi_3v3_vdd";
195 regulator-min-microvolt = <3300000>;
196 regulator-max-microvolt = <3300000>;
197 gpio = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
198 enable-active-high;
199 };
200
201 hdmi_5v0_sys: regulator-hdmi {
202 compatible = "regulator-fixed";
203 regulator-name = "hdmi_5v0_sys";
204 regulator-min-microvolt = <5000000>;
205 regulator-max-microvolt = <5000000>;
206 gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
207 enable-active-high;
208 };
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +0300209};