Linux Audio

Check our new training course

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