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