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