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