xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/apq8016-schneider-hmibsc.dts (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2*0e8011faSEmmanuel Vadot/*
3*0e8011faSEmmanuel Vadot * Copyright (c) 2015, The Linux Foundation. All rights reserved.
4*0e8011faSEmmanuel Vadot * Copyright (c) 2024, Linaro Ltd.
5*0e8011faSEmmanuel Vadot */
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadot/dts-v1/;
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadot#include "msm8916-pm8916.dtsi"
10*0e8011faSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
11*0e8011faSEmmanuel Vadot#include <dt-bindings/input/input.h>
12*0e8011faSEmmanuel Vadot#include <dt-bindings/leds/common.h>
13*0e8011faSEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
14*0e8011faSEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
15*0e8011faSEmmanuel Vadot#include <dt-bindings/sound/apq8016-lpass.h>
16*0e8011faSEmmanuel Vadot
17*0e8011faSEmmanuel Vadot/ {
18*0e8011faSEmmanuel Vadot	model = "Schneider Electric HMIBSC Board";
19*0e8011faSEmmanuel Vadot	compatible = "schneider,apq8016-hmibsc", "qcom,apq8016";
20*0e8011faSEmmanuel Vadot
21*0e8011faSEmmanuel Vadot	aliases {
22*0e8011faSEmmanuel Vadot		i2c1 = &blsp_i2c6;
23*0e8011faSEmmanuel Vadot		i2c3 = &blsp_i2c4;
24*0e8011faSEmmanuel Vadot		i2c4 = &blsp_i2c3;
25*0e8011faSEmmanuel Vadot		mmc0 = &sdhc_1; /* eMMC */
26*0e8011faSEmmanuel Vadot		mmc1 = &sdhc_2; /* SD card */
27*0e8011faSEmmanuel Vadot		serial0 = &blsp_uart1;
28*0e8011faSEmmanuel Vadot		serial1 = &blsp_uart2;
29*0e8011faSEmmanuel Vadot		spi0 = &blsp_spi5;
30*0e8011faSEmmanuel Vadot		usid0 = &pm8916_0;
31*0e8011faSEmmanuel Vadot	};
32*0e8011faSEmmanuel Vadot
33*0e8011faSEmmanuel Vadot	chosen {
34*0e8011faSEmmanuel Vadot		stdout-path = "serial0";
35*0e8011faSEmmanuel Vadot	};
36*0e8011faSEmmanuel Vadot
37*0e8011faSEmmanuel Vadot	hdmi-out {
38*0e8011faSEmmanuel Vadot		compatible = "hdmi-connector";
39*0e8011faSEmmanuel Vadot		type = "a";
40*0e8011faSEmmanuel Vadot
41*0e8011faSEmmanuel Vadot		port {
42*0e8011faSEmmanuel Vadot			hdmi_con: endpoint {
43*0e8011faSEmmanuel Vadot				remote-endpoint = <&adv7533_out>;
44*0e8011faSEmmanuel Vadot			};
45*0e8011faSEmmanuel Vadot		};
46*0e8011faSEmmanuel Vadot	};
47*0e8011faSEmmanuel Vadot
48*0e8011faSEmmanuel Vadot	gpio-keys {
49*0e8011faSEmmanuel Vadot		compatible = "gpio-keys";
50*0e8011faSEmmanuel Vadot		autorepeat;
51*0e8011faSEmmanuel Vadot		pinctrl-0 = <&msm_key_volp_n_default>;
52*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
53*0e8011faSEmmanuel Vadot
54*0e8011faSEmmanuel Vadot		button {
55*0e8011faSEmmanuel Vadot			label = "Volume Up";
56*0e8011faSEmmanuel Vadot			linux,code = <KEY_VOLUMEUP>;
57*0e8011faSEmmanuel Vadot			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
58*0e8011faSEmmanuel Vadot		};
59*0e8011faSEmmanuel Vadot	};
60*0e8011faSEmmanuel Vadot
61*0e8011faSEmmanuel Vadot	leds {
62*0e8011faSEmmanuel Vadot		compatible = "gpio-leds";
63*0e8011faSEmmanuel Vadot		pinctrl-0 = <&pm8916_mpps_leds>;
64*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
65*0e8011faSEmmanuel Vadot
66*0e8011faSEmmanuel Vadot		led-1 {
67*0e8011faSEmmanuel Vadot			function = LED_FUNCTION_WLAN;
68*0e8011faSEmmanuel Vadot			color = <LED_COLOR_ID_YELLOW>;
69*0e8011faSEmmanuel Vadot			gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>;
70*0e8011faSEmmanuel Vadot			linux,default-trigger = "phy0tx";
71*0e8011faSEmmanuel Vadot			default-state = "off";
72*0e8011faSEmmanuel Vadot		};
73*0e8011faSEmmanuel Vadot
74*0e8011faSEmmanuel Vadot		led-2 {
75*0e8011faSEmmanuel Vadot			function = LED_FUNCTION_BLUETOOTH;
76*0e8011faSEmmanuel Vadot			color = <LED_COLOR_ID_BLUE>;
77*0e8011faSEmmanuel Vadot			gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>;
78*0e8011faSEmmanuel Vadot			linux,default-trigger = "bluetooth-power";
79*0e8011faSEmmanuel Vadot			default-state = "off";
80*0e8011faSEmmanuel Vadot		};
81*0e8011faSEmmanuel Vadot	};
82*0e8011faSEmmanuel Vadot
83*0e8011faSEmmanuel Vadot	memory@80000000 {
84*0e8011faSEmmanuel Vadot		reg = <0 0x80000000 0 0x40000000>;
85*0e8011faSEmmanuel Vadot	};
86*0e8011faSEmmanuel Vadot
87*0e8011faSEmmanuel Vadot	reserved-memory {
88*0e8011faSEmmanuel Vadot		ramoops@bff00000 {
89*0e8011faSEmmanuel Vadot			compatible = "ramoops";
90*0e8011faSEmmanuel Vadot			reg = <0x0 0xbff00000 0x0 0x100000>;
91*0e8011faSEmmanuel Vadot			record-size = <0x20000>;
92*0e8011faSEmmanuel Vadot			console-size = <0x20000>;
93*0e8011faSEmmanuel Vadot			ftrace-size = <0x20000>;
94*0e8011faSEmmanuel Vadot			ecc-size = <16>;
95*0e8011faSEmmanuel Vadot		};
96*0e8011faSEmmanuel Vadot	};
97*0e8011faSEmmanuel Vadot
98*0e8011faSEmmanuel Vadot	usb-hub {
99*0e8011faSEmmanuel Vadot		compatible = "smsc,usb3503";
100*0e8011faSEmmanuel Vadot		reset-gpios = <&pm8916_gpios 1 GPIO_ACTIVE_LOW>;
101*0e8011faSEmmanuel Vadot		initial-mode = <1>;
102*0e8011faSEmmanuel Vadot	};
103*0e8011faSEmmanuel Vadot
104*0e8011faSEmmanuel Vadot	usb_id: usb-id {
105*0e8011faSEmmanuel Vadot		compatible = "linux,extcon-usb-gpio";
106*0e8011faSEmmanuel Vadot		id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
107*0e8011faSEmmanuel Vadot		pinctrl-0 = <&usb_id_default>;
108*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
109*0e8011faSEmmanuel Vadot	};
110*0e8011faSEmmanuel Vadot};
111*0e8011faSEmmanuel Vadot
112*0e8011faSEmmanuel Vadot&blsp_i2c3 {
113*0e8011faSEmmanuel Vadot	status = "okay";
114*0e8011faSEmmanuel Vadot
115*0e8011faSEmmanuel Vadot	eeprom@50 {
116*0e8011faSEmmanuel Vadot		compatible = "atmel,24c32";
117*0e8011faSEmmanuel Vadot		reg = <0x50>;
118*0e8011faSEmmanuel Vadot	};
119*0e8011faSEmmanuel Vadot};
120*0e8011faSEmmanuel Vadot
121*0e8011faSEmmanuel Vadot&blsp_i2c4 {
122*0e8011faSEmmanuel Vadot	status = "okay";
123*0e8011faSEmmanuel Vadot
124*0e8011faSEmmanuel Vadot	adv_bridge: bridge@39 {
125*0e8011faSEmmanuel Vadot		compatible = "adi,adv7533";
126*0e8011faSEmmanuel Vadot		reg = <0x39>;
127*0e8011faSEmmanuel Vadot		interrupts-extended = <&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
128*0e8011faSEmmanuel Vadot
129*0e8011faSEmmanuel Vadot		adi,dsi-lanes = <4>;
130*0e8011faSEmmanuel Vadot		clocks = <&rpmcc RPM_SMD_BB_CLK2>;
131*0e8011faSEmmanuel Vadot		clock-names = "cec";
132*0e8011faSEmmanuel Vadot		pd-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
133*0e8011faSEmmanuel Vadot
134*0e8011faSEmmanuel Vadot		avdd-supply = <&pm8916_l6>;
135*0e8011faSEmmanuel Vadot		a2vdd-supply = <&pm8916_l6>;
136*0e8011faSEmmanuel Vadot		dvdd-supply = <&pm8916_l6>;
137*0e8011faSEmmanuel Vadot		pvdd-supply = <&pm8916_l6>;
138*0e8011faSEmmanuel Vadot		v1p2-supply = <&pm8916_l6>;
139*0e8011faSEmmanuel Vadot		v3p3-supply = <&pm8916_l17>;
140*0e8011faSEmmanuel Vadot
141*0e8011faSEmmanuel Vadot		pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
142*0e8011faSEmmanuel Vadot		pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
143*0e8011faSEmmanuel Vadot		pinctrl-names = "default","sleep";
144*0e8011faSEmmanuel Vadot		#sound-dai-cells = <0>;
145*0e8011faSEmmanuel Vadot
146*0e8011faSEmmanuel Vadot		ports {
147*0e8011faSEmmanuel Vadot			#address-cells = <1>;
148*0e8011faSEmmanuel Vadot			#size-cells = <0>;
149*0e8011faSEmmanuel Vadot
150*0e8011faSEmmanuel Vadot			port@0 {
151*0e8011faSEmmanuel Vadot				reg = <0>;
152*0e8011faSEmmanuel Vadot				adv7533_in: endpoint {
153*0e8011faSEmmanuel Vadot					remote-endpoint = <&mdss_dsi0_out>;
154*0e8011faSEmmanuel Vadot				};
155*0e8011faSEmmanuel Vadot			};
156*0e8011faSEmmanuel Vadot
157*0e8011faSEmmanuel Vadot			port@1 {
158*0e8011faSEmmanuel Vadot				reg = <1>;
159*0e8011faSEmmanuel Vadot				adv7533_out: endpoint {
160*0e8011faSEmmanuel Vadot					remote-endpoint = <&hdmi_con>;
161*0e8011faSEmmanuel Vadot				};
162*0e8011faSEmmanuel Vadot			};
163*0e8011faSEmmanuel Vadot		};
164*0e8011faSEmmanuel Vadot	};
165*0e8011faSEmmanuel Vadot};
166*0e8011faSEmmanuel Vadot
167*0e8011faSEmmanuel Vadot&blsp_i2c6 {
168*0e8011faSEmmanuel Vadot	status = "okay";
169*0e8011faSEmmanuel Vadot
170*0e8011faSEmmanuel Vadot	rtc@30 {
171*0e8011faSEmmanuel Vadot		compatible = "sii,s35390a";
172*0e8011faSEmmanuel Vadot		reg = <0x30>;
173*0e8011faSEmmanuel Vadot	};
174*0e8011faSEmmanuel Vadot
175*0e8011faSEmmanuel Vadot	eeprom@50 {
176*0e8011faSEmmanuel Vadot		compatible = "atmel,24c256";
177*0e8011faSEmmanuel Vadot		reg = <0x50>;
178*0e8011faSEmmanuel Vadot	};
179*0e8011faSEmmanuel Vadot};
180*0e8011faSEmmanuel Vadot
181*0e8011faSEmmanuel Vadot&blsp_spi5 {
182*0e8011faSEmmanuel Vadot	cs-gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
183*0e8011faSEmmanuel Vadot	status = "okay";
184*0e8011faSEmmanuel Vadot
185*0e8011faSEmmanuel Vadot	tpm@0 {
186*0e8011faSEmmanuel Vadot		compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
187*0e8011faSEmmanuel Vadot		reg = <0>;
188*0e8011faSEmmanuel Vadot		spi-max-frequency = <500000>;
189*0e8011faSEmmanuel Vadot	};
190*0e8011faSEmmanuel Vadot};
191*0e8011faSEmmanuel Vadot
192*0e8011faSEmmanuel Vadot&blsp_uart1 {
193*0e8011faSEmmanuel Vadot	label = "UART0";
194*0e8011faSEmmanuel Vadot	status = "okay";
195*0e8011faSEmmanuel Vadot};
196*0e8011faSEmmanuel Vadot
197*0e8011faSEmmanuel Vadot&blsp_uart2 {
198*0e8011faSEmmanuel Vadot	label = "UART1";
199*0e8011faSEmmanuel Vadot	status = "okay";
200*0e8011faSEmmanuel Vadot};
201*0e8011faSEmmanuel Vadot
202*0e8011faSEmmanuel Vadot&lpass {
203*0e8011faSEmmanuel Vadot	status = "okay";
204*0e8011faSEmmanuel Vadot};
205*0e8011faSEmmanuel Vadot
206*0e8011faSEmmanuel Vadot&mdss {
207*0e8011faSEmmanuel Vadot	status = "okay";
208*0e8011faSEmmanuel Vadot};
209*0e8011faSEmmanuel Vadot
210*0e8011faSEmmanuel Vadot&mdss_dsi0_out {
211*0e8011faSEmmanuel Vadot	data-lanes = <0 1 2 3>;
212*0e8011faSEmmanuel Vadot	remote-endpoint = <&adv7533_in>;
213*0e8011faSEmmanuel Vadot};
214*0e8011faSEmmanuel Vadot
215*0e8011faSEmmanuel Vadot&pm8916_codec {
216*0e8011faSEmmanuel Vadot	qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
217*0e8011faSEmmanuel Vadot	qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
218*0e8011faSEmmanuel Vadot	status = "okay";
219*0e8011faSEmmanuel Vadot};
220*0e8011faSEmmanuel Vadot
221*0e8011faSEmmanuel Vadot&pm8916_gpios {
222*0e8011faSEmmanuel Vadot	gpio-line-names =
223*0e8011faSEmmanuel Vadot		"USB_HUB_RESET_N_PM",
224*0e8011faSEmmanuel Vadot		"USB_SW_SEL_PM",
225*0e8011faSEmmanuel Vadot		"NC",
226*0e8011faSEmmanuel Vadot		"NC";
227*0e8011faSEmmanuel Vadot
228*0e8011faSEmmanuel Vadot	usb_hub_reset_pm: usb-hub-reset-pm-state {
229*0e8011faSEmmanuel Vadot		pins = "gpio1";
230*0e8011faSEmmanuel Vadot		function = PMIC_GPIO_FUNC_NORMAL;
231*0e8011faSEmmanuel Vadot		input-disable;
232*0e8011faSEmmanuel Vadot		output-high;
233*0e8011faSEmmanuel Vadot	};
234*0e8011faSEmmanuel Vadot
235*0e8011faSEmmanuel Vadot	usb_hub_reset_pm_device: usb-hub-reset-pm-device-state {
236*0e8011faSEmmanuel Vadot		pins = "gpio1";
237*0e8011faSEmmanuel Vadot		function = PMIC_GPIO_FUNC_NORMAL;
238*0e8011faSEmmanuel Vadot		input-disable;
239*0e8011faSEmmanuel Vadot		output-low;
240*0e8011faSEmmanuel Vadot	};
241*0e8011faSEmmanuel Vadot
242*0e8011faSEmmanuel Vadot	usb_sw_sel_pm: usb-sw-sel-pm-state {
243*0e8011faSEmmanuel Vadot		pins = "gpio2";
244*0e8011faSEmmanuel Vadot		function = PMIC_GPIO_FUNC_NORMAL;
245*0e8011faSEmmanuel Vadot		power-source = <PM8916_GPIO_VPH>;
246*0e8011faSEmmanuel Vadot		input-disable;
247*0e8011faSEmmanuel Vadot		output-high;
248*0e8011faSEmmanuel Vadot	};
249*0e8011faSEmmanuel Vadot
250*0e8011faSEmmanuel Vadot	usb_sw_sel_pm_device: usb-sw-sel-pm-device-state {
251*0e8011faSEmmanuel Vadot		pins = "gpio2";
252*0e8011faSEmmanuel Vadot		function = PMIC_GPIO_FUNC_NORMAL;
253*0e8011faSEmmanuel Vadot		power-source = <PM8916_GPIO_VPH>;
254*0e8011faSEmmanuel Vadot		input-disable;
255*0e8011faSEmmanuel Vadot		output-low;
256*0e8011faSEmmanuel Vadot	};
257*0e8011faSEmmanuel Vadot};
258*0e8011faSEmmanuel Vadot
259*0e8011faSEmmanuel Vadot&pm8916_mpps {
260*0e8011faSEmmanuel Vadot	gpio-line-names =
261*0e8011faSEmmanuel Vadot		"NC",
262*0e8011faSEmmanuel Vadot		"WLAN_LED_CTRL",
263*0e8011faSEmmanuel Vadot		"BT_LED_CTRL",
264*0e8011faSEmmanuel Vadot		"NC";
265*0e8011faSEmmanuel Vadot
266*0e8011faSEmmanuel Vadot	pm8916_mpps_leds: pm8916-mpps-state {
267*0e8011faSEmmanuel Vadot		pins = "mpp2", "mpp3";
268*0e8011faSEmmanuel Vadot		function = "digital";
269*0e8011faSEmmanuel Vadot		output-low;
270*0e8011faSEmmanuel Vadot	};
271*0e8011faSEmmanuel Vadot};
272*0e8011faSEmmanuel Vadot
273*0e8011faSEmmanuel Vadot&pm8916_resin {
274*0e8011faSEmmanuel Vadot	linux,code = <KEY_POWER>;
275*0e8011faSEmmanuel Vadot	status = "okay";
276*0e8011faSEmmanuel Vadot};
277*0e8011faSEmmanuel Vadot
278*0e8011faSEmmanuel Vadot&pm8916_rpm_regulators {
279*0e8011faSEmmanuel Vadot	pm8916_l17: l17 {
280*0e8011faSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
281*0e8011faSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
282*0e8011faSEmmanuel Vadot	};
283*0e8011faSEmmanuel Vadot};
284*0e8011faSEmmanuel Vadot
285*0e8011faSEmmanuel Vadot&sdhc_1 {
286*0e8011faSEmmanuel Vadot	status = "okay";
287*0e8011faSEmmanuel Vadot};
288*0e8011faSEmmanuel Vadot
289*0e8011faSEmmanuel Vadot&sdhc_2 {
290*0e8011faSEmmanuel Vadot	pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
291*0e8011faSEmmanuel Vadot	pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
292*0e8011faSEmmanuel Vadot	pinctrl-names = "default", "sleep";
293*0e8011faSEmmanuel Vadot	cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
294*0e8011faSEmmanuel Vadot	status = "okay";
295*0e8011faSEmmanuel Vadot};
296*0e8011faSEmmanuel Vadot
297*0e8011faSEmmanuel Vadot&sound {
298*0e8011faSEmmanuel Vadot	pinctrl-0 = <&cdc_pdm_default &sec_mi2s_default>;
299*0e8011faSEmmanuel Vadot	pinctrl-1 = <&cdc_pdm_sleep &sec_mi2s_sleep>;
300*0e8011faSEmmanuel Vadot	pinctrl-names = "default", "sleep";
301*0e8011faSEmmanuel Vadot	model = "HMIBSC";
302*0e8011faSEmmanuel Vadot	audio-routing =
303*0e8011faSEmmanuel Vadot		"AMIC2", "MIC BIAS Internal2",
304*0e8011faSEmmanuel Vadot		"AMIC3", "MIC BIAS External1";
305*0e8011faSEmmanuel Vadot	status = "okay";
306*0e8011faSEmmanuel Vadot
307*0e8011faSEmmanuel Vadot	quaternary-dai-link {
308*0e8011faSEmmanuel Vadot		link-name = "ADV7533";
309*0e8011faSEmmanuel Vadot		cpu {
310*0e8011faSEmmanuel Vadot			sound-dai = <&lpass MI2S_QUATERNARY>;
311*0e8011faSEmmanuel Vadot		};
312*0e8011faSEmmanuel Vadot		codec {
313*0e8011faSEmmanuel Vadot			sound-dai = <&adv_bridge 0>;
314*0e8011faSEmmanuel Vadot		};
315*0e8011faSEmmanuel Vadot	};
316*0e8011faSEmmanuel Vadot
317*0e8011faSEmmanuel Vadot	primary-dai-link {
318*0e8011faSEmmanuel Vadot		link-name = "WCD";
319*0e8011faSEmmanuel Vadot		cpu {
320*0e8011faSEmmanuel Vadot			sound-dai = <&lpass MI2S_PRIMARY>;
321*0e8011faSEmmanuel Vadot		};
322*0e8011faSEmmanuel Vadot		codec {
323*0e8011faSEmmanuel Vadot			sound-dai = <&lpass_codec 0>, <&pm8916_codec 0>;
324*0e8011faSEmmanuel Vadot		};
325*0e8011faSEmmanuel Vadot	};
326*0e8011faSEmmanuel Vadot
327*0e8011faSEmmanuel Vadot	tertiary-dai-link {
328*0e8011faSEmmanuel Vadot		link-name = "WCD-Capture";
329*0e8011faSEmmanuel Vadot		cpu {
330*0e8011faSEmmanuel Vadot			sound-dai = <&lpass MI2S_TERTIARY>;
331*0e8011faSEmmanuel Vadot		};
332*0e8011faSEmmanuel Vadot		codec {
333*0e8011faSEmmanuel Vadot			sound-dai = <&lpass_codec 1>, <&pm8916_codec 1>;
334*0e8011faSEmmanuel Vadot		};
335*0e8011faSEmmanuel Vadot	};
336*0e8011faSEmmanuel Vadot};
337*0e8011faSEmmanuel Vadot
338*0e8011faSEmmanuel Vadot&tlmm {
339*0e8011faSEmmanuel Vadot	pinctrl-0 = <&uart1_mux0_rs232_high &uart1_mux1_rs232_low>;
340*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
341*0e8011faSEmmanuel Vadot
342*0e8011faSEmmanuel Vadot	adv7533_int_active: adv533-int-active-state {
343*0e8011faSEmmanuel Vadot		pins = "gpio31";
344*0e8011faSEmmanuel Vadot		function = "gpio";
345*0e8011faSEmmanuel Vadot		drive-strength = <16>;
346*0e8011faSEmmanuel Vadot		bias-disable;
347*0e8011faSEmmanuel Vadot	};
348*0e8011faSEmmanuel Vadot
349*0e8011faSEmmanuel Vadot	adv7533_int_suspend: adv7533-int-suspend-state {
350*0e8011faSEmmanuel Vadot		pins = "gpio31";
351*0e8011faSEmmanuel Vadot		function = "gpio";
352*0e8011faSEmmanuel Vadot		drive-strength = <2>;
353*0e8011faSEmmanuel Vadot		bias-disable;
354*0e8011faSEmmanuel Vadot	};
355*0e8011faSEmmanuel Vadot
356*0e8011faSEmmanuel Vadot	adv7533_switch_active: adv7533-switch-active-state {
357*0e8011faSEmmanuel Vadot		pins = "gpio32";
358*0e8011faSEmmanuel Vadot		function = "gpio";
359*0e8011faSEmmanuel Vadot		drive-strength = <16>;
360*0e8011faSEmmanuel Vadot		bias-disable;
361*0e8011faSEmmanuel Vadot	};
362*0e8011faSEmmanuel Vadot
363*0e8011faSEmmanuel Vadot	adv7533_switch_suspend: adv7533-switch-suspend-state {
364*0e8011faSEmmanuel Vadot		pins = "gpio32";
365*0e8011faSEmmanuel Vadot		function = "gpio";
366*0e8011faSEmmanuel Vadot		drive-strength = <2>;
367*0e8011faSEmmanuel Vadot		bias-disable;
368*0e8011faSEmmanuel Vadot	};
369*0e8011faSEmmanuel Vadot
370*0e8011faSEmmanuel Vadot	msm_key_volp_n_default: msm-key-volp-n-default-state {
371*0e8011faSEmmanuel Vadot		pins = "gpio107";
372*0e8011faSEmmanuel Vadot		function = "gpio";
373*0e8011faSEmmanuel Vadot		drive-strength = <8>;
374*0e8011faSEmmanuel Vadot		bias-pull-up;
375*0e8011faSEmmanuel Vadot	};
376*0e8011faSEmmanuel Vadot
377*0e8011faSEmmanuel Vadot	sdc2_cd_default: sdc2-cd-default-state {
378*0e8011faSEmmanuel Vadot		pins = "gpio38";
379*0e8011faSEmmanuel Vadot		function = "gpio";
380*0e8011faSEmmanuel Vadot		drive-strength = <2>;
381*0e8011faSEmmanuel Vadot		bias-disable;
382*0e8011faSEmmanuel Vadot	};
383*0e8011faSEmmanuel Vadot
384*0e8011faSEmmanuel Vadot	/*
385*0e8011faSEmmanuel Vadot	 * UART1 being the debug console supports various modes of
386*0e8011faSEmmanuel Vadot	 * operation (RS-232/485/422) controlled via GPIOs configured
387*0e8011faSEmmanuel Vadot	 * mux as follows:
388*0e8011faSEmmanuel Vadot	 *
389*0e8011faSEmmanuel Vadot	 *   gpio100    gpio99    UART mode
390*0e8011faSEmmanuel Vadot	 *   0          0         loopback
391*0e8011faSEmmanuel Vadot	 *   0          1         RS-232
392*0e8011faSEmmanuel Vadot	 *   1          0         RS-485
393*0e8011faSEmmanuel Vadot	 *   1          1         RS-422
394*0e8011faSEmmanuel Vadot	 *
395*0e8011faSEmmanuel Vadot	 * The default mode configured here is RS-232 mode.
396*0e8011faSEmmanuel Vadot	 */
397*0e8011faSEmmanuel Vadot	uart1_mux0_rs232_high: uart1-mux0-rs232-state {
398*0e8011faSEmmanuel Vadot		bootph-all;
399*0e8011faSEmmanuel Vadot		pins = "gpio99";
400*0e8011faSEmmanuel Vadot		function = "gpio";
401*0e8011faSEmmanuel Vadot		drive-strength = <16>;
402*0e8011faSEmmanuel Vadot		bias-disable;
403*0e8011faSEmmanuel Vadot		output-high;
404*0e8011faSEmmanuel Vadot	};
405*0e8011faSEmmanuel Vadot
406*0e8011faSEmmanuel Vadot	uart1_mux1_rs232_low: uart1-mux1-rs232-state {
407*0e8011faSEmmanuel Vadot		bootph-all;
408*0e8011faSEmmanuel Vadot		pins = "gpio100";
409*0e8011faSEmmanuel Vadot		function = "gpio";
410*0e8011faSEmmanuel Vadot		drive-strength = <16>;
411*0e8011faSEmmanuel Vadot		bias-disable;
412*0e8011faSEmmanuel Vadot		output-low;
413*0e8011faSEmmanuel Vadot	};
414*0e8011faSEmmanuel Vadot
415*0e8011faSEmmanuel Vadot	usb_id_default: usb-id-default-state {
416*0e8011faSEmmanuel Vadot		pins = "gpio110";
417*0e8011faSEmmanuel Vadot		function = "gpio";
418*0e8011faSEmmanuel Vadot		drive-strength = <8>;
419*0e8011faSEmmanuel Vadot		bias-pull-up;
420*0e8011faSEmmanuel Vadot	};
421*0e8011faSEmmanuel Vadot};
422*0e8011faSEmmanuel Vadot
423*0e8011faSEmmanuel Vadot&usb {
424*0e8011faSEmmanuel Vadot	extcon = <&usb_id>, <&usb_id>;
425*0e8011faSEmmanuel Vadot	pinctrl-0 = <&usb_sw_sel_pm &usb_hub_reset_pm>;
426*0e8011faSEmmanuel Vadot	pinctrl-1 = <&usb_sw_sel_pm_device &usb_hub_reset_pm_device>;
427*0e8011faSEmmanuel Vadot	pinctrl-names = "default", "device";
428*0e8011faSEmmanuel Vadot	status = "okay";
429*0e8011faSEmmanuel Vadot};
430*0e8011faSEmmanuel Vadot
431*0e8011faSEmmanuel Vadot&usb_hs_phy {
432*0e8011faSEmmanuel Vadot	extcon = <&usb_id>;
433*0e8011faSEmmanuel Vadot};
434*0e8011faSEmmanuel Vadot
435*0e8011faSEmmanuel Vadot&wcnss {
436*0e8011faSEmmanuel Vadot	firmware-name = "qcom/apq8016/wcnss.mbn";
437*0e8011faSEmmanuel Vadot	status = "okay";
438*0e8011faSEmmanuel Vadot};
439*0e8011faSEmmanuel Vadot
440*0e8011faSEmmanuel Vadot&wcnss_ctrl {
441*0e8011faSEmmanuel Vadot	firmware-name = "qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin";
442*0e8011faSEmmanuel Vadot};
443*0e8011faSEmmanuel Vadot
444*0e8011faSEmmanuel Vadot&wcnss_iris {
445*0e8011faSEmmanuel Vadot	compatible = "qcom,wcn3620";
446*0e8011faSEmmanuel Vadot};
447*0e8011faSEmmanuel Vadot
448*0e8011faSEmmanuel Vadot&wcnss_mem {
449*0e8011faSEmmanuel Vadot	status = "okay";
450*0e8011faSEmmanuel Vadot};
451*0e8011faSEmmanuel Vadot
452*0e8011faSEmmanuel Vadot/* PINCTRL - additions to nodes defined in msm8916.dtsi */
453*0e8011faSEmmanuel Vadot
454*0e8011faSEmmanuel Vadot/*
455*0e8011faSEmmanuel Vadot * 2mA drive strength is not enough when connecting multiple
456*0e8011faSEmmanuel Vadot * I2C devices with different pull up resistors.
457*0e8011faSEmmanuel Vadot */
458*0e8011faSEmmanuel Vadot&blsp_i2c4_default {
459*0e8011faSEmmanuel Vadot	drive-strength = <16>;
460*0e8011faSEmmanuel Vadot};
461*0e8011faSEmmanuel Vadot
462*0e8011faSEmmanuel Vadot&blsp_i2c6_default {
463*0e8011faSEmmanuel Vadot	drive-strength = <16>;
464*0e8011faSEmmanuel Vadot};
465*0e8011faSEmmanuel Vadot
466*0e8011faSEmmanuel Vadot&blsp_uart1_default {
467*0e8011faSEmmanuel Vadot	bootph-all;
468*0e8011faSEmmanuel Vadot};
469*0e8011faSEmmanuel Vadot
470*0e8011faSEmmanuel Vadot/* Enable CoreSight */
471*0e8011faSEmmanuel Vadot&cti0 { status = "okay"; };
472*0e8011faSEmmanuel Vadot&cti1 { status = "okay"; };
473*0e8011faSEmmanuel Vadot&cti12 { status = "okay"; };
474*0e8011faSEmmanuel Vadot&cti13 { status = "okay"; };
475*0e8011faSEmmanuel Vadot&cti14 { status = "okay"; };
476*0e8011faSEmmanuel Vadot&cti15 { status = "okay"; };
477*0e8011faSEmmanuel Vadot&debug0 { status = "okay"; };
478*0e8011faSEmmanuel Vadot&debug1 { status = "okay"; };
479*0e8011faSEmmanuel Vadot&debug2 { status = "okay"; };
480*0e8011faSEmmanuel Vadot&debug3 { status = "okay"; };
481*0e8011faSEmmanuel Vadot&etf { status = "okay"; };
482*0e8011faSEmmanuel Vadot&etm0 { status = "okay"; };
483*0e8011faSEmmanuel Vadot&etm1 { status = "okay"; };
484*0e8011faSEmmanuel Vadot&etm2 { status = "okay"; };
485*0e8011faSEmmanuel Vadot&etm3 { status = "okay"; };
486*0e8011faSEmmanuel Vadot&etr { status = "okay"; };
487*0e8011faSEmmanuel Vadot&funnel0 { status = "okay"; };
488*0e8011faSEmmanuel Vadot&funnel1 { status = "okay"; };
489*0e8011faSEmmanuel Vadot&replicator { status = "okay"; };
490*0e8011faSEmmanuel Vadot&stm { status = "okay"; };
491*0e8011faSEmmanuel Vadot&tpiu { status = "okay"; };
492