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