xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/apq8016-sbc.dtsi (revision 354d7675fe12ace9cde344cb79c7ded792802f88)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * Copyright (c) 2015, The Linux Foundation. All rights reserved.
4c66ec88fSEmmanuel Vadot */
5c66ec88fSEmmanuel Vadot
66be33864SEmmanuel Vadot#include "msm8916-pm8916.dtsi"
7c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
8c66ec88fSEmmanuel Vadot#include <dt-bindings/input/input.h>
9c66ec88fSEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
10c66ec88fSEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
11c66ec88fSEmmanuel Vadot#include <dt-bindings/sound/apq8016-lpass.h>
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadot/ {
14c66ec88fSEmmanuel Vadot	aliases {
15c66ec88fSEmmanuel Vadot		serial0 = &blsp1_uart2;
16c66ec88fSEmmanuel Vadot		serial1 = &blsp1_uart1;
17c66ec88fSEmmanuel Vadot		usid0 = &pm8916_0;
18c66ec88fSEmmanuel Vadot		i2c0	= &blsp_i2c2;
19c66ec88fSEmmanuel Vadot		i2c1	= &blsp_i2c6;
20c66ec88fSEmmanuel Vadot		i2c3	= &blsp_i2c4;
21c66ec88fSEmmanuel Vadot		spi0	= &blsp_spi5;
22c66ec88fSEmmanuel Vadot		spi1	= &blsp_spi3;
23c66ec88fSEmmanuel Vadot	};
24c66ec88fSEmmanuel Vadot
25c66ec88fSEmmanuel Vadot	chosen {
26c66ec88fSEmmanuel Vadot		stdout-path = "serial0";
27c66ec88fSEmmanuel Vadot	};
28c66ec88fSEmmanuel Vadot
29c66ec88fSEmmanuel Vadot	camera_vdddo_1v8: camera-vdddo-1v8 {
30c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
31c66ec88fSEmmanuel Vadot		regulator-name = "camera_vdddo";
32c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
33c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
34c66ec88fSEmmanuel Vadot		regulator-always-on;
35c66ec88fSEmmanuel Vadot	};
36c66ec88fSEmmanuel Vadot
37c66ec88fSEmmanuel Vadot	camera_vdda_2v8: camera-vdda-2v8 {
38c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
39c66ec88fSEmmanuel Vadot		regulator-name = "camera_vdda";
40c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <2800000>;
41c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <2800000>;
42c66ec88fSEmmanuel Vadot		regulator-always-on;
43c66ec88fSEmmanuel Vadot	};
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot	camera_vddd_1v5: camera-vddd-1v5 {
46c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
47c66ec88fSEmmanuel Vadot		regulator-name = "camera_vddd";
48c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1500000>;
49c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <1500000>;
50c66ec88fSEmmanuel Vadot		regulator-always-on;
51c66ec88fSEmmanuel Vadot	};
52c66ec88fSEmmanuel Vadot
53c66ec88fSEmmanuel Vadot	reserved-memory {
54c66ec88fSEmmanuel Vadot		ramoops@bff00000 {
55c66ec88fSEmmanuel Vadot			compatible = "ramoops";
56c66ec88fSEmmanuel Vadot			reg = <0x0 0xbff00000 0x0 0x100000>;
57c66ec88fSEmmanuel Vadot
58c66ec88fSEmmanuel Vadot			record-size = <0x20000>;
59c66ec88fSEmmanuel Vadot			console-size = <0x20000>;
60c66ec88fSEmmanuel Vadot			ftrace-size = <0x20000>;
61c66ec88fSEmmanuel Vadot		};
62c66ec88fSEmmanuel Vadot	};
63c66ec88fSEmmanuel Vadot
646be33864SEmmanuel Vadot	usb2513 {
656be33864SEmmanuel Vadot		compatible = "smsc,usb3503";
666be33864SEmmanuel Vadot		reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>;
676be33864SEmmanuel Vadot		initial-mode = <1>;
68c66ec88fSEmmanuel Vadot	};
69c66ec88fSEmmanuel Vadot
706be33864SEmmanuel Vadot	usb_id: usb-id {
716be33864SEmmanuel Vadot		compatible = "linux,extcon-usb-gpio";
726be33864SEmmanuel Vadot		id-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>;
736be33864SEmmanuel Vadot		pinctrl-names = "default";
746be33864SEmmanuel Vadot		pinctrl-0 = <&usb_id_default>;
75c66ec88fSEmmanuel Vadot	};
76c66ec88fSEmmanuel Vadot
776be33864SEmmanuel Vadot	hdmi-out {
786be33864SEmmanuel Vadot		compatible = "hdmi-connector";
796be33864SEmmanuel Vadot		type = "a";
806be33864SEmmanuel Vadot
816be33864SEmmanuel Vadot		port {
826be33864SEmmanuel Vadot			hdmi_con: endpoint {
836be33864SEmmanuel Vadot				remote-endpoint = <&adv7533_out>;
846be33864SEmmanuel Vadot			};
856be33864SEmmanuel Vadot		};
86c66ec88fSEmmanuel Vadot	};
87c66ec88fSEmmanuel Vadot
886be33864SEmmanuel Vadot	gpio-keys {
896be33864SEmmanuel Vadot		compatible = "gpio-keys";
90c66ec88fSEmmanuel Vadot		#address-cells = <1>;
91c66ec88fSEmmanuel Vadot		#size-cells = <0>;
926be33864SEmmanuel Vadot		autorepeat;
93c66ec88fSEmmanuel Vadot
946be33864SEmmanuel Vadot		pinctrl-names = "default";
956be33864SEmmanuel Vadot		pinctrl-0 = <&msm_key_volp_n_default>;
96c66ec88fSEmmanuel Vadot
976be33864SEmmanuel Vadot		button@0 {
986be33864SEmmanuel Vadot			label = "Volume Up";
996be33864SEmmanuel Vadot			linux,code = <KEY_VOLUMEUP>;
1006be33864SEmmanuel Vadot			gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
101c66ec88fSEmmanuel Vadot		};
102c66ec88fSEmmanuel Vadot	};
103c66ec88fSEmmanuel Vadot
104c66ec88fSEmmanuel Vadot	leds {
105c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
106c66ec88fSEmmanuel Vadot		pinctrl-0 = <&msmgpio_leds>,
107c66ec88fSEmmanuel Vadot			    <&pm8916_gpios_leds>,
108c66ec88fSEmmanuel Vadot			    <&pm8916_mpps_leds>;
109c66ec88fSEmmanuel Vadot
110c66ec88fSEmmanuel Vadot		compatible = "gpio-leds";
111c66ec88fSEmmanuel Vadot
112c66ec88fSEmmanuel Vadot		led@1 {
113c66ec88fSEmmanuel Vadot			label = "apq8016-sbc:green:user1";
114c66ec88fSEmmanuel Vadot			gpios = <&msmgpio 21 GPIO_ACTIVE_HIGH>;
115c66ec88fSEmmanuel Vadot			linux,default-trigger = "heartbeat";
116c66ec88fSEmmanuel Vadot			default-state = "off";
117c66ec88fSEmmanuel Vadot		};
118c66ec88fSEmmanuel Vadot
119c66ec88fSEmmanuel Vadot		led@2 {
120c66ec88fSEmmanuel Vadot			label = "apq8016-sbc:green:user2";
121c66ec88fSEmmanuel Vadot			gpios = <&msmgpio 120 GPIO_ACTIVE_HIGH>;
122c66ec88fSEmmanuel Vadot			linux,default-trigger = "mmc0";
123c66ec88fSEmmanuel Vadot			default-state = "off";
124c66ec88fSEmmanuel Vadot		};
125c66ec88fSEmmanuel Vadot
126c66ec88fSEmmanuel Vadot		led@3 {
127c66ec88fSEmmanuel Vadot			label = "apq8016-sbc:green:user3";
128c66ec88fSEmmanuel Vadot			gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>;
129c66ec88fSEmmanuel Vadot			linux,default-trigger = "mmc1";
130c66ec88fSEmmanuel Vadot			default-state = "off";
131c66ec88fSEmmanuel Vadot		};
132c66ec88fSEmmanuel Vadot
133c66ec88fSEmmanuel Vadot		led@4 {
134c66ec88fSEmmanuel Vadot			label = "apq8016-sbc:green:user4";
135c66ec88fSEmmanuel Vadot			gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>;
136c66ec88fSEmmanuel Vadot			linux,default-trigger = "none";
137c66ec88fSEmmanuel Vadot			panic-indicator;
138c66ec88fSEmmanuel Vadot			default-state = "off";
139c66ec88fSEmmanuel Vadot		};
140c66ec88fSEmmanuel Vadot
141c66ec88fSEmmanuel Vadot		led@5 {
142c66ec88fSEmmanuel Vadot			label = "apq8016-sbc:yellow:wlan";
143c66ec88fSEmmanuel Vadot			gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>;
144c66ec88fSEmmanuel Vadot			linux,default-trigger = "phy0tx";
145c66ec88fSEmmanuel Vadot			default-state = "off";
146c66ec88fSEmmanuel Vadot		};
147c66ec88fSEmmanuel Vadot
148c66ec88fSEmmanuel Vadot		led@6 {
149c66ec88fSEmmanuel Vadot			label = "apq8016-sbc:blue:bt";
150c66ec88fSEmmanuel Vadot			gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>;
151c66ec88fSEmmanuel Vadot			linux,default-trigger = "bluetooth-power";
152c66ec88fSEmmanuel Vadot			default-state = "off";
153c66ec88fSEmmanuel Vadot		};
154c66ec88fSEmmanuel Vadot	};
1556be33864SEmmanuel Vadot};
156c66ec88fSEmmanuel Vadot
1576be33864SEmmanuel Vadot&blsp_dma {
1586be33864SEmmanuel Vadot	status = "okay";
1596be33864SEmmanuel Vadot};
1606be33864SEmmanuel Vadot
1616be33864SEmmanuel Vadot&blsp_i2c2 {
1626be33864SEmmanuel Vadot	/* On Low speed expansion */
1636be33864SEmmanuel Vadot	status = "okay";
1646be33864SEmmanuel Vadot	label = "LS-I2C0";
1656be33864SEmmanuel Vadot};
1666be33864SEmmanuel Vadot
1676be33864SEmmanuel Vadot&blsp_i2c4 {
1686be33864SEmmanuel Vadot	/* On High speed expansion */
1696be33864SEmmanuel Vadot	status = "okay";
1706be33864SEmmanuel Vadot	label = "HS-I2C2";
1716be33864SEmmanuel Vadot
1726be33864SEmmanuel Vadot	adv_bridge: bridge@39 {
1736be33864SEmmanuel Vadot		status = "okay";
1746be33864SEmmanuel Vadot
1756be33864SEmmanuel Vadot		compatible = "adi,adv7533";
1766be33864SEmmanuel Vadot		reg = <0x39>;
1776be33864SEmmanuel Vadot
1786be33864SEmmanuel Vadot		interrupt-parent = <&msmgpio>;
1796be33864SEmmanuel Vadot		interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
1806be33864SEmmanuel Vadot
1816be33864SEmmanuel Vadot		adi,dsi-lanes = <4>;
1826be33864SEmmanuel Vadot		clocks = <&rpmcc RPM_SMD_BB_CLK2>;
1836be33864SEmmanuel Vadot		clock-names = "cec";
1846be33864SEmmanuel Vadot
1856be33864SEmmanuel Vadot		pd-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
1866be33864SEmmanuel Vadot
1876be33864SEmmanuel Vadot		avdd-supply = <&pm8916_l6>;
1886be33864SEmmanuel Vadot		v1p2-supply = <&pm8916_l6>;
1896be33864SEmmanuel Vadot		v3p3-supply = <&pm8916_l17>;
1906be33864SEmmanuel Vadot
1916be33864SEmmanuel Vadot		pinctrl-names = "default","sleep";
1926be33864SEmmanuel Vadot		pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
1936be33864SEmmanuel Vadot		pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
1946be33864SEmmanuel Vadot		#sound-dai-cells = <1>;
1956be33864SEmmanuel Vadot
1966be33864SEmmanuel Vadot		ports {
1976be33864SEmmanuel Vadot			#address-cells = <1>;
1986be33864SEmmanuel Vadot			#size-cells = <0>;
1996be33864SEmmanuel Vadot
2006be33864SEmmanuel Vadot			port@0 {
2016be33864SEmmanuel Vadot				reg = <0>;
2026be33864SEmmanuel Vadot				adv7533_in: endpoint {
2036be33864SEmmanuel Vadot					remote-endpoint = <&dsi0_out>;
2046be33864SEmmanuel Vadot				};
2056be33864SEmmanuel Vadot			};
2066be33864SEmmanuel Vadot
2076be33864SEmmanuel Vadot			port@1 {
2086be33864SEmmanuel Vadot				reg = <1>;
2096be33864SEmmanuel Vadot				adv7533_out: endpoint {
2106be33864SEmmanuel Vadot					remote-endpoint = <&hdmi_con>;
2116be33864SEmmanuel Vadot				};
2126be33864SEmmanuel Vadot			};
2136be33864SEmmanuel Vadot		};
2146be33864SEmmanuel Vadot	};
2156be33864SEmmanuel Vadot};
2166be33864SEmmanuel Vadot
2176be33864SEmmanuel Vadot&blsp_i2c6 {
2186be33864SEmmanuel Vadot	/* On Low speed expansion */
2196be33864SEmmanuel Vadot	status = "okay";
2206be33864SEmmanuel Vadot	label = "LS-I2C1";
2216be33864SEmmanuel Vadot};
2226be33864SEmmanuel Vadot
2236be33864SEmmanuel Vadot&blsp_spi3 {
2246be33864SEmmanuel Vadot	/* On High speed expansion */
2256be33864SEmmanuel Vadot	status = "okay";
2266be33864SEmmanuel Vadot	label = "HS-SPI1";
2276be33864SEmmanuel Vadot};
2286be33864SEmmanuel Vadot
2296be33864SEmmanuel Vadot&blsp_spi5 {
2306be33864SEmmanuel Vadot	/* On Low speed expansion */
2316be33864SEmmanuel Vadot	status = "okay";
2326be33864SEmmanuel Vadot	label = "LS-SPI0";
2336be33864SEmmanuel Vadot};
2346be33864SEmmanuel Vadot
2356be33864SEmmanuel Vadot&blsp1_uart1 {
2366be33864SEmmanuel Vadot	status = "okay";
2376be33864SEmmanuel Vadot	label = "LS-UART0";
2386be33864SEmmanuel Vadot};
2396be33864SEmmanuel Vadot
2406be33864SEmmanuel Vadot&blsp1_uart2 {
2416be33864SEmmanuel Vadot	status = "okay";
2426be33864SEmmanuel Vadot	label = "LS-UART1";
2436be33864SEmmanuel Vadot};
2446be33864SEmmanuel Vadot
2456be33864SEmmanuel Vadot&camss {
2466be33864SEmmanuel Vadot	status = "okay";
2476be33864SEmmanuel Vadot	ports {
2486be33864SEmmanuel Vadot		port@0 {
2496be33864SEmmanuel Vadot			reg = <0>;
2506be33864SEmmanuel Vadot			csiphy0_ep: endpoint {
2516be33864SEmmanuel Vadot				clock-lanes = <1>;
2526be33864SEmmanuel Vadot				data-lanes = <0 2>;
2536be33864SEmmanuel Vadot				remote-endpoint = <&ov5640_ep>;
2546be33864SEmmanuel Vadot				status = "okay";
2556be33864SEmmanuel Vadot			};
2566be33864SEmmanuel Vadot		};
2576be33864SEmmanuel Vadot	};
2586be33864SEmmanuel Vadot};
2596be33864SEmmanuel Vadot
2606be33864SEmmanuel Vadot&cci {
2616be33864SEmmanuel Vadot	status = "okay";
2626be33864SEmmanuel Vadot};
2636be33864SEmmanuel Vadot
2646be33864SEmmanuel Vadot&cci_i2c0 {
2656be33864SEmmanuel Vadot	camera_rear@3b {
2666be33864SEmmanuel Vadot		compatible = "ovti,ov5640";
2676be33864SEmmanuel Vadot		reg = <0x3b>;
2686be33864SEmmanuel Vadot
2696be33864SEmmanuel Vadot		enable-gpios = <&msmgpio 34 GPIO_ACTIVE_HIGH>;
2706be33864SEmmanuel Vadot		reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
2716be33864SEmmanuel Vadot		pinctrl-names = "default";
2726be33864SEmmanuel Vadot		pinctrl-0 = <&camera_rear_default>;
2736be33864SEmmanuel Vadot
2746be33864SEmmanuel Vadot		clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
2756be33864SEmmanuel Vadot		clock-names = "xclk";
2766be33864SEmmanuel Vadot		clock-frequency = <23880000>;
2776be33864SEmmanuel Vadot
2786be33864SEmmanuel Vadot		vdddo-supply = <&camera_vdddo_1v8>;
2796be33864SEmmanuel Vadot		vdda-supply = <&camera_vdda_2v8>;
2806be33864SEmmanuel Vadot		vddd-supply = <&camera_vddd_1v5>;
2816be33864SEmmanuel Vadot
2826be33864SEmmanuel Vadot		/* No camera mezzanine by default */
2836be33864SEmmanuel Vadot		status = "disabled";
2846be33864SEmmanuel Vadot
2856be33864SEmmanuel Vadot		port {
2866be33864SEmmanuel Vadot			ov5640_ep: endpoint {
2876be33864SEmmanuel Vadot				clock-lanes = <1>;
2886be33864SEmmanuel Vadot				data-lanes = <0 2>;
2896be33864SEmmanuel Vadot				remote-endpoint = <&csiphy0_ep>;
2906be33864SEmmanuel Vadot			};
2916be33864SEmmanuel Vadot		};
2926be33864SEmmanuel Vadot	};
2936be33864SEmmanuel Vadot};
2946be33864SEmmanuel Vadot
2956be33864SEmmanuel Vadot&dsi0_out {
2966be33864SEmmanuel Vadot	data-lanes = <0 1 2 3>;
2976be33864SEmmanuel Vadot	remote-endpoint = <&adv7533_in>;
2986be33864SEmmanuel Vadot};
2996be33864SEmmanuel Vadot
3006be33864SEmmanuel Vadot&lpass {
3016be33864SEmmanuel Vadot	status = "okay";
3026be33864SEmmanuel Vadot};
3036be33864SEmmanuel Vadot
3045def4c47SEmmanuel Vadot&mdss {
3055def4c47SEmmanuel Vadot	status = "okay";
3065def4c47SEmmanuel Vadot};
3075def4c47SEmmanuel Vadot
3086be33864SEmmanuel Vadot&pm8916_resin {
3096be33864SEmmanuel Vadot	status = "okay";
3106be33864SEmmanuel Vadot	linux,code = <KEY_VOLUMEDOWN>;
3116be33864SEmmanuel Vadot};
3126be33864SEmmanuel Vadot
3136be33864SEmmanuel Vadot&pronto {
3146be33864SEmmanuel Vadot	status = "okay";
3156be33864SEmmanuel Vadot};
3166be33864SEmmanuel Vadot
3176be33864SEmmanuel Vadot&sdhc_1 {
3186be33864SEmmanuel Vadot	status = "okay";
319c66ec88fSEmmanuel Vadot
320c66ec88fSEmmanuel Vadot	pinctrl-names = "default", "sleep";
321c66ec88fSEmmanuel Vadot	pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
322c66ec88fSEmmanuel Vadot	pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
323c66ec88fSEmmanuel Vadot};
324c66ec88fSEmmanuel Vadot
3256be33864SEmmanuel Vadot&sdhc_2 {
3266be33864SEmmanuel Vadot	status = "okay";
327c66ec88fSEmmanuel Vadot
328c66ec88fSEmmanuel Vadot	pinctrl-names = "default", "sleep";
329c66ec88fSEmmanuel Vadot	pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
330c66ec88fSEmmanuel Vadot	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
331c66ec88fSEmmanuel Vadot
3326be33864SEmmanuel Vadot	cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
333c66ec88fSEmmanuel Vadot};
334c66ec88fSEmmanuel Vadot
3356be33864SEmmanuel Vadot&sound {
336c66ec88fSEmmanuel Vadot	status = "okay";
337c66ec88fSEmmanuel Vadot
338c66ec88fSEmmanuel Vadot	pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>;
339c66ec88fSEmmanuel Vadot	pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>;
340c66ec88fSEmmanuel Vadot	pinctrl-names = "default", "sleep";
341c66ec88fSEmmanuel Vadot	qcom,model = "DB410c";
342c66ec88fSEmmanuel Vadot	qcom,audio-routing =
343c66ec88fSEmmanuel Vadot		"AMIC2", "MIC BIAS Internal2",
344c66ec88fSEmmanuel Vadot		"AMIC3", "MIC BIAS External1";
345c66ec88fSEmmanuel Vadot
346c66ec88fSEmmanuel Vadot	external-dai-link@0 {
347c66ec88fSEmmanuel Vadot		link-name = "ADV7533";
348c66ec88fSEmmanuel Vadot		cpu {
349c66ec88fSEmmanuel Vadot			sound-dai = <&lpass MI2S_QUATERNARY>;
350c66ec88fSEmmanuel Vadot		};
351c66ec88fSEmmanuel Vadot		codec {
352c66ec88fSEmmanuel Vadot			sound-dai = <&adv_bridge 0>;
353c66ec88fSEmmanuel Vadot		};
354c66ec88fSEmmanuel Vadot	};
355c66ec88fSEmmanuel Vadot
356c66ec88fSEmmanuel Vadot	internal-codec-playback-dai-link@0 {
357c66ec88fSEmmanuel Vadot		link-name = "WCD";
358c66ec88fSEmmanuel Vadot		cpu {
359c66ec88fSEmmanuel Vadot			sound-dai = <&lpass MI2S_PRIMARY>;
360c66ec88fSEmmanuel Vadot		};
361c66ec88fSEmmanuel Vadot		codec {
362c66ec88fSEmmanuel Vadot			sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
363c66ec88fSEmmanuel Vadot		};
364c66ec88fSEmmanuel Vadot	};
365c66ec88fSEmmanuel Vadot
366c66ec88fSEmmanuel Vadot	internal-codec-capture-dai-link@0 {
367c66ec88fSEmmanuel Vadot		link-name = "WCD-Capture";
368c66ec88fSEmmanuel Vadot		cpu {
369c66ec88fSEmmanuel Vadot			sound-dai = <&lpass MI2S_TERTIARY>;
370c66ec88fSEmmanuel Vadot		};
371c66ec88fSEmmanuel Vadot		codec {
372c66ec88fSEmmanuel Vadot			sound-dai = <&lpass_codec 1>, <&wcd_codec 1>;
373c66ec88fSEmmanuel Vadot		};
374c66ec88fSEmmanuel Vadot	};
375c66ec88fSEmmanuel Vadot};
376c66ec88fSEmmanuel Vadot
3776be33864SEmmanuel Vadot&usb {
378c66ec88fSEmmanuel Vadot	status = "okay";
3796be33864SEmmanuel Vadot	extcon = <&usb_id>, <&usb_id>;
3806be33864SEmmanuel Vadot
3816be33864SEmmanuel Vadot	pinctrl-names = "default", "device";
3826be33864SEmmanuel Vadot	pinctrl-0 = <&usb_sw_sel_pm &usb_hub_reset_pm>;
3836be33864SEmmanuel Vadot	pinctrl-1 = <&usb_sw_sel_pm_device &usb_hub_reset_pm_device>;
384c66ec88fSEmmanuel Vadot};
385c66ec88fSEmmanuel Vadot
3866be33864SEmmanuel Vadot&usb_hs_phy {
3876be33864SEmmanuel Vadot	extcon = <&usb_id>;
388c66ec88fSEmmanuel Vadot};
389c66ec88fSEmmanuel Vadot
390c66ec88fSEmmanuel Vadot&wcd_codec {
391c66ec88fSEmmanuel Vadot	clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
392c66ec88fSEmmanuel Vadot	clock-names = "mclk";
393c66ec88fSEmmanuel Vadot	qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
394c66ec88fSEmmanuel Vadot	qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
395c66ec88fSEmmanuel Vadot};
396c66ec88fSEmmanuel Vadot
3976be33864SEmmanuel Vadot/* Enable CoreSight */
3986be33864SEmmanuel Vadot&cti0 { status = "okay"; };
3996be33864SEmmanuel Vadot&cti1 { status = "okay"; };
4006be33864SEmmanuel Vadot&cti12 { status = "okay"; };
4016be33864SEmmanuel Vadot&cti13 { status = "okay"; };
4026be33864SEmmanuel Vadot&cti14 { status = "okay"; };
4036be33864SEmmanuel Vadot&cti15 { status = "okay"; };
4046be33864SEmmanuel Vadot&debug0 { status = "okay"; };
4056be33864SEmmanuel Vadot&debug1 { status = "okay"; };
4066be33864SEmmanuel Vadot&debug2 { status = "okay"; };
4076be33864SEmmanuel Vadot&debug3 { status = "okay"; };
4086be33864SEmmanuel Vadot&etf { status = "okay"; };
4096be33864SEmmanuel Vadot&etm0 { status = "okay"; };
4106be33864SEmmanuel Vadot&etm1 { status = "okay"; };
4116be33864SEmmanuel Vadot&etm2 { status = "okay"; };
4126be33864SEmmanuel Vadot&etm3 { status = "okay"; };
4136be33864SEmmanuel Vadot&etr { status = "okay"; };
4146be33864SEmmanuel Vadot&funnel0 { status = "okay"; };
4156be33864SEmmanuel Vadot&funnel1 { status = "okay"; };
4166be33864SEmmanuel Vadot&replicator { status = "okay"; };
417*354d7675SEmmanuel Vadot&stm { status = "okay"; };
4186be33864SEmmanuel Vadot&tpiu { status = "okay"; };
4196be33864SEmmanuel Vadot
420c66ec88fSEmmanuel Vadot&smd_rpm_regulators {
421c66ec88fSEmmanuel Vadot	vdd_l1_l2_l3-supply = <&pm8916_s3>;
422c66ec88fSEmmanuel Vadot	vdd_l4_l5_l6-supply = <&pm8916_s4>;
423c66ec88fSEmmanuel Vadot	vdd_l7-supply = <&pm8916_s4>;
424c66ec88fSEmmanuel Vadot
425c66ec88fSEmmanuel Vadot	s3 {
426c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <375000>;
427c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <1562000>;
428c66ec88fSEmmanuel Vadot	};
429c66ec88fSEmmanuel Vadot
430c66ec88fSEmmanuel Vadot	s4 {
431c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
432c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
433c66ec88fSEmmanuel Vadot
434c66ec88fSEmmanuel Vadot		regulator-always-on;
435c66ec88fSEmmanuel Vadot		regulator-boot-on;
436c66ec88fSEmmanuel Vadot	};
437c66ec88fSEmmanuel Vadot
438c66ec88fSEmmanuel Vadot	l1 {
439c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <375000>;
440c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <1525000>;
441c66ec88fSEmmanuel Vadot	};
442c66ec88fSEmmanuel Vadot
443c66ec88fSEmmanuel Vadot	l2 {
444c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1200000>;
445c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <1200000>;
446c66ec88fSEmmanuel Vadot	};
447c66ec88fSEmmanuel Vadot
448c66ec88fSEmmanuel Vadot	l4 {
449c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1750000>;
450c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3337000>;
451c66ec88fSEmmanuel Vadot	};
452c66ec88fSEmmanuel Vadot
453c66ec88fSEmmanuel Vadot	l5 {
454c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1750000>;
455c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3337000>;
456c66ec88fSEmmanuel Vadot	};
457c66ec88fSEmmanuel Vadot
458c66ec88fSEmmanuel Vadot	l6 {
459c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
460c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
461c66ec88fSEmmanuel Vadot	};
462c66ec88fSEmmanuel Vadot
463c66ec88fSEmmanuel Vadot	l7 {
464c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1750000>;
465c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3337000>;
466c66ec88fSEmmanuel Vadot	};
467c66ec88fSEmmanuel Vadot
468c66ec88fSEmmanuel Vadot	l8 {
469c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1750000>;
470c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3337000>;
471c66ec88fSEmmanuel Vadot	};
472c66ec88fSEmmanuel Vadot
473c66ec88fSEmmanuel Vadot	l9 {
474c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1750000>;
475c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3337000>;
476c66ec88fSEmmanuel Vadot	};
477c66ec88fSEmmanuel Vadot
478c66ec88fSEmmanuel Vadot	l10 {
479c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1750000>;
480c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3337000>;
481c66ec88fSEmmanuel Vadot	};
482c66ec88fSEmmanuel Vadot
483c66ec88fSEmmanuel Vadot	l11 {
484c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1750000>;
485c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3337000>;
486c66ec88fSEmmanuel Vadot		regulator-allow-set-load;
487c66ec88fSEmmanuel Vadot		regulator-system-load = <200000>;
488c66ec88fSEmmanuel Vadot	};
489c66ec88fSEmmanuel Vadot
490c66ec88fSEmmanuel Vadot	l12 {
491c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1750000>;
492c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3337000>;
493c66ec88fSEmmanuel Vadot	};
494c66ec88fSEmmanuel Vadot
495c66ec88fSEmmanuel Vadot	l13 {
496c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1750000>;
497c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3337000>;
498c66ec88fSEmmanuel Vadot	};
499c66ec88fSEmmanuel Vadot
500c66ec88fSEmmanuel Vadot	l14 {
501c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1750000>;
502c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3337000>;
503c66ec88fSEmmanuel Vadot	};
504c66ec88fSEmmanuel Vadot
505c66ec88fSEmmanuel Vadot	/**
506c66ec88fSEmmanuel Vadot	 * 1.8v required on LS expansion
507c66ec88fSEmmanuel Vadot	 * for mezzanine boards
508c66ec88fSEmmanuel Vadot	 */
509c66ec88fSEmmanuel Vadot	l15 {
510c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1750000>;
511c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3337000>;
512c66ec88fSEmmanuel Vadot		regulator-always-on;
513c66ec88fSEmmanuel Vadot	};
514c66ec88fSEmmanuel Vadot
515c66ec88fSEmmanuel Vadot	l16 {
516c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1750000>;
517c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3337000>;
518c66ec88fSEmmanuel Vadot	};
519c66ec88fSEmmanuel Vadot
520c66ec88fSEmmanuel Vadot	l17 {
521c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
522c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
523c66ec88fSEmmanuel Vadot	};
524c66ec88fSEmmanuel Vadot
525c66ec88fSEmmanuel Vadot	l18 {
526c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1750000>;
527c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3337000>;
528c66ec88fSEmmanuel Vadot	};
529c66ec88fSEmmanuel Vadot};
530c66ec88fSEmmanuel Vadot
531c66ec88fSEmmanuel Vadot/*
532c66ec88fSEmmanuel Vadot * 2mA drive strength is not enough when connecting multiple
533c66ec88fSEmmanuel Vadot * I2C devices with different pull up resistors.
534c66ec88fSEmmanuel Vadot */
535c66ec88fSEmmanuel Vadot&i2c2_default {
536c66ec88fSEmmanuel Vadot	drive-strength = <16>;
537c66ec88fSEmmanuel Vadot};
538c66ec88fSEmmanuel Vadot
539c66ec88fSEmmanuel Vadot&i2c4_default {
540c66ec88fSEmmanuel Vadot	drive-strength = <16>;
541c66ec88fSEmmanuel Vadot};
542c66ec88fSEmmanuel Vadot
543c66ec88fSEmmanuel Vadot&i2c6_default {
544c66ec88fSEmmanuel Vadot	drive-strength = <16>;
545c66ec88fSEmmanuel Vadot};
546c66ec88fSEmmanuel Vadot
5476be33864SEmmanuel Vadot/*
5486be33864SEmmanuel Vadot * GPIO name legend: proper name = the GPIO line is used as GPIO
5496be33864SEmmanuel Vadot *         NC = not connected (pin out but not routed from the chip to
5506be33864SEmmanuel Vadot *              anything the board)
5516be33864SEmmanuel Vadot *         "[PER]" = pin is muxed for [peripheral] (not GPIO)
5526be33864SEmmanuel Vadot *         LSEC = Low Speed External Connector
5536be33864SEmmanuel Vadot *         HSEC = High Speed External Connector
5546be33864SEmmanuel Vadot *
5556be33864SEmmanuel Vadot * Line names are taken from the schematic "DragonBoard410c"
5566be33864SEmmanuel Vadot * dated monday, august 31, 2015. Page 5 in particular.
5576be33864SEmmanuel Vadot *
5586be33864SEmmanuel Vadot * For the lines routed to the external connectors the
5596be33864SEmmanuel Vadot * lines are named after the 96Boards CE Specification 1.0,
5606be33864SEmmanuel Vadot * Appendix "Expansion Connector Signal Description".
5616be33864SEmmanuel Vadot *
5626be33864SEmmanuel Vadot * When the 96Board naming of a line and the schematic name of
5636be33864SEmmanuel Vadot * the same line are in conflict, the 96Board specification
5646be33864SEmmanuel Vadot * takes precedence, which means that the external UART on the
5656be33864SEmmanuel Vadot * LSEC is named UART0 while the schematic and SoC names this
5666be33864SEmmanuel Vadot * UART3. This is only for the informational lines i.e. "[FOO]",
5676be33864SEmmanuel Vadot * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only
5686be33864SEmmanuel Vadot * ones actually used for GPIO.
5696be33864SEmmanuel Vadot */
5706be33864SEmmanuel Vadot
571c66ec88fSEmmanuel Vadot&msmgpio {
5726be33864SEmmanuel Vadot	gpio-line-names =
5736be33864SEmmanuel Vadot		"[UART0_TX]", /* GPIO_0, LSEC pin 5 */
5746be33864SEmmanuel Vadot		"[UART0_RX]", /* GPIO_1, LSEC pin 7 */
5756be33864SEmmanuel Vadot		"[UART0_CTS_N]", /* GPIO_2, LSEC pin 3 */
5766be33864SEmmanuel Vadot		"[UART0_RTS_N]", /* GPIO_3, LSEC pin 9 */
5776be33864SEmmanuel Vadot		"[UART1_TX]", /* GPIO_4, LSEC pin 11 */
5786be33864SEmmanuel Vadot		"[UART1_RX]", /* GPIO_5, LSEC pin 13 */
5796be33864SEmmanuel Vadot		"[I2C0_SDA]", /* GPIO_8, LSEC pin 17 */
5806be33864SEmmanuel Vadot		"[I2C0_SCL]", /* GPIO_7, LSEC pin 15 */
5816be33864SEmmanuel Vadot		"[SPI1_DOUT]", /* SPI1_MOSI, HSEC pin 1 */
5826be33864SEmmanuel Vadot		"[SPI1_DIN]", /* SPI1_MISO, HSEC pin 11 */
5836be33864SEmmanuel Vadot		"[SPI1_CS]", /* SPI1_CS_N, HSEC pin 7 */
5846be33864SEmmanuel Vadot		"[SPI1_SCLK]", /* SPI1_CLK, HSEC pin 9 */
5856be33864SEmmanuel Vadot		"GPIO-B", /* LS_EXP_GPIO_B, LSEC pin 24 */
5866be33864SEmmanuel Vadot		"GPIO-C", /* LS_EXP_GPIO_C, LSEC pin 25 */
5876be33864SEmmanuel Vadot		"[I2C3_SDA]", /* HSEC pin 38 */
5886be33864SEmmanuel Vadot		"[I2C3_SCL]", /* HSEC pin 36 */
5896be33864SEmmanuel Vadot		"[SPI0_MOSI]", /* LSEC pin 14 */
5906be33864SEmmanuel Vadot		"[SPI0_MISO]", /* LSEC pin 10 */
5916be33864SEmmanuel Vadot		"[SPI0_CS_N]", /* LSEC pin 12 */
5926be33864SEmmanuel Vadot		"[SPI0_CLK]", /* LSEC pin 8 */
5936be33864SEmmanuel Vadot		"HDMI_HPD_N", /* GPIO 20 */
5946be33864SEmmanuel Vadot		"USR_LED_1_CTRL",
5956be33864SEmmanuel Vadot		"[I2C1_SDA]", /* GPIO_22, LSEC pin 21 */
5966be33864SEmmanuel Vadot		"[I2C1_SCL]", /* GPIO_23, LSEC pin 19 */
5976be33864SEmmanuel Vadot		"GPIO-G", /* LS_EXP_GPIO_G, LSEC pin 29 */
5986be33864SEmmanuel Vadot		"GPIO-H", /* LS_EXP_GPIO_H, LSEC pin 30 */
5996be33864SEmmanuel Vadot		"[CSI0_MCLK]", /* HSEC pin 15 */
6006be33864SEmmanuel Vadot		"[CSI1_MCLK]", /* HSEC pin 17 */
6016be33864SEmmanuel Vadot		"GPIO-K", /* LS_EXP_GPIO_K, LSEC pin 33 */
6026be33864SEmmanuel Vadot		"[I2C2_SDA]", /* HSEC pin 34 */
6036be33864SEmmanuel Vadot		"[I2C2_SCL]", /* HSEC pin 32 */
6046be33864SEmmanuel Vadot		"DSI2HDMI_INT_N",
6056be33864SEmmanuel Vadot		"DSI_SW_SEL_APQ",
6066be33864SEmmanuel Vadot		"GPIO-L", /* LS_EXP_GPIO_L, LSEC pin 34 */
6076be33864SEmmanuel Vadot		"GPIO-J", /* LS_EXP_GPIO_J, LSEC pin 32 */
6086be33864SEmmanuel Vadot		"GPIO-I", /* LS_EXP_GPIO_I, LSEC pin 31 */
6096be33864SEmmanuel Vadot		"GPIO-A", /* LS_EXP_GPIO_A, LSEC pin 23 */
6106be33864SEmmanuel Vadot		"FORCED_USB_BOOT",
6116be33864SEmmanuel Vadot		"SD_CARD_DET_N",
6126be33864SEmmanuel Vadot		"[WCSS_BT_SSBI]",
6136be33864SEmmanuel Vadot		"[WCSS_WLAN_DATA_2]", /* GPIO 40 */
6146be33864SEmmanuel Vadot		"[WCSS_WLAN_DATA_1]",
6156be33864SEmmanuel Vadot		"[WCSS_WLAN_DATA_0]",
6166be33864SEmmanuel Vadot		"[WCSS_WLAN_SET]",
6176be33864SEmmanuel Vadot		"[WCSS_WLAN_CLK]",
6186be33864SEmmanuel Vadot		"[WCSS_FM_SSBI]",
6196be33864SEmmanuel Vadot		"[WCSS_FM_SDI]",
6206be33864SEmmanuel Vadot		"[WCSS_BT_DAT_CTL]",
6216be33864SEmmanuel Vadot		"[WCSS_BT_DAT_STB]",
6226be33864SEmmanuel Vadot		"NC",
6236be33864SEmmanuel Vadot		"NC", /* GPIO 50 */
6246be33864SEmmanuel Vadot		"NC",
6256be33864SEmmanuel Vadot		"NC",
6266be33864SEmmanuel Vadot		"NC",
6276be33864SEmmanuel Vadot		"NC",
6286be33864SEmmanuel Vadot		"NC",
6296be33864SEmmanuel Vadot		"NC",
6306be33864SEmmanuel Vadot		"NC",
6316be33864SEmmanuel Vadot		"NC",
6326be33864SEmmanuel Vadot		"NC",
6336be33864SEmmanuel Vadot		"NC", /* GPIO 60 */
6346be33864SEmmanuel Vadot		"NC",
6356be33864SEmmanuel Vadot		"NC",
6366be33864SEmmanuel Vadot		"[CDC_PDM0_CLK]",
6376be33864SEmmanuel Vadot		"[CDC_PDM0_SYNC]",
6386be33864SEmmanuel Vadot		"[CDC_PDM0_TX0]",
6396be33864SEmmanuel Vadot		"[CDC_PDM0_RX0]",
6406be33864SEmmanuel Vadot		"[CDC_PDM0_RX1]",
6416be33864SEmmanuel Vadot		"[CDC_PDM0_RX2]",
6426be33864SEmmanuel Vadot		"GPIO-D", /* LS_EXP_GPIO_D, LSEC pin 26 */
6436be33864SEmmanuel Vadot		"NC", /* GPIO 70 */
6446be33864SEmmanuel Vadot		"NC",
6456be33864SEmmanuel Vadot		"NC",
6466be33864SEmmanuel Vadot		"NC",
6476be33864SEmmanuel Vadot		"NC", /* GPIO 74 */
6486be33864SEmmanuel Vadot		"NC",
6496be33864SEmmanuel Vadot		"NC",
6506be33864SEmmanuel Vadot		"NC",
6516be33864SEmmanuel Vadot		"NC",
6526be33864SEmmanuel Vadot		"NC",
6536be33864SEmmanuel Vadot		"BOOT_CONFIG_0", /* GPIO 80 */
6546be33864SEmmanuel Vadot		"BOOT_CONFIG_1",
6556be33864SEmmanuel Vadot		"BOOT_CONFIG_2",
6566be33864SEmmanuel Vadot		"BOOT_CONFIG_3",
6576be33864SEmmanuel Vadot		"NC",
6586be33864SEmmanuel Vadot		"NC",
6596be33864SEmmanuel Vadot		"BOOT_CONFIG_5",
6606be33864SEmmanuel Vadot		"NC",
6616be33864SEmmanuel Vadot		"NC",
6626be33864SEmmanuel Vadot		"NC",
6636be33864SEmmanuel Vadot		"NC", /* GPIO 90 */
6646be33864SEmmanuel Vadot		"NC",
6656be33864SEmmanuel Vadot		"NC",
6666be33864SEmmanuel Vadot		"NC",
6676be33864SEmmanuel Vadot		"NC",
6686be33864SEmmanuel Vadot		"NC",
6696be33864SEmmanuel Vadot		"NC",
6706be33864SEmmanuel Vadot		"NC",
6716be33864SEmmanuel Vadot		"NC",
6726be33864SEmmanuel Vadot		"NC",
6736be33864SEmmanuel Vadot		"NC", /* GPIO 100 */
6746be33864SEmmanuel Vadot		"NC",
6756be33864SEmmanuel Vadot		"NC",
6766be33864SEmmanuel Vadot		"NC",
6776be33864SEmmanuel Vadot		"SSBI_GPS",
6786be33864SEmmanuel Vadot		"NC",
6796be33864SEmmanuel Vadot		"NC",
6806be33864SEmmanuel Vadot		"KEY_VOLP_N",
6816be33864SEmmanuel Vadot		"NC",
6826be33864SEmmanuel Vadot		"NC",
6836be33864SEmmanuel Vadot		"[LS_EXP_MI2S_WS]", /* GPIO 110 */
6846be33864SEmmanuel Vadot		"NC",
6856be33864SEmmanuel Vadot		"NC",
6866be33864SEmmanuel Vadot		"[LS_EXP_MI2S_SCK]",
6876be33864SEmmanuel Vadot		"[LS_EXP_MI2S_DATA0]",
6886be33864SEmmanuel Vadot		"GPIO-E", /* LS_EXP_GPIO_E, LSEC pin 27 */
6896be33864SEmmanuel Vadot		"NC",
6906be33864SEmmanuel Vadot		"[DSI2HDMI_MI2S_WS]",
6916be33864SEmmanuel Vadot		"[DSI2HDMI_MI2S_SCK]",
6926be33864SEmmanuel Vadot		"[DSI2HDMI_MI2S_DATA0]",
6936be33864SEmmanuel Vadot		"USR_LED_2_CTRL", /* GPIO 120 */
6946be33864SEmmanuel Vadot		"SB_HS_ID";
6956be33864SEmmanuel Vadot
696c66ec88fSEmmanuel Vadot	msmgpio_leds: msmgpio-leds {
697c66ec88fSEmmanuel Vadot		pins = "gpio21", "gpio120";
698c66ec88fSEmmanuel Vadot		function = "gpio";
699c66ec88fSEmmanuel Vadot
700c66ec88fSEmmanuel Vadot		output-low;
701c66ec88fSEmmanuel Vadot	};
702c66ec88fSEmmanuel Vadot
703c66ec88fSEmmanuel Vadot	usb_id_default: usb-id-default {
704c66ec88fSEmmanuel Vadot		pins = "gpio121";
705c66ec88fSEmmanuel Vadot		function = "gpio";
706c66ec88fSEmmanuel Vadot
707c66ec88fSEmmanuel Vadot		drive-strength = <8>;
708c66ec88fSEmmanuel Vadot		input-enable;
709c66ec88fSEmmanuel Vadot		bias-pull-up;
710c66ec88fSEmmanuel Vadot	};
711c66ec88fSEmmanuel Vadot
712c66ec88fSEmmanuel Vadot	adv7533_int_active: adv533-int-active {
713c66ec88fSEmmanuel Vadot		pins = "gpio31";
714c66ec88fSEmmanuel Vadot		function = "gpio";
715c66ec88fSEmmanuel Vadot
716c66ec88fSEmmanuel Vadot		drive-strength = <16>;
717c66ec88fSEmmanuel Vadot		bias-disable;
718c66ec88fSEmmanuel Vadot	};
719c66ec88fSEmmanuel Vadot
720c66ec88fSEmmanuel Vadot	adv7533_int_suspend: adv7533-int-suspend {
721c66ec88fSEmmanuel Vadot		pins = "gpio31";
722c66ec88fSEmmanuel Vadot		function = "gpio";
723c66ec88fSEmmanuel Vadot
724c66ec88fSEmmanuel Vadot		drive-strength = <2>;
725c66ec88fSEmmanuel Vadot		bias-disable;
726c66ec88fSEmmanuel Vadot	};
727c66ec88fSEmmanuel Vadot
728c66ec88fSEmmanuel Vadot	adv7533_switch_active: adv7533-switch-active {
729c66ec88fSEmmanuel Vadot		pins = "gpio32";
730c66ec88fSEmmanuel Vadot		function = "gpio";
731c66ec88fSEmmanuel Vadot
732c66ec88fSEmmanuel Vadot		drive-strength = <16>;
733c66ec88fSEmmanuel Vadot		bias-disable;
734c66ec88fSEmmanuel Vadot	};
735c66ec88fSEmmanuel Vadot
736c66ec88fSEmmanuel Vadot	adv7533_switch_suspend: adv7533-switch-suspend {
737c66ec88fSEmmanuel Vadot		pins = "gpio32";
738c66ec88fSEmmanuel Vadot		function = "gpio";
739c66ec88fSEmmanuel Vadot
740c66ec88fSEmmanuel Vadot		drive-strength = <2>;
741c66ec88fSEmmanuel Vadot		bias-disable;
742c66ec88fSEmmanuel Vadot	};
743c66ec88fSEmmanuel Vadot
744c66ec88fSEmmanuel Vadot	msm_key_volp_n_default: msm-key-volp-n-default {
745c66ec88fSEmmanuel Vadot		pins = "gpio107";
746c66ec88fSEmmanuel Vadot		function = "gpio";
747c66ec88fSEmmanuel Vadot
748c66ec88fSEmmanuel Vadot		drive-strength = <8>;
749c66ec88fSEmmanuel Vadot		input-enable;
750c66ec88fSEmmanuel Vadot		bias-pull-up;
751c66ec88fSEmmanuel Vadot	};
752c66ec88fSEmmanuel Vadot};
753c66ec88fSEmmanuel Vadot
754c66ec88fSEmmanuel Vadot&pm8916_gpios {
7556be33864SEmmanuel Vadot	gpio-line-names =
7566be33864SEmmanuel Vadot		"USR_LED_3_CTRL",
7576be33864SEmmanuel Vadot		"USR_LED_4_CTRL",
7586be33864SEmmanuel Vadot		"USB_HUB_RESET_N_PM",
7596be33864SEmmanuel Vadot		"USB_SW_SEL_PM";
7606be33864SEmmanuel Vadot
761c66ec88fSEmmanuel Vadot	usb_hub_reset_pm: usb-hub-reset-pm {
762c66ec88fSEmmanuel Vadot		pins = "gpio3";
763c66ec88fSEmmanuel Vadot		function = PMIC_GPIO_FUNC_NORMAL;
764c66ec88fSEmmanuel Vadot
765c66ec88fSEmmanuel Vadot		input-disable;
766c66ec88fSEmmanuel Vadot		output-high;
767c66ec88fSEmmanuel Vadot	};
768c66ec88fSEmmanuel Vadot
769c66ec88fSEmmanuel Vadot	usb_hub_reset_pm_device: usb-hub-reset-pm-device {
770c66ec88fSEmmanuel Vadot		pins = "gpio3";
771c66ec88fSEmmanuel Vadot		function = PMIC_GPIO_FUNC_NORMAL;
772c66ec88fSEmmanuel Vadot
773c66ec88fSEmmanuel Vadot		output-low;
774c66ec88fSEmmanuel Vadot	};
775c66ec88fSEmmanuel Vadot
776c66ec88fSEmmanuel Vadot	usb_sw_sel_pm: usb-sw-sel-pm {
777c66ec88fSEmmanuel Vadot		pins = "gpio4";
778c66ec88fSEmmanuel Vadot		function = PMIC_GPIO_FUNC_NORMAL;
779c66ec88fSEmmanuel Vadot
780c66ec88fSEmmanuel Vadot		power-source = <PM8916_GPIO_VPH>;
781c66ec88fSEmmanuel Vadot		input-disable;
782c66ec88fSEmmanuel Vadot		output-high;
783c66ec88fSEmmanuel Vadot	};
784c66ec88fSEmmanuel Vadot
785c66ec88fSEmmanuel Vadot	usb_sw_sel_pm_device: usb-sw-sel-pm-device {
786c66ec88fSEmmanuel Vadot		pins = "gpio4";
787c66ec88fSEmmanuel Vadot		function = PMIC_GPIO_FUNC_NORMAL;
788c66ec88fSEmmanuel Vadot
789c66ec88fSEmmanuel Vadot		power-source = <PM8916_GPIO_VPH>;
790c66ec88fSEmmanuel Vadot		input-disable;
791c66ec88fSEmmanuel Vadot		output-low;
792c66ec88fSEmmanuel Vadot	};
793c66ec88fSEmmanuel Vadot
794c66ec88fSEmmanuel Vadot	pm8916_gpios_leds: pm8916-gpios-leds {
795c66ec88fSEmmanuel Vadot		pins = "gpio1", "gpio2";
796c66ec88fSEmmanuel Vadot		function = PMIC_GPIO_FUNC_NORMAL;
797c66ec88fSEmmanuel Vadot
798c66ec88fSEmmanuel Vadot		output-low;
799c66ec88fSEmmanuel Vadot	};
800c66ec88fSEmmanuel Vadot};
801c66ec88fSEmmanuel Vadot
802c66ec88fSEmmanuel Vadot&pm8916_mpps {
8036be33864SEmmanuel Vadot	gpio-line-names =
8046be33864SEmmanuel Vadot		"VDD_PX_BIAS",
8056be33864SEmmanuel Vadot		"WLAN_LED_CTRL",
8066be33864SEmmanuel Vadot		"BT_LED_CTRL",
8076be33864SEmmanuel Vadot		"GPIO-F"; /* LS_EXP_GPIO_F, LSEC pin 28 */
8086be33864SEmmanuel Vadot
809c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
810c66ec88fSEmmanuel Vadot	pinctrl-0 = <&ls_exp_gpio_f>;
811c66ec88fSEmmanuel Vadot
812c66ec88fSEmmanuel Vadot	ls_exp_gpio_f: pm8916-mpp4 {
813c66ec88fSEmmanuel Vadot		pins = "mpp4";
814c66ec88fSEmmanuel Vadot		function = "digital";
815c66ec88fSEmmanuel Vadot
816c66ec88fSEmmanuel Vadot		output-low;
817c66ec88fSEmmanuel Vadot		power-source = <PM8916_MPP_L5>;	// 1.8V
818c66ec88fSEmmanuel Vadot	};
819c66ec88fSEmmanuel Vadot
820c66ec88fSEmmanuel Vadot	pm8916_mpps_leds: pm8916-mpps-leds {
821c66ec88fSEmmanuel Vadot		pins = "mpp2", "mpp3";
822c66ec88fSEmmanuel Vadot		function = "digital";
823c66ec88fSEmmanuel Vadot
824c66ec88fSEmmanuel Vadot		output-low;
825c66ec88fSEmmanuel Vadot	};
826c66ec88fSEmmanuel Vadot};
827