• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (c) 2015, The Linux Foundation. All rights reserved.
4 */
5
6/dts-v1/;
7
8#include "msm8916-pm8916.dtsi"
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/input/input.h>
11#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
12#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
13#include <dt-bindings/sound/apq8016-lpass.h>
14
15/ {
16	model = "Qualcomm Technologies, Inc. APQ 8016 SBC";
17	compatible = "qcom,apq8016-sbc", "qcom,apq8016";
18
19	aliases {
20		serial0 = &blsp1_uart2;
21		serial1 = &blsp1_uart1;
22		usid0 = &pm8916_0;
23		i2c0	= &blsp_i2c2;
24		i2c1	= &blsp_i2c6;
25		i2c3	= &blsp_i2c4;
26		spi0	= &blsp_spi5;
27		spi1	= &blsp_spi3;
28	};
29
30	chosen {
31		stdout-path = "serial0";
32	};
33
34	camera_vdddo_1v8: camera-vdddo-1v8 {
35		compatible = "regulator-fixed";
36		regulator-name = "camera_vdddo";
37		regulator-min-microvolt = <1800000>;
38		regulator-max-microvolt = <1800000>;
39		regulator-always-on;
40	};
41
42	camera_vdda_2v8: camera-vdda-2v8 {
43		compatible = "regulator-fixed";
44		regulator-name = "camera_vdda";
45		regulator-min-microvolt = <2800000>;
46		regulator-max-microvolt = <2800000>;
47		regulator-always-on;
48	};
49
50	camera_vddd_1v5: camera-vddd-1v5 {
51		compatible = "regulator-fixed";
52		regulator-name = "camera_vddd";
53		regulator-min-microvolt = <1500000>;
54		regulator-max-microvolt = <1500000>;
55		regulator-always-on;
56	};
57
58	reserved-memory {
59		ramoops@bff00000 {
60			compatible = "ramoops";
61			reg = <0x0 0xbff00000 0x0 0x100000>;
62
63			record-size = <0x20000>;
64			console-size = <0x20000>;
65			ftrace-size = <0x20000>;
66		};
67	};
68
69	usb2513 {
70		compatible = "smsc,usb3503";
71		reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>;
72		initial-mode = <1>;
73	};
74
75	usb_id: usb-id {
76		compatible = "linux,extcon-usb-gpio";
77		id-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>;
78		pinctrl-names = "default";
79		pinctrl-0 = <&usb_id_default>;
80	};
81
82	hdmi-out {
83		compatible = "hdmi-connector";
84		type = "a";
85
86		port {
87			hdmi_con: endpoint {
88				remote-endpoint = <&adv7533_out>;
89			};
90		};
91	};
92
93	gpio-keys {
94		compatible = "gpio-keys";
95		#address-cells = <1>;
96		#size-cells = <0>;
97		autorepeat;
98
99		pinctrl-names = "default";
100		pinctrl-0 = <&msm_key_volp_n_default>;
101
102		button@0 {
103			label = "Volume Up";
104			linux,code = <KEY_VOLUMEUP>;
105			gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
106		};
107	};
108
109	leds {
110		pinctrl-names = "default";
111		pinctrl-0 = <&msmgpio_leds>,
112			    <&pm8916_gpios_leds>,
113			    <&pm8916_mpps_leds>;
114
115		compatible = "gpio-leds";
116
117		led@1 {
118			label = "apq8016-sbc:green:user1";
119			gpios = <&msmgpio 21 GPIO_ACTIVE_HIGH>;
120			linux,default-trigger = "heartbeat";
121			default-state = "off";
122		};
123
124		led@2 {
125			label = "apq8016-sbc:green:user2";
126			gpios = <&msmgpio 120 GPIO_ACTIVE_HIGH>;
127			linux,default-trigger = "mmc0";
128			default-state = "off";
129		};
130
131		led@3 {
132			label = "apq8016-sbc:green:user3";
133			gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>;
134			linux,default-trigger = "mmc1";
135			default-state = "off";
136		};
137
138		led@4 {
139			label = "apq8016-sbc:green:user4";
140			gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>;
141			linux,default-trigger = "none";
142			panic-indicator;
143			default-state = "off";
144		};
145
146		led@5 {
147			label = "apq8016-sbc:yellow:wlan";
148			gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>;
149			linux,default-trigger = "phy0tx";
150			default-state = "off";
151		};
152
153		led@6 {
154			label = "apq8016-sbc:blue:bt";
155			gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>;
156			linux,default-trigger = "bluetooth-power";
157			default-state = "off";
158		};
159	};
160};
161
162&blsp_dma {
163	status = "okay";
164};
165
166&blsp_i2c2 {
167	/* On Low speed expansion */
168	status = "okay";
169	label = "LS-I2C0";
170};
171
172&blsp_i2c4 {
173	/* On High speed expansion */
174	status = "okay";
175	label = "HS-I2C2";
176
177	adv_bridge: bridge@39 {
178		status = "okay";
179
180		compatible = "adi,adv7533";
181		reg = <0x39>;
182
183		interrupt-parent = <&msmgpio>;
184		interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
185
186		adi,dsi-lanes = <4>;
187		clocks = <&rpmcc RPM_SMD_BB_CLK2>;
188		clock-names = "cec";
189
190		pd-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
191
192		avdd-supply = <&pm8916_l6>;
193		a2vdd-supply = <&pm8916_l6>;
194		dvdd-supply = <&pm8916_l6>;
195		pvdd-supply = <&pm8916_l6>;
196		v1p2-supply = <&pm8916_l6>;
197		v3p3-supply = <&pm8916_l17>;
198
199		pinctrl-names = "default","sleep";
200		pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
201		pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
202		#sound-dai-cells = <1>;
203
204		ports {
205			#address-cells = <1>;
206			#size-cells = <0>;
207
208			port@0 {
209				reg = <0>;
210				adv7533_in: endpoint {
211					remote-endpoint = <&dsi0_out>;
212				};
213			};
214
215			port@1 {
216				reg = <1>;
217				adv7533_out: endpoint {
218					remote-endpoint = <&hdmi_con>;
219				};
220			};
221		};
222	};
223};
224
225&blsp_i2c6 {
226	/* On Low speed expansion */
227	status = "okay";
228	label = "LS-I2C1";
229};
230
231&blsp_spi3 {
232	/* On High speed expansion */
233	status = "okay";
234	label = "HS-SPI1";
235};
236
237&blsp_spi5 {
238	/* On Low speed expansion */
239	status = "okay";
240	label = "LS-SPI0";
241};
242
243&blsp1_uart1 {
244	status = "okay";
245	label = "LS-UART0";
246};
247
248&blsp1_uart2 {
249	status = "okay";
250	label = "LS-UART1";
251};
252
253&camss {
254	status = "okay";
255	ports {
256		port@0 {
257			reg = <0>;
258			csiphy0_ep: endpoint {
259				clock-lanes = <1>;
260				data-lanes = <0 2>;
261				remote-endpoint = <&ov5640_ep>;
262				status = "okay";
263			};
264		};
265	};
266};
267
268&cci {
269	status = "okay";
270};
271
272&cci_i2c0 {
273	camera_rear@3b {
274		compatible = "ovti,ov5640";
275		reg = <0x3b>;
276
277		enable-gpios = <&msmgpio 34 GPIO_ACTIVE_HIGH>;
278		reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
279		pinctrl-names = "default";
280		pinctrl-0 = <&camera_rear_default>;
281
282		clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
283		clock-names = "xclk";
284		clock-frequency = <23880000>;
285
286		DOVDD-supply = <&camera_vdddo_1v8>;
287		AVDD-supply = <&camera_vdda_2v8>;
288		DVDD-supply = <&camera_vddd_1v5>;
289
290		/* No camera mezzanine by default */
291		status = "disabled";
292
293		port {
294			ov5640_ep: endpoint {
295				clock-lanes = <1>;
296				data-lanes = <0 2>;
297				remote-endpoint = <&csiphy0_ep>;
298			};
299		};
300	};
301};
302
303&dsi0_out {
304	data-lanes = <0 1 2 3>;
305	remote-endpoint = <&adv7533_in>;
306};
307
308&lpass {
309	status = "okay";
310};
311
312&mdss {
313	status = "okay";
314};
315
316&mpss {
317	status = "okay";
318
319	firmware-name = "qcom/apq8016/mba.mbn", "qcom/apq8016/modem.mbn";
320};
321
322&pm8916_resin {
323	status = "okay";
324	linux,code = <KEY_VOLUMEDOWN>;
325};
326
327&pronto {
328	status = "okay";
329
330	firmware-name = "qcom/apq8016/wcnss.mbn";
331};
332
333&sdhc_1 {
334	status = "okay";
335
336	pinctrl-names = "default", "sleep";
337	pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
338	pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
339};
340
341&sdhc_2 {
342	status = "okay";
343
344	pinctrl-names = "default", "sleep";
345	pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
346	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
347
348	cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
349};
350
351&sound {
352	status = "okay";
353
354	pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>;
355	pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>;
356	pinctrl-names = "default", "sleep";
357	qcom,model = "DB410c";
358	qcom,audio-routing =
359		"AMIC2", "MIC BIAS Internal2",
360		"AMIC3", "MIC BIAS External1";
361
362	external-dai-link@0 {
363		link-name = "ADV7533";
364		cpu {
365			sound-dai = <&lpass MI2S_QUATERNARY>;
366		};
367		codec {
368			sound-dai = <&adv_bridge 0>;
369		};
370	};
371
372	internal-codec-playback-dai-link@0 {
373		link-name = "WCD";
374		cpu {
375			sound-dai = <&lpass MI2S_PRIMARY>;
376		};
377		codec {
378			sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
379		};
380	};
381
382	internal-codec-capture-dai-link@0 {
383		link-name = "WCD-Capture";
384		cpu {
385			sound-dai = <&lpass MI2S_TERTIARY>;
386		};
387		codec {
388			sound-dai = <&lpass_codec 1>, <&wcd_codec 1>;
389		};
390	};
391};
392
393&usb {
394	status = "okay";
395	extcon = <&usb_id>, <&usb_id>;
396
397	pinctrl-names = "default", "device";
398	pinctrl-0 = <&usb_sw_sel_pm &usb_hub_reset_pm>;
399	pinctrl-1 = <&usb_sw_sel_pm_device &usb_hub_reset_pm_device>;
400};
401
402&usb_hs_phy {
403	extcon = <&usb_id>;
404};
405
406&wcd_codec {
407	clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
408	clock-names = "mclk";
409	qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
410	qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
411};
412
413&wcnss_ctrl {
414	firmware-name = "qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin";
415};
416
417/* Enable CoreSight */
418&cti0 { status = "okay"; };
419&cti1 { status = "okay"; };
420&cti12 { status = "okay"; };
421&cti13 { status = "okay"; };
422&cti14 { status = "okay"; };
423&cti15 { status = "okay"; };
424&debug0 { status = "okay"; };
425&debug1 { status = "okay"; };
426&debug2 { status = "okay"; };
427&debug3 { status = "okay"; };
428&etf { status = "okay"; };
429&etm0 { status = "okay"; };
430&etm1 { status = "okay"; };
431&etm2 { status = "okay"; };
432&etm3 { status = "okay"; };
433&etr { status = "okay"; };
434&funnel0 { status = "okay"; };
435&funnel1 { status = "okay"; };
436&replicator { status = "okay"; };
437&stm { status = "okay"; };
438&tpiu { status = "okay"; };
439
440&smd_rpm_regulators {
441	vdd_l1_l2_l3-supply = <&pm8916_s3>;
442	vdd_l4_l5_l6-supply = <&pm8916_s4>;
443	vdd_l7-supply = <&pm8916_s4>;
444
445	s3 {
446		regulator-min-microvolt = <1250000>;
447		regulator-max-microvolt = <1350000>;
448	};
449
450	s4 {
451		regulator-min-microvolt = <1850000>;
452		regulator-max-microvolt = <2150000>;
453
454		regulator-always-on;
455		regulator-boot-on;
456	};
457
458	l1 {
459		regulator-min-microvolt = <1225000>;
460		regulator-max-microvolt = <1225000>;
461	};
462
463	l2 {
464		regulator-min-microvolt = <1200000>;
465		regulator-max-microvolt = <1200000>;
466	};
467
468	l4 {
469		regulator-min-microvolt = <2050000>;
470		regulator-max-microvolt = <2050000>;
471	};
472
473	l5 {
474		regulator-min-microvolt = <1800000>;
475		regulator-max-microvolt = <1800000>;
476	};
477
478	l6 {
479		regulator-min-microvolt = <1800000>;
480		regulator-max-microvolt = <1800000>;
481	};
482
483	l7 {
484		regulator-min-microvolt = <1800000>;
485		regulator-max-microvolt = <1800000>;
486	};
487
488	l8 {
489		regulator-min-microvolt = <2900000>;
490		regulator-max-microvolt = <2900000>;
491	};
492
493	l9 {
494		regulator-min-microvolt = <3300000>;
495		regulator-max-microvolt = <3300000>;
496	};
497
498	l10 {
499		regulator-min-microvolt = <2800000>;
500		regulator-max-microvolt = <2800000>;
501	};
502
503	l11 {
504		regulator-min-microvolt = <2950000>;
505		regulator-max-microvolt = <2950000>;
506		regulator-allow-set-load;
507		regulator-system-load = <200000>;
508	};
509
510	l12 {
511		regulator-min-microvolt = <1800000>;
512		regulator-max-microvolt = <2950000>;
513	};
514
515	l13 {
516		regulator-min-microvolt = <3075000>;
517		regulator-max-microvolt = <3075000>;
518	};
519
520	l14 {
521		regulator-min-microvolt = <1800000>;
522		regulator-max-microvolt = <3300000>;
523	};
524
525	/*
526	 * The 96Boards specification expects a 1.8V power rail on the low-speed
527	 * expansion connector that is able to provide at least 0.18W / 100 mA.
528	 * L15/L16 are connected in parallel to provide 55 mA each. A minimum load
529	 * must be specified to ensure the regulators are not put in LPM where they
530	 * would only provide 5 mA.
531	 */
532	l15 {
533		regulator-min-microvolt = <1800000>;
534		regulator-max-microvolt = <1800000>;
535		regulator-system-load = <50000>;
536		regulator-allow-set-load;
537		regulator-always-on;
538	};
539
540	l16 {
541		regulator-min-microvolt = <1800000>;
542		regulator-max-microvolt = <1800000>;
543		regulator-system-load = <50000>;
544		regulator-allow-set-load;
545		regulator-always-on;
546	};
547
548	l17 {
549		regulator-min-microvolt = <3300000>;
550		regulator-max-microvolt = <3300000>;
551	};
552
553	l18 {
554		regulator-min-microvolt = <2700000>;
555		regulator-max-microvolt = <2700000>;
556	};
557};
558
559/*
560 * 2mA drive strength is not enough when connecting multiple
561 * I2C devices with different pull up resistors.
562 */
563&i2c2_default {
564	drive-strength = <16>;
565};
566
567&i2c4_default {
568	drive-strength = <16>;
569};
570
571&i2c6_default {
572	drive-strength = <16>;
573};
574
575/*
576 * GPIO name legend: proper name = the GPIO line is used as GPIO
577 *         NC = not connected (pin out but not routed from the chip to
578 *              anything the board)
579 *         "[PER]" = pin is muxed for [peripheral] (not GPIO)
580 *         LSEC = Low Speed External Connector
581 *         HSEC = High Speed External Connector
582 *
583 * Line names are taken from the schematic "DragonBoard410c"
584 * dated monday, august 31, 2015. Page 5 in particular.
585 *
586 * For the lines routed to the external connectors the
587 * lines are named after the 96Boards CE Specification 1.0,
588 * Appendix "Expansion Connector Signal Description".
589 *
590 * When the 96Board naming of a line and the schematic name of
591 * the same line are in conflict, the 96Board specification
592 * takes precedence, which means that the external UART on the
593 * LSEC is named UART0 while the schematic and SoC names this
594 * UART3. This is only for the informational lines i.e. "[FOO]",
595 * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only
596 * ones actually used for GPIO.
597 */
598
599&msmgpio {
600	gpio-line-names =
601		"[UART0_TX]", /* GPIO_0, LSEC pin 5 */
602		"[UART0_RX]", /* GPIO_1, LSEC pin 7 */
603		"[UART0_CTS_N]", /* GPIO_2, LSEC pin 3 */
604		"[UART0_RTS_N]", /* GPIO_3, LSEC pin 9 */
605		"[UART1_TX]", /* GPIO_4, LSEC pin 11 */
606		"[UART1_RX]", /* GPIO_5, LSEC pin 13 */
607		"[I2C0_SDA]", /* GPIO_8, LSEC pin 17 */
608		"[I2C0_SCL]", /* GPIO_7, LSEC pin 15 */
609		"[SPI1_DOUT]", /* SPI1_MOSI, HSEC pin 1 */
610		"[SPI1_DIN]", /* SPI1_MISO, HSEC pin 11 */
611		"[SPI1_CS]", /* SPI1_CS_N, HSEC pin 7 */
612		"[SPI1_SCLK]", /* SPI1_CLK, HSEC pin 9 */
613		"GPIO-B", /* LS_EXP_GPIO_B, LSEC pin 24 */
614		"GPIO-C", /* LS_EXP_GPIO_C, LSEC pin 25 */
615		"[I2C3_SDA]", /* HSEC pin 38 */
616		"[I2C3_SCL]", /* HSEC pin 36 */
617		"[SPI0_MOSI]", /* LSEC pin 14 */
618		"[SPI0_MISO]", /* LSEC pin 10 */
619		"[SPI0_CS_N]", /* LSEC pin 12 */
620		"[SPI0_CLK]", /* LSEC pin 8 */
621		"HDMI_HPD_N", /* GPIO 20 */
622		"USR_LED_1_CTRL",
623		"[I2C1_SDA]", /* GPIO_22, LSEC pin 21 */
624		"[I2C1_SCL]", /* GPIO_23, LSEC pin 19 */
625		"GPIO-G", /* LS_EXP_GPIO_G, LSEC pin 29 */
626		"GPIO-H", /* LS_EXP_GPIO_H, LSEC pin 30 */
627		"[CSI0_MCLK]", /* HSEC pin 15 */
628		"[CSI1_MCLK]", /* HSEC pin 17 */
629		"GPIO-K", /* LS_EXP_GPIO_K, LSEC pin 33 */
630		"[I2C2_SDA]", /* HSEC pin 34 */
631		"[I2C2_SCL]", /* HSEC pin 32 */
632		"DSI2HDMI_INT_N",
633		"DSI_SW_SEL_APQ",
634		"GPIO-L", /* LS_EXP_GPIO_L, LSEC pin 34 */
635		"GPIO-J", /* LS_EXP_GPIO_J, LSEC pin 32 */
636		"GPIO-I", /* LS_EXP_GPIO_I, LSEC pin 31 */
637		"GPIO-A", /* LS_EXP_GPIO_A, LSEC pin 23 */
638		"FORCED_USB_BOOT",
639		"SD_CARD_DET_N",
640		"[WCSS_BT_SSBI]",
641		"[WCSS_WLAN_DATA_2]", /* GPIO 40 */
642		"[WCSS_WLAN_DATA_1]",
643		"[WCSS_WLAN_DATA_0]",
644		"[WCSS_WLAN_SET]",
645		"[WCSS_WLAN_CLK]",
646		"[WCSS_FM_SSBI]",
647		"[WCSS_FM_SDI]",
648		"[WCSS_BT_DAT_CTL]",
649		"[WCSS_BT_DAT_STB]",
650		"NC",
651		"NC", /* GPIO 50 */
652		"NC",
653		"NC",
654		"NC",
655		"NC",
656		"NC",
657		"NC",
658		"NC",
659		"NC",
660		"NC",
661		"NC", /* GPIO 60 */
662		"NC",
663		"NC",
664		"[CDC_PDM0_CLK]",
665		"[CDC_PDM0_SYNC]",
666		"[CDC_PDM0_TX0]",
667		"[CDC_PDM0_RX0]",
668		"[CDC_PDM0_RX1]",
669		"[CDC_PDM0_RX2]",
670		"GPIO-D", /* LS_EXP_GPIO_D, LSEC pin 26 */
671		"NC", /* GPIO 70 */
672		"NC",
673		"NC",
674		"NC",
675		"NC", /* GPIO 74 */
676		"NC",
677		"NC",
678		"NC",
679		"NC",
680		"NC",
681		"BOOT_CONFIG_0", /* GPIO 80 */
682		"BOOT_CONFIG_1",
683		"BOOT_CONFIG_2",
684		"BOOT_CONFIG_3",
685		"NC",
686		"NC",
687		"BOOT_CONFIG_5",
688		"NC",
689		"NC",
690		"NC",
691		"NC", /* GPIO 90 */
692		"NC",
693		"NC",
694		"NC",
695		"NC",
696		"NC",
697		"NC",
698		"NC",
699		"NC",
700		"NC",
701		"NC", /* GPIO 100 */
702		"NC",
703		"NC",
704		"NC",
705		"SSBI_GPS",
706		"NC",
707		"NC",
708		"KEY_VOLP_N",
709		"NC",
710		"NC",
711		"[LS_EXP_MI2S_WS]", /* GPIO 110 */
712		"NC",
713		"NC",
714		"[LS_EXP_MI2S_SCK]",
715		"[LS_EXP_MI2S_DATA0]",
716		"GPIO-E", /* LS_EXP_GPIO_E, LSEC pin 27 */
717		"NC",
718		"[DSI2HDMI_MI2S_WS]",
719		"[DSI2HDMI_MI2S_SCK]",
720		"[DSI2HDMI_MI2S_DATA0]",
721		"USR_LED_2_CTRL", /* GPIO 120 */
722		"SB_HS_ID";
723
724	msmgpio_leds: msmgpio-leds {
725		pins = "gpio21", "gpio120";
726		function = "gpio";
727
728		output-low;
729	};
730
731	usb_id_default: usb-id-default {
732		pins = "gpio121";
733		function = "gpio";
734
735		drive-strength = <8>;
736		input-enable;
737		bias-pull-up;
738	};
739
740	adv7533_int_active: adv533-int-active {
741		pins = "gpio31";
742		function = "gpio";
743
744		drive-strength = <16>;
745		bias-disable;
746	};
747
748	adv7533_int_suspend: adv7533-int-suspend {
749		pins = "gpio31";
750		function = "gpio";
751
752		drive-strength = <2>;
753		bias-disable;
754	};
755
756	adv7533_switch_active: adv7533-switch-active {
757		pins = "gpio32";
758		function = "gpio";
759
760		drive-strength = <16>;
761		bias-disable;
762	};
763
764	adv7533_switch_suspend: adv7533-switch-suspend {
765		pins = "gpio32";
766		function = "gpio";
767
768		drive-strength = <2>;
769		bias-disable;
770	};
771
772	msm_key_volp_n_default: msm-key-volp-n-default {
773		pins = "gpio107";
774		function = "gpio";
775
776		drive-strength = <8>;
777		input-enable;
778		bias-pull-up;
779	};
780};
781
782&pm8916_gpios {
783	gpio-line-names =
784		"USR_LED_3_CTRL",
785		"USR_LED_4_CTRL",
786		"USB_HUB_RESET_N_PM",
787		"USB_SW_SEL_PM";
788
789	usb_hub_reset_pm: usb-hub-reset-pm {
790		pins = "gpio3";
791		function = PMIC_GPIO_FUNC_NORMAL;
792
793		input-disable;
794		output-high;
795	};
796
797	usb_hub_reset_pm_device: usb-hub-reset-pm-device {
798		pins = "gpio3";
799		function = PMIC_GPIO_FUNC_NORMAL;
800
801		output-low;
802	};
803
804	usb_sw_sel_pm: usb-sw-sel-pm {
805		pins = "gpio4";
806		function = PMIC_GPIO_FUNC_NORMAL;
807
808		power-source = <PM8916_GPIO_VPH>;
809		input-disable;
810		output-high;
811	};
812
813	usb_sw_sel_pm_device: usb-sw-sel-pm-device {
814		pins = "gpio4";
815		function = PMIC_GPIO_FUNC_NORMAL;
816
817		power-source = <PM8916_GPIO_VPH>;
818		input-disable;
819		output-low;
820	};
821
822	pm8916_gpios_leds: pm8916-gpios-leds {
823		pins = "gpio1", "gpio2";
824		function = PMIC_GPIO_FUNC_NORMAL;
825
826		output-low;
827	};
828};
829
830&pm8916_mpps {
831	gpio-line-names =
832		"VDD_PX_BIAS",
833		"WLAN_LED_CTRL",
834		"BT_LED_CTRL",
835		"GPIO-F"; /* LS_EXP_GPIO_F, LSEC pin 28 */
836
837	pinctrl-names = "default";
838	pinctrl-0 = <&ls_exp_gpio_f>;
839
840	ls_exp_gpio_f: pm8916-mpp4-state {
841		pins = "mpp4";
842		function = "digital";
843
844		output-low;
845		power-source = <PM8916_MPP_L5>;	// 1.8V
846	};
847
848	pm8916_mpps_leds: pm8916-mpps-state {
849		pins = "mpp2", "mpp3";
850		function = "digital";
851
852		output-low;
853	};
854};
855