blob: 888f9ca74e6b9057c1ab61afbc258cfdb548e33f [file] [log] [blame]
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +03001// SPDX-License-Identifier: GPL-2.0
2
3#include <dt-bindings/input/input.h>
Svyatoslav Ryhel15be9a72023-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 Ryhel7e0279a2023-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 Ryhel15be9a72023-06-30 10:29:03 +030080 /* eMMC VDD */
81 vcore_emmc: ldo1 {
82 regulator-name = "vdd_emmc_core";
Svyatoslav Ryhel7e0279a2023-10-03 09:36:38 +030083 regulator-min-microvolt = <3300000>;
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +030084 regulator-max-microvolt = <3300000>;
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +030085 };
86
87 /* uSD slot VDD */
88 vdd_usd: ldo2 {
89 regulator-name = "vdd_usd";
90 regulator-min-microvolt = <3100000>;
91 regulator-max-microvolt = <3100000>;
92 };
93
94 /* uSD slot VDDIO */
95 vddio_usd: ldo3 {
96 regulator-name = "vddio_usd";
Svyatoslav Ryhel7e0279a2023-10-03 09:36:38 +030097 regulator-min-microvolt = <3100000>;
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +030098 regulator-max-microvolt = <3100000>;
Svyatoslav Ryhel7e0279a2023-10-03 09:36:38 +030099 regulator-always-on;
100 regulator-boot-on;
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +0300101 };
102 };
103 };
104 };
105
106 sdmmc1: sdhci@78000000 {
107 status = "okay";
108 bus-width = <4>;
109
110 cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
111 power-gpios = <&gpio TEGRA_GPIO(D, 7) GPIO_ACTIVE_HIGH>;
112
113 vmmc-supply = <&vdd_usd>;
114 vqmmc-supply = <&vddio_usd>;
115 };
116
117 sdmmc4: sdhci@78000600 {
118 status = "okay";
119 bus-width = <8>;
120 non-removable;
Svyatoslav Ryhel7e0279a2023-10-03 09:36:38 +0300121
122 vmmc-supply = <&vcore_emmc>;
123 vqmmc-supply = <&vdd_1v8_vio>;
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +0300124 };
125
126 /* USB via ASUS connector */
127 usb1: usb@7d000000 {
128 status = "okay";
129 dr_mode = "otg";
130 };
131
132 /* Dock's USB port */
133 usb3: usb@7d008000 {
134 status = "okay";
135 };
136
Svyatoslav Ryhel6d61eb52023-10-03 09:36:35 +0300137 usb-phy@7d008000 {
138 status = "okay";
139 };
140
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +0300141 backlight: backlight {
142 compatible = "pwm-backlight";
143
144 enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
145 power-supply = <&vdd_5v0_bl>;
146 pwms = <&pwm 0 4000000>;
147
148 brightness-levels = <1 35 70 105 140 175 210 255>;
149 default-brightness-level = <5>;
150 };
151
152 /* PMIC has a built-in 32KHz oscillator which is used by PMC */
153 clk32k_in: clock-32k {
154 compatible = "fixed-clock";
155 #clock-cells = <0>;
156 clock-frequency = <32768>;
157 clock-output-names = "pmic-oscillator";
158 };
159
160 gpio-keys {
161 compatible = "gpio-keys";
162
163 key-power {
164 label = "Power";
165 gpios = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
166 linux,code = <KEY_ENTER>;
167 };
168
169 key-volume-up {
170 label = "Volume Up";
171 gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_LOW>;
172 linux,code = <KEY_UP>;
173 };
174
175 key-volume-down {
176 label = "Volume Down";
177 gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>;
178 linux,code = <KEY_DOWN>;
179 };
180 };
181
182 panel: panel {
183 compatible = "simple-panel";
184
185 power-supply = <&vdd_pnl_reg>;
186 enable-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>;
187
188 backlight = <&backlight>;
189
190 display-timings {
191 timing@0 {
192 /* 1280x800@60Hz */
193 clock-frequency = <68000000>;
194
195 hactive = <1280>;
196 hfront-porch = <48>;
197 hback-porch = <18>;
198 hsync-len = <30>;
199
200 vactive = <800>;
201 vfront-porch = <3>;
202 vback-porch = <12>;
203 vsync-len = <5>;
204 };
205 };
206 };
207
208 vdd_pnl_reg: regulator-pnl {
209 compatible = "regulator-fixed";
210 regulator-name = "vdd_panel";
211 regulator-min-microvolt = <3300000>;
212 regulator-max-microvolt = <3300000>;
213 gpio = <&gpio TEGRA_GPIO(W, 1) GPIO_ACTIVE_HIGH>;
214 enable-active-high;
215 };
216
217 vdd_5v0_bl: regulator-bl {
218 compatible = "regulator-fixed";
219 regulator-name = "vdd_5v0_bl";
220 regulator-min-microvolt = <5000000>;
221 regulator-max-microvolt = <5000000>;
Svyatoslav Ryhel15be9a72023-06-30 10:29:03 +0300222 gpio = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
223 enable-active-high;
224 };
225};