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