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