blob: d460743fbb9401331d719e6a5e2fcf278d3744fb [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0
Tom Rini53633a82024-02-29 12:33:36 -05002#include <dt-bindings/gpio/gpio.h>
3#include <dt-bindings/input/input.h>
4#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
Tom Rini93743d22024-04-01 09:08:13 -04005
6#include "qcom-apq8064-v2.0.dtsi"
7#include "pm8821.dtsi"
8#include "pm8921.dtsi"
9
Tom Rini53633a82024-02-29 12:33:36 -050010/ {
11 model = "Asus Nexus7(flo)";
12 compatible = "asus,nexus7-flo", "qcom,apq8064";
13 chassis-type = "tablet";
14
15 aliases {
16 serial0 = &gsbi7_serial;
17 serial1 = &gsbi6_serial;
18 };
19
20 chosen {
21 stdout-path = "serial0:115200n8";
22 };
23
24 reserved-memory {
25 #address-cells = <1>;
26 #size-cells = <1>;
27 ranges;
28
29 ramoops@88d00000 {
30 compatible = "ramoops";
31 reg = <0x88d00000 0x100000>;
32 record-size = <0x00020000>;
33 console-size = <0x00020000>;
34 ftrace-size = <0x00020000>;
35 };
36 };
37
38 ext_3p3v: regulator-ext-3p3v {
39 compatible = "regulator-fixed";
40 regulator-min-microvolt = <3300000>;
41 regulator-max-microvolt = <3300000>;
42 regulator-name = "ext_3p3v";
43 startup-delay-us = <0>;
44 gpio = <&tlmm_pinmux 77 GPIO_ACTIVE_HIGH>;
45 enable-active-high;
46 regulator-boot-on;
47 };
48
49 gpio-keys {
50 compatible = "gpio-keys";
51 key-volume-up {
52 label = "Volume Up";
53 gpios = <&pm8921_gpio 4 GPIO_ACTIVE_HIGH>;
54 linux,code = <KEY_VOLUMEUP>;
55 };
56 key-volume-down {
57 label = "Volume Down";
58 gpios = <&pm8921_gpio 38 GPIO_ACTIVE_HIGH>;
59 linux,code = <KEY_VOLUMEDOWN>;
60 };
61 };
62
63 soc {
64 sram@2a03f000 {
65 compatible = "qcom,apq8064-imem", "syscon", "simple-mfd";
66 reg = <0x2a03f000 0x1000>;
67
68 reboot-mode {
69 compatible = "syscon-reboot-mode";
70 offset = <0x65c>;
71
72 mode-normal = <0x77665501>;
73 mode-bootloader = <0x77665500>;
74 mode-recovery = <0x77665502>;
75 };
76 };
77 };
78};
79
80&dsi0 {
81 vdda-supply = <&pm8921_l2>;/*VDD_MIPI1 to 4*/
82 vdd-supply = <&pm8921_l8>;
83 vddio-supply = <&pm8921_lvs7>;
84 avdd-supply = <&pm8921_l11>;
85 status = "okay";
86
87 panel@0 {
88 reg = <0>;
89 compatible = "jdi,lt070me05000";
90
91 vddp-supply = <&pm8921_l17>;
92 iovcc-supply = <&pm8921_lvs7>;
93
94 enable-gpios = <&pm8921_gpio 36 GPIO_ACTIVE_HIGH>;
95 reset-gpios = <&tlmm_pinmux 54 GPIO_ACTIVE_LOW>;
96 dcdc-en-gpios = <&pm8921_gpio 23 GPIO_ACTIVE_HIGH>;
97
98 port {
99 panel_in: endpoint {
100 remote-endpoint = <&dsi0_out>;
101 };
102 };
103 };
104};
105
106&dsi0_in {
107 remote-endpoint = <&mdp_dsi1_out>;
108};
109
110&dsi0_out {
111 remote-endpoint = <&panel_in>;
112 data-lanes = <0 1 2 3>;
113};
114
115&dsi0_phy {
116 vddio-supply = <&pm8921_lvs7>;/*VDD_PLL2_1 to 7*/
117 status = "okay";
118};
119
120&gsbi1 {
121 qcom,mode = <GSBI_PROT_I2C>;
122 status = "okay";
123};
124
125&gsbi1_i2c {
126 status = "okay";
127 clock-frequency = <200000>;
128 pinctrl-0 = <&i2c1_pins>;
129 pinctrl-names = "default";
130
131 eeprom@52 {
132 compatible = "atmel,24c128";
133 reg = <0x52>;
134 pagesize = <32>;
135 };
136
137 bq27541@55 {
138 compatible = "ti,bq27541";
139 reg = <0x55>;
140 };
141
142};
143
144&gsbi3 {
145 qcom,mode = <GSBI_PROT_I2C>;
146 status = "okay";
147};
148
149&gsbi3_i2c {
150 clock-frequency = <200000>;
151 pinctrl-0 = <&i2c3_pins>;
152 pinctrl-names = "default";
153 status = "okay";
154
155 trackpad@10 {
156 compatible = "elan,ekth3500";
157 reg = <0x10>;
158 interrupt-parent = <&tlmm_pinmux>;
159 interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
160 };
161};
162
163&gsbi6 {
164 qcom,mode = <GSBI_PROT_I2C_UART>;
165 status = "okay";
166};
167
168&gsbi6_serial {
169 pinctrl-names = "default";
170 pinctrl-0 = <&gsbi6_uart_4pins>;
171 status = "okay";
172};
173
174&gsbi7 {
175 qcom,mode = <GSBI_PROT_I2C_UART>;
176 status = "okay";
177};
178
179&gsbi7_serial {
180 status = "okay";
181};
182
183&mdp {
184 status = "okay";
185};
186
Tom Rini53633a82024-02-29 12:33:36 -0500187&mdp_dsi1_out {
188 remote-endpoint = <&dsi0_in>;
189};
190
Tom Rini93743d22024-04-01 09:08:13 -0400191&pm8821 {
192 interrupts-extended = <&tlmm_pinmux 76 IRQ_TYPE_LEVEL_LOW>;
193};
194
195&pm8921 {
196 interrupts-extended = <&tlmm_pinmux 74 IRQ_TYPE_LEVEL_LOW>;
197};
198
Tom Rini53633a82024-02-29 12:33:36 -0500199&rpm {
200 regulators {
Tom Rini93743d22024-04-01 09:08:13 -0400201 compatible = "qcom,rpm-pm8921-regulators";
202
Tom Rini53633a82024-02-29 12:33:36 -0500203 vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
204 vin_lvs1_3_6-supply = <&pm8921_s4>;
205 vin_lvs4_5_7-supply = <&pm8921_s4>;
206
Tom Rini53633a82024-02-29 12:33:36 -0500207 vdd_l24-supply = <&pm8921_s1>;
208 vdd_l25-supply = <&pm8921_s1>;
209 vin_lvs2-supply = <&pm8921_s1>;
210
211 vdd_l26-supply = <&pm8921_s7>;
212 vdd_l27-supply = <&pm8921_s7>;
213 vdd_l28-supply = <&pm8921_s7>;
214
215 vdd_ncp-supply = <&pm8921_l6>;
216
217 /* Buck SMPS */
Tom Rini93743d22024-04-01 09:08:13 -0400218 pm8921_s1: s1 {
Tom Rini53633a82024-02-29 12:33:36 -0500219 regulator-always-on;
220 regulator-min-microvolt = <1225000>;
221 regulator-max-microvolt = <1225000>;
222 qcom,switch-mode-frequency = <3200000>;
223 bias-pull-down;
224 };
225
226 /* msm otg HSUSB_VDDCX */
Tom Rini93743d22024-04-01 09:08:13 -0400227 pm8921_s3: s3 {
Tom Rini53633a82024-02-29 12:33:36 -0500228 regulator-min-microvolt = <500000>;
229 regulator-max-microvolt = <1150000>;
230 qcom,switch-mode-frequency = <4800000>;
231 };
232
233 /*
234 * msm_sdcc.1-sdc-vdd_io
235 * tabla2x-slim-CDC_VDDA_RX
236 * tabla2x-slim-CDC_VDDA_TX
237 * tabla2x-slim-CDC_VDD_CP
238 * tabla2x-slim-VDDIO_CDC
239 */
Tom Rini93743d22024-04-01 09:08:13 -0400240 pm8921_s4: s4 {
Tom Rini53633a82024-02-29 12:33:36 -0500241 regulator-min-microvolt = <1800000>;
242 regulator-max-microvolt = <1800000>;
243 qcom,switch-mode-frequency = <3200000>;
244 regulator-always-on;
245 };
246
Tom Rini93743d22024-04-01 09:08:13 -0400247 pm8921_s7: s7 {
Tom Rini53633a82024-02-29 12:33:36 -0500248 regulator-min-microvolt = <1300000>;
249 regulator-max-microvolt = <1300000>;
250 qcom,switch-mode-frequency = <3200000>;
251 };
252
253 /* mipi_dsi.1-dsi1_pll_vdda */
Tom Rini93743d22024-04-01 09:08:13 -0400254 pm8921_l2: l2 {
Tom Rini53633a82024-02-29 12:33:36 -0500255 regulator-min-microvolt = <1200000>;
256 regulator-max-microvolt = <1200000>;
257 regulator-always-on;
258 };
259
260 /* msm_otg-HSUSB_3p3 */
Tom Rini93743d22024-04-01 09:08:13 -0400261 pm8921_l3: l3 {
Tom Rini53633a82024-02-29 12:33:36 -0500262 regulator-min-microvolt = <3075000>;
263 regulator-max-microvolt = <3075000>;
264 bias-pull-down;
265 };
266
267 /* msm_otg-HSUSB_1p8 */
Tom Rini93743d22024-04-01 09:08:13 -0400268 pm8921_l4: l4 {
Tom Rini53633a82024-02-29 12:33:36 -0500269 regulator-min-microvolt = <1800000>;
270 regulator-max-microvolt = <1800000>;
271 bias-pull-down;
272 };
273
274 /* msm_sdcc.1-sdc_vdd */
Tom Rini93743d22024-04-01 09:08:13 -0400275 pm8921_l5: l5 {
Tom Rini53633a82024-02-29 12:33:36 -0500276 regulator-min-microvolt = <2950000>;
277 regulator-max-microvolt = <2950000>;
278 regulator-always-on;
279 bias-pull-down;
280 };
281
Tom Rini93743d22024-04-01 09:08:13 -0400282 pm8921_l6: l6 {
Tom Rini53633a82024-02-29 12:33:36 -0500283 regulator-min-microvolt = <2950000>;
284 regulator-max-microvolt = <2950000>;
285 };
286
Tom Rini93743d22024-04-01 09:08:13 -0400287 pm8921_l8: l8 {
288 };
289
Tom Rini53633a82024-02-29 12:33:36 -0500290 /* mipi_dsi.1-dsi1_avdd */
Tom Rini93743d22024-04-01 09:08:13 -0400291 pm8921_l11: l11 {
Tom Rini53633a82024-02-29 12:33:36 -0500292 regulator-min-microvolt = <3000000>;
293 regulator-max-microvolt = <3000000>;
294 bias-pull-down;
295 regulator-always-on;
296 };
297
298 /* pwm_power for backlight */
Tom Rini93743d22024-04-01 09:08:13 -0400299 pm8921_l17: l17 {
Tom Rini53633a82024-02-29 12:33:36 -0500300 regulator-min-microvolt = <3000000>;
301 regulator-max-microvolt = <3000000>;
302 regulator-always-on;
303 };
304
305 /* camera, qdsp6 */
Tom Rini93743d22024-04-01 09:08:13 -0400306 pm8921_l23: l23 {
Tom Rini53633a82024-02-29 12:33:36 -0500307 regulator-min-microvolt = <1800000>;
308 regulator-max-microvolt = <1800000>;
309 bias-pull-down;
310 };
311
312 /*
313 * tabla2x-slim-CDC_VDDA_A_1P2V
314 * tabla2x-slim-VDDD_CDC_D
315 */
Tom Rini93743d22024-04-01 09:08:13 -0400316 pm8921_l25: l25 {
Tom Rini53633a82024-02-29 12:33:36 -0500317 regulator-min-microvolt = <1250000>;
318 regulator-max-microvolt = <1250000>;
319 bias-pull-down;
320 };
321
Tom Rini93743d22024-04-01 09:08:13 -0400322 pm8921_lvs1: lvs1 {
Tom Rini53633a82024-02-29 12:33:36 -0500323 bias-pull-down;
324 };
325
Tom Rini93743d22024-04-01 09:08:13 -0400326 pm8921_lvs4: lvs4 {
Tom Rini53633a82024-02-29 12:33:36 -0500327 bias-pull-down;
328 };
329
Tom Rini93743d22024-04-01 09:08:13 -0400330 pm8921_lvs5: lvs5 {
Tom Rini53633a82024-02-29 12:33:36 -0500331 bias-pull-down;
332 };
333
Tom Rini93743d22024-04-01 09:08:13 -0400334 pm8921_lvs6: lvs6 {
Tom Rini53633a82024-02-29 12:33:36 -0500335 bias-pull-down;
336 };
337 /*
338 * mipi_dsi.1-dsi1_vddio
339 * pil_riva-pll_vdd
340 */
Tom Rini93743d22024-04-01 09:08:13 -0400341 pm8921_lvs7: lvs7 {
Tom Rini53633a82024-02-29 12:33:36 -0500342 bias-pull-down;
343 };
344 };
345};
346
Tom Rini93743d22024-04-01 09:08:13 -0400347/* eMMC */
348&sdcc1 {
349 vmmc-supply = <&pm8921_l5>;
350 vqmmc-supply = <&pm8921_s4>;
351 status = "okay";
352};
353
Tom Rini53633a82024-02-29 12:33:36 -0500354&usb_hs1_phy {
355 v3p3-supply = <&pm8921_l3>;
356 v1p8-supply = <&pm8921_l4>;
357};
358
359/* OTG */
360&usb1 {
361 dr_mode = "otg";
362 status = "okay";
363};