blob: c4649eee79de0e3756060516488e48c17ff3a485 [file] [log] [blame]
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +03001// SPDX-License-Identifier: GPL-2.0
2
3#include <dt-bindings/input/input.h>
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +03004#include "tegra30.dtsi"
5
6/ {
7 chosen {
8 stdout-path = &uarta;
9 };
10
11 aliases {
12 i2c0 = &pwr_i2c;
13 i2c1 = &gen1_i2c;
14
15 mmc0 = &sdmmc4; /* eMMC */
16 mmc1 = &sdmmc1; /* uSD slot */
17
18 rtc0 = &pmic;
19 rtc1 = "/rtc@7000e000";
20
21 usb0 = &usb1;
22 usb1 = &usb3; /* Dock USB */
23 };
24
25 memory {
26 device_type = "memory";
27 reg = <0x80000000 0x40000000>;
28 };
29
30 host1x@50000000 {
31 dc@54200000 {
32 rgb {
33 status = "okay";
34
35 nvidia,panel = <&panel>;
36 };
37 };
38 };
39
40 uarta: serial@70006000 {
41 status = "okay";
42 };
43
44 pwm: pwm@7000a000 {
45 status = "okay";
46 };
47
48 gen1_i2c: i2c@7000c000 {
49 status = "okay";
50 clock-frequency = <100000>;
51 };
52
53 pwr_i2c: i2c@7000d000 {
54 status = "okay";
55 clock-frequency = <400000>;
56
57 /* Texas Instruments TPS659110 PMIC */
58 pmic: tps65911@2d {
59 compatible = "ti,tps65911";
60 reg = <0x2d>;
61
62 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
63 #interrupt-cells = <2>;
64 interrupt-controller;
65
66 ti,system-power-controller;
67
68 #gpio-cells = <2>;
69 gpio-controller;
70
71 regulators {
Svyatoslav Ryhela2b3f642023-10-03 09:36:38 +030072 vdd_1v8_vio: vddio {
73 regulator-name = "vdd_1v8_gen";
74 regulator-min-microvolt = <1800000>;
75 regulator-max-microvolt = <1800000>;
76 regulator-always-on;
77 regulator-boot-on;
78 };
79
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +030080 /* eMMC VDD */
81 vcore_emmc: ldo1 {
82 regulator-name = "vdd_emmc_core";
Svyatoslav Ryhela2b3f642023-10-03 09:36:38 +030083 regulator-min-microvolt = <3300000>;
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +030084 regulator-max-microvolt = <3300000>;
Svyatoslav Ryhelbf732172023-08-26 18:39:29 +030085 regulator-boot-on;
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +030086 };
87
88 /* uSD slot VDD */
89 vdd_usd: ldo2 {
90 regulator-name = "vdd_usd";
91 regulator-min-microvolt = <3100000>;
92 regulator-max-microvolt = <3100000>;
Svyatoslav Ryhelbf732172023-08-26 18:39:29 +030093 regulator-boot-on;
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +030094 };
95
96 /* uSD slot VDDIO */
97 vddio_usd: ldo3 {
98 regulator-name = "vddio_usd";
Svyatoslav Ryhela2b3f642023-10-03 09:36:38 +030099 regulator-min-microvolt = <3100000>;
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +0300100 regulator-max-microvolt = <3100000>;
Svyatoslav Ryhela2b3f642023-10-03 09:36:38 +0300101 regulator-always-on;
102 regulator-boot-on;
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +0300103 };
104 };
105 };
106 };
107
108 sdmmc1: sdhci@78000000 {
109 status = "okay";
110 bus-width = <4>;
111
112 cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
113 power-gpios = <&gpio TEGRA_GPIO(D, 7) GPIO_ACTIVE_HIGH>;
114
115 vmmc-supply = <&vdd_usd>;
116 vqmmc-supply = <&vddio_usd>;
117 };
118
119 sdmmc4: sdhci@78000600 {
120 status = "okay";
121 bus-width = <8>;
122 non-removable;
Svyatoslav Ryhela2b3f642023-10-03 09:36:38 +0300123
124 vmmc-supply = <&vcore_emmc>;
125 vqmmc-supply = <&vdd_1v8_vio>;
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +0300126 };
127
128 /* USB via ASUS connector */
129 usb1: usb@7d000000 {
130 status = "okay";
131 dr_mode = "otg";
132 };
133
Svyatoslav Ryhel6c438612023-08-25 20:23:14 +0300134 usb-phy@7d000000 {
135 status = "okay";
136 nvidia,hssync-start-delay = <0>;
137 nvidia,xcvr-lsfslew = <2>;
138 nvidia,xcvr-lsrslew = <2>;
139 };
140
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +0300141 /* Dock's USB port */
142 usb3: usb@7d008000 {
143 status = "okay";
144 };
145
Svyatoslav Ryhelb97e5a82023-10-03 09:36:35 +0300146 usb-phy@7d008000 {
147 status = "okay";
148 };
149
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +0300150 backlight: backlight {
151 compatible = "pwm-backlight";
152
153 enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
154 power-supply = <&vdd_5v0_bl>;
155 pwms = <&pwm 0 4000000>;
156
157 brightness-levels = <1 35 70 105 140 175 210 255>;
158 default-brightness-level = <5>;
159 };
160
161 /* PMIC has a built-in 32KHz oscillator which is used by PMC */
162 clk32k_in: clock-32k {
163 compatible = "fixed-clock";
164 #clock-cells = <0>;
165 clock-frequency = <32768>;
166 clock-output-names = "pmic-oscillator";
167 };
168
169 gpio-keys {
170 compatible = "gpio-keys";
171
172 key-power {
173 label = "Power";
174 gpios = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
175 linux,code = <KEY_ENTER>;
176 };
177
178 key-volume-up {
179 label = "Volume Up";
180 gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_LOW>;
181 linux,code = <KEY_UP>;
182 };
183
184 key-volume-down {
185 label = "Volume Down";
186 gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>;
187 linux,code = <KEY_DOWN>;
188 };
189 };
190
191 panel: panel {
192 compatible = "simple-panel";
193
194 power-supply = <&vdd_pnl_reg>;
195 enable-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>;
196
197 backlight = <&backlight>;
198
199 display-timings {
200 timing@0 {
201 /* 1280x800@60Hz */
202 clock-frequency = <68000000>;
203
204 hactive = <1280>;
205 hfront-porch = <48>;
206 hback-porch = <18>;
207 hsync-len = <30>;
208
209 vactive = <800>;
210 vfront-porch = <3>;
211 vback-porch = <12>;
212 vsync-len = <5>;
213 };
214 };
215 };
216
217 vdd_pnl_reg: regulator-pnl {
218 compatible = "regulator-fixed";
219 regulator-name = "vdd_panel";
220 regulator-min-microvolt = <3300000>;
221 regulator-max-microvolt = <3300000>;
222 gpio = <&gpio TEGRA_GPIO(W, 1) GPIO_ACTIVE_HIGH>;
223 enable-active-high;
224 };
225
226 vdd_5v0_bl: regulator-bl {
227 compatible = "regulator-fixed";
228 regulator-name = "vdd_5v0_bl";
229 regulator-min-microvolt = <5000000>;
230 regulator-max-microvolt = <5000000>;
Svyatoslav Ryhel7a25c382023-06-30 10:29:03 +0300231 gpio = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
232 enable-active-high;
233 };
234};