xref: /linux/arch/arm/boot/dts/qcom/qcom-apq8064-ifc6410.dts (revision 42874e4eb35bdfc54f8514685e50434098ba4f6c)
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/leds/common.h>
5#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
6
7/ {
8	model = "Qualcomm APQ8064/IFC6410";
9	compatible = "qcom,apq8064-ifc6410", "qcom,apq8064";
10
11	aliases {
12		serial0 = &gsbi7_serial;
13		serial1 = &gsbi6_serial;
14		i2c0 = &gsbi1_i2c;
15		i2c1 = &gsbi2_i2c;
16		i2c2 = &gsbi3_i2c;
17		i2c3 = &gsbi4_i2c;
18		spi0 = &gsbi5_spi;
19	};
20
21	chosen {
22		stdout-path = "serial0:115200n8";
23	};
24
25	leds {
26		compatible = "gpio-leds";
27		pinctrl-names = "default";
28		pinctrl-0 = <&notify_led>;
29
30		led-user1 {
31			label = "apq8064:green:user1";
32			color = <LED_COLOR_ID_GREEN>;
33			gpios = <&pm8921_gpio 18 GPIO_ACTIVE_HIGH>;
34			default-state = "on";
35		};
36	};
37
38	hdmi-out {
39		compatible = "hdmi-connector";
40		type = "d";
41
42		port {
43			hdmi_con: endpoint {
44				remote-endpoint = <&hdmi_out>;
45			};
46		};
47	};
48
49	sdcc4_pwrseq: pwrseq-sdcc4 {
50		pinctrl-names = "default";
51		pinctrl-0 = <&wlan_default_gpios>;
52		compatible = "mmc-pwrseq-simple";
53		reset-gpios = <&pm8921_gpio 43 GPIO_ACTIVE_LOW>;
54	};
55
56	ext_3p3v: regulator-ext-3p3v {
57		compatible = "regulator-fixed";
58		regulator-min-microvolt = <3300000>;
59		regulator-max-microvolt = <3300000>;
60		regulator-name = "ext_3p3v";
61		startup-delay-us = <0>;
62		gpio = <&tlmm_pinmux 77 GPIO_ACTIVE_HIGH>;
63		enable-active-high;
64		regulator-boot-on;
65	};
66};
67
68&gsbi1 {
69	qcom,mode = <GSBI_PROT_I2C>;
70	status = "okay";
71};
72
73&gsbi1_i2c {
74	clock-frequency = <200000>;
75	status = "okay";
76
77	eeprom@52 {
78		compatible = "atmel,24c128";
79		reg = <0x52>;
80		pagesize = <32>;
81	};
82};
83
84&gsbi3 {
85	qcom,mode = <GSBI_PROT_I2C>;
86	status = "okay";
87};
88
89&gsbi3_i2c {
90	status = "okay";
91};
92
93&gsbi4 {
94	qcom,mode = <GSBI_PROT_I2C>;
95	status = "okay";
96};
97
98/* CAM I2C MIPI-CSI connector */
99&gsbi4_i2c {
100	status = "okay";
101};
102
103&gsbi5 {
104	qcom,mode = <GSBI_PROT_SPI>;
105	status = "okay";
106};
107
108&gsbi5_spi {
109	num-cs = <1>;
110	cs-gpios = <&tlmm_pinmux 53 0>;
111	status = "okay";
112};
113
114&gsbi6 {
115	qcom,mode = <GSBI_PROT_UART_W_FC>;
116	status = "okay";
117};
118
119&gsbi6_serial {
120	pinctrl-names = "default";
121	pinctrl-0 = <&gsbi6_uart_4pins>;
122	status = "okay";
123};
124
125&gsbi7 {
126	qcom,mode = <GSBI_PROT_I2C_UART>;
127	status = "okay";
128};
129
130&gsbi7_serial {
131	pinctrl-names = "default";
132	pinctrl-0 = <&gsbi7_uart_2pins>;
133	status = "okay";
134};
135
136&hdmi {
137	core-vdda-supply = <&pm8921_hdmi_switch>;
138	hpd-gpios = <&tlmm_pinmux 72 GPIO_ACTIVE_HIGH>;
139	status = "okay";
140};
141
142&hdmi_in {
143	remote-endpoint = <&mdp_dtv_out>;
144};
145
146&hdmi_out {
147	remote-endpoint = <&hdmi_con>;
148};
149
150&hdmi_phy {
151	status = "okay";
152	core-vdda-supply = <&pm8921_hdmi_switch>;
153};
154
155&mdp {
156	status = "okay";
157};
158
159&mdp_dtv_out {
160	remote-endpoint = <&hdmi_in>;
161};
162
163&pcie {
164	status = "okay";
165	vdda-supply = <&pm8921_s3>;
166	vdda_phy-supply = <&pm8921_lvs6>;
167	vdda_refclk-supply = <&ext_3p3v>;
168	pinctrl-0 = <&pcie_pins>;
169	pinctrl-names = "default";
170	perst-gpios = <&tlmm_pinmux 27 GPIO_ACTIVE_LOW>;
171};
172
173&pm8921_gpio {
174	wlan_default_gpios: wlan-gpios-state {
175		pinconf {
176			pins = "gpio43";
177			function = "normal";
178			bias-disable;
179			power-source = <PM8921_GPIO_S4>;
180		};
181	};
182
183	notify_led: nled-state {
184		pinconf {
185			pins = "gpio18";
186			function = "normal";
187			bias-disable;
188			power-source = <PM8921_GPIO_S4>;
189		};
190	};
191};
192
193&rpm {
194	regulators {
195		vin_lvs1_3_6-supply = <&pm8921_s4>;
196		vin_lvs2-supply = <&pm8921_s1>;
197		vin_lvs4_5_7-supply = <&pm8921_s4>;
198
199		vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
200		vdd_l24-supply = <&pm8921_s1>;
201		vdd_l25-supply = <&pm8921_s1>;
202		vdd_l26-supply = <&pm8921_s7>;
203		vdd_l27-supply = <&pm8921_s7>;
204		vdd_l28-supply = <&pm8921_s7>;
205
206
207		/* Buck SMPS */
208		s1 {
209			regulator-always-on;
210			regulator-min-microvolt = <1225000>;
211			regulator-max-microvolt = <1225000>;
212			qcom,switch-mode-frequency = <3200000>;
213			bias-pull-down;
214		};
215
216		s3 {
217			regulator-min-microvolt = <1000000>;
218			regulator-max-microvolt = <1400000>;
219			qcom,switch-mode-frequency = <4800000>;
220		};
221
222		s4 {
223			regulator-min-microvolt = <1800000>;
224			regulator-max-microvolt = <1800000>;
225			qcom,switch-mode-frequency = <3200000>;
226		};
227
228		s7 {
229			regulator-min-microvolt = <1300000>;
230			regulator-max-microvolt = <1300000>;
231			qcom,switch-mode-frequency = <3200000>;
232		};
233
234		l3 {
235			regulator-min-microvolt = <3050000>;
236			regulator-max-microvolt = <3300000>;
237			bias-pull-down;
238		};
239
240		l4 {
241			regulator-min-microvolt = <1000000>;
242			regulator-max-microvolt = <1800000>;
243			bias-pull-down;
244		};
245
246		l5 {
247			regulator-min-microvolt = <2750000>;
248			regulator-max-microvolt = <3000000>;
249			bias-pull-down;
250		};
251
252		l6 {
253			regulator-min-microvolt = <2950000>;
254			regulator-max-microvolt = <2950000>;
255			bias-pull-down;
256		};
257
258		l23 {
259			regulator-min-microvolt = <1700000>;
260			regulator-max-microvolt = <1900000>;
261			bias-pull-down;
262		};
263
264		lvs1 {
265			bias-pull-down;
266		};
267
268		lvs6 {
269			bias-pull-down;
270		};
271	};
272};
273
274&sata_phy0 {
275	status = "okay";
276};
277
278&sata0 {
279	target-supply = <&pm8921_s4>;
280	status = "okay";
281};
282
283/* eMMC */
284&sdcc1 {
285	vmmc-supply = <&pm8921_l5>;
286	vqmmc-supply = <&pm8921_s4>;
287	status = "okay";
288};
289
290/* External micro SD card */
291&sdcc3 {
292	vmmc-supply = <&pm8921_l6>;
293	pinctrl-names = "default";
294	pinctrl-0 = <&card_detect>;
295	cd-gpios = <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>;
296	status = "okay";
297};
298
299/* WLAN */
300&sdcc4 {
301	vmmc-supply = <&ext_3p3v>;
302	vqmmc-supply = <&pm8921_lvs1>;
303	mmc-pwrseq = <&sdcc4_pwrseq>;
304	status = "okay";
305};
306
307&tlmm_pinmux {
308	card_detect: card_detect {
309		mux {
310			pins = "gpio26";
311			function = "gpio";
312			bias-disable;
313		};
314	};
315
316	pcie_pins: pcie_pinmux {
317		mux {
318			pins = "gpio27";
319			function = "gpio";
320		};
321		conf {
322			pins = "gpio27";
323			drive-strength = <12>;
324			bias-disable;
325		};
326	};
327};
328
329&usb_hs1_phy {
330	v3p3-supply = <&pm8921_l3>;
331	v1p8-supply = <&pm8921_l4>;
332};
333
334&usb_hs3_phy {
335	v3p3-supply = <&pm8921_l3>;
336	v1p8-supply = <&pm8921_l23>;
337};
338
339&usb_hs4_phy {
340	v3p3-supply = <&pm8921_l3>;
341	v1p8-supply = <&pm8921_l23>;
342};
343
344/* OTG */
345&usb1 {
346	dr_mode = "otg";
347	status = "okay";
348};
349
350&usb3 {
351	dr_mode = "host";
352	status = "okay";
353};
354
355&usb4 {
356	dr_mode = "host";
357	status = "okay";
358};
359