xref: /openbmc/linux/scripts/dtc/include-prefixes/arm64/qcom/apq8016-sbc.dts (revision b97d6790d03b763eca08847a9a5869a4291b9f9a)
197fb5e8dSThomas Gleixner// SPDX-License-Identifier: GPL-2.0-only
2282703e8SKumar Gala/*
3282703e8SKumar Gala * Copyright (c) 2015, The Linux Foundation. All rights reserved.
4282703e8SKumar Gala */
5282703e8SKumar Gala
6282703e8SKumar Gala/dts-v1/;
7282703e8SKumar Gala
8442ee1fcSStephan Gerhold#include "msm8916-pm8916.dtsi"
9442ee1fcSStephan Gerhold#include <dt-bindings/gpio/gpio.h>
10442ee1fcSStephan Gerhold#include <dt-bindings/input/input.h>
11a072128bSKrzysztof Kozlowski#include <dt-bindings/leds/common.h>
12442ee1fcSStephan Gerhold#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
13442ee1fcSStephan Gerhold#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
14442ee1fcSStephan Gerhold#include <dt-bindings/sound/apq8016-lpass.h>
15282703e8SKumar Gala
16282703e8SKumar Gala/ {
17282703e8SKumar Gala	model = "Qualcomm Technologies, Inc. APQ 8016 SBC";
18acf050abSVinod Koul	compatible = "qcom,apq8016-sbc", "qcom,apq8016";
19442ee1fcSStephan Gerhold
20442ee1fcSStephan Gerhold	aliases {
21154f23a8SStephan Gerhold		mmc0 = &sdhc_1; /* eMMC */
22154f23a8SStephan Gerhold		mmc1 = &sdhc_2; /* SD card */
23c310ca82SStephan Gerhold		serial0 = &blsp_uart2;
24c310ca82SStephan Gerhold		serial1 = &blsp_uart1;
25442ee1fcSStephan Gerhold		usid0 = &pm8916_0;
26442ee1fcSStephan Gerhold		i2c0 = &blsp_i2c2;
27442ee1fcSStephan Gerhold		i2c1 = &blsp_i2c6;
28442ee1fcSStephan Gerhold		i2c3 = &blsp_i2c4;
29442ee1fcSStephan Gerhold		spi0 = &blsp_spi5;
30442ee1fcSStephan Gerhold		spi1 = &blsp_spi3;
31442ee1fcSStephan Gerhold	};
32442ee1fcSStephan Gerhold
33442ee1fcSStephan Gerhold	chosen {
34442ee1fcSStephan Gerhold		stdout-path = "serial0";
35442ee1fcSStephan Gerhold	};
36442ee1fcSStephan Gerhold
37442ee1fcSStephan Gerhold	reserved-memory {
38442ee1fcSStephan Gerhold		ramoops@bff00000 {
39442ee1fcSStephan Gerhold			compatible = "ramoops";
40442ee1fcSStephan Gerhold			reg = <0x0 0xbff00000 0x0 0x100000>;
41442ee1fcSStephan Gerhold
42442ee1fcSStephan Gerhold			record-size = <0x20000>;
43442ee1fcSStephan Gerhold			console-size = <0x20000>;
44442ee1fcSStephan Gerhold			ftrace-size = <0x20000>;
45442ee1fcSStephan Gerhold		};
46442ee1fcSStephan Gerhold	};
47442ee1fcSStephan Gerhold
48442ee1fcSStephan Gerhold	usb2513 {
49442ee1fcSStephan Gerhold		compatible = "smsc,usb3503";
50442ee1fcSStephan Gerhold		reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>;
51442ee1fcSStephan Gerhold		initial-mode = <1>;
52442ee1fcSStephan Gerhold	};
53442ee1fcSStephan Gerhold
54442ee1fcSStephan Gerhold	usb_id: usb-id {
55442ee1fcSStephan Gerhold		compatible = "linux,extcon-usb-gpio";
56f6485041SAlexander Stein		id-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>;
57442ee1fcSStephan Gerhold		pinctrl-names = "default";
58442ee1fcSStephan Gerhold		pinctrl-0 = <&usb_id_default>;
59442ee1fcSStephan Gerhold	};
60442ee1fcSStephan Gerhold
61442ee1fcSStephan Gerhold	hdmi-out {
62442ee1fcSStephan Gerhold		compatible = "hdmi-connector";
63442ee1fcSStephan Gerhold		type = "a";
64442ee1fcSStephan Gerhold
65442ee1fcSStephan Gerhold		port {
66442ee1fcSStephan Gerhold			hdmi_con: endpoint {
67442ee1fcSStephan Gerhold				remote-endpoint = <&adv7533_out>;
68442ee1fcSStephan Gerhold			};
69442ee1fcSStephan Gerhold		};
70442ee1fcSStephan Gerhold	};
71442ee1fcSStephan Gerhold
72442ee1fcSStephan Gerhold	gpio-keys {
73442ee1fcSStephan Gerhold		compatible = "gpio-keys";
74442ee1fcSStephan Gerhold		autorepeat;
75442ee1fcSStephan Gerhold
76442ee1fcSStephan Gerhold		pinctrl-names = "default";
77442ee1fcSStephan Gerhold		pinctrl-0 = <&msm_key_volp_n_default>;
78442ee1fcSStephan Gerhold
795a4b0b85SKrzysztof Kozlowski		button {
80442ee1fcSStephan Gerhold			label = "Volume Up";
81442ee1fcSStephan Gerhold			linux,code = <KEY_VOLUMEUP>;
8241e22c2fSStephan Gerhold			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
83442ee1fcSStephan Gerhold		};
84442ee1fcSStephan Gerhold	};
85442ee1fcSStephan Gerhold
86442ee1fcSStephan Gerhold	leds {
87442ee1fcSStephan Gerhold		pinctrl-names = "default";
8841e22c2fSStephan Gerhold		pinctrl-0 = <&tlmm_leds>,
89442ee1fcSStephan Gerhold			    <&pm8916_gpios_leds>,
90442ee1fcSStephan Gerhold			    <&pm8916_mpps_leds>;
91442ee1fcSStephan Gerhold
92442ee1fcSStephan Gerhold		compatible = "gpio-leds";
93442ee1fcSStephan Gerhold
94442ee1fcSStephan Gerhold		led@1 {
95442ee1fcSStephan Gerhold			label = "apq8016-sbc:green:user1";
96a072128bSKrzysztof Kozlowski			function = LED_FUNCTION_HEARTBEAT;
97a072128bSKrzysztof Kozlowski			color = <LED_COLOR_ID_GREEN>;
9841e22c2fSStephan Gerhold			gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
99442ee1fcSStephan Gerhold			linux,default-trigger = "heartbeat";
100442ee1fcSStephan Gerhold			default-state = "off";
101442ee1fcSStephan Gerhold		};
102442ee1fcSStephan Gerhold
103442ee1fcSStephan Gerhold		led@2 {
104442ee1fcSStephan Gerhold			label = "apq8016-sbc:green:user2";
105a072128bSKrzysztof Kozlowski			function = LED_FUNCTION_DISK_ACTIVITY;
106a072128bSKrzysztof Kozlowski			color = <LED_COLOR_ID_GREEN>;
10741e22c2fSStephan Gerhold			gpios = <&tlmm 120 GPIO_ACTIVE_HIGH>;
108442ee1fcSStephan Gerhold			linux,default-trigger = "mmc0";
109442ee1fcSStephan Gerhold			default-state = "off";
110442ee1fcSStephan Gerhold		};
111442ee1fcSStephan Gerhold
112442ee1fcSStephan Gerhold		led@3 {
113442ee1fcSStephan Gerhold			label = "apq8016-sbc:green:user3";
114a072128bSKrzysztof Kozlowski			function = LED_FUNCTION_DISK_ACTIVITY;
115a072128bSKrzysztof Kozlowski			color = <LED_COLOR_ID_GREEN>;
116442ee1fcSStephan Gerhold			gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>;
117442ee1fcSStephan Gerhold			linux,default-trigger = "mmc1";
118442ee1fcSStephan Gerhold			default-state = "off";
119442ee1fcSStephan Gerhold		};
120442ee1fcSStephan Gerhold
121442ee1fcSStephan Gerhold		led@4 {
122442ee1fcSStephan Gerhold			label = "apq8016-sbc:green:user4";
123a072128bSKrzysztof Kozlowski			color = <LED_COLOR_ID_GREEN>;
124442ee1fcSStephan Gerhold			gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>;
125442ee1fcSStephan Gerhold			linux,default-trigger = "none";
126442ee1fcSStephan Gerhold			panic-indicator;
127442ee1fcSStephan Gerhold			default-state = "off";
128442ee1fcSStephan Gerhold		};
129442ee1fcSStephan Gerhold
130442ee1fcSStephan Gerhold		led@5 {
131442ee1fcSStephan Gerhold			label = "apq8016-sbc:yellow:wlan";
132a072128bSKrzysztof Kozlowski			function = LED_FUNCTION_WLAN;
133a072128bSKrzysztof Kozlowski			color = <LED_COLOR_ID_YELLOW>;
134442ee1fcSStephan Gerhold			gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>;
135442ee1fcSStephan Gerhold			linux,default-trigger = "phy0tx";
136442ee1fcSStephan Gerhold			default-state = "off";
137442ee1fcSStephan Gerhold		};
138442ee1fcSStephan Gerhold
139442ee1fcSStephan Gerhold		led@6 {
140442ee1fcSStephan Gerhold			label = "apq8016-sbc:blue:bt";
141a072128bSKrzysztof Kozlowski			function = LED_FUNCTION_BLUETOOTH;
142a072128bSKrzysztof Kozlowski			color = <LED_COLOR_ID_BLUE>;
143442ee1fcSStephan Gerhold			gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>;
144442ee1fcSStephan Gerhold			linux,default-trigger = "bluetooth-power";
145442ee1fcSStephan Gerhold			default-state = "off";
146442ee1fcSStephan Gerhold		};
147442ee1fcSStephan Gerhold	};
148442ee1fcSStephan Gerhold};
149442ee1fcSStephan Gerhold
150442ee1fcSStephan Gerhold&blsp_i2c2 {
151031df8e6SKrzysztof Kozlowski	/* On Low speed expansion: LS-I2C0 */
152442ee1fcSStephan Gerhold	status = "okay";
153442ee1fcSStephan Gerhold};
154442ee1fcSStephan Gerhold
155442ee1fcSStephan Gerhold&blsp_i2c4 {
156031df8e6SKrzysztof Kozlowski	/* On High speed expansion: HS-I2C2 */
157442ee1fcSStephan Gerhold	status = "okay";
158442ee1fcSStephan Gerhold
159442ee1fcSStephan Gerhold	adv_bridge: bridge@39 {
160442ee1fcSStephan Gerhold		status = "okay";
161442ee1fcSStephan Gerhold
162442ee1fcSStephan Gerhold		compatible = "adi,adv7533";
163442ee1fcSStephan Gerhold		reg = <0x39>;
164442ee1fcSStephan Gerhold
16541e22c2fSStephan Gerhold		interrupt-parent = <&tlmm>;
166442ee1fcSStephan Gerhold		interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
167442ee1fcSStephan Gerhold
168442ee1fcSStephan Gerhold		adi,dsi-lanes = <4>;
169442ee1fcSStephan Gerhold		clocks = <&rpmcc RPM_SMD_BB_CLK2>;
170442ee1fcSStephan Gerhold		clock-names = "cec";
171442ee1fcSStephan Gerhold
17241e22c2fSStephan Gerhold		pd-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>;
173442ee1fcSStephan Gerhold
174442ee1fcSStephan Gerhold		avdd-supply = <&pm8916_l6>;
175*49efe1dbSStephan Gerhold		a2vdd-supply = <&pm8916_l6>;
176*49efe1dbSStephan Gerhold		dvdd-supply = <&pm8916_l6>;
177*49efe1dbSStephan Gerhold		pvdd-supply = <&pm8916_l6>;
178442ee1fcSStephan Gerhold		v1p2-supply = <&pm8916_l6>;
179442ee1fcSStephan Gerhold		v3p3-supply = <&pm8916_l17>;
180442ee1fcSStephan Gerhold
181442ee1fcSStephan Gerhold		pinctrl-names = "default","sleep";
182442ee1fcSStephan Gerhold		pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
183442ee1fcSStephan Gerhold		pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
184442ee1fcSStephan Gerhold		#sound-dai-cells = <1>;
185442ee1fcSStephan Gerhold
186442ee1fcSStephan Gerhold		ports {
187442ee1fcSStephan Gerhold			#address-cells = <1>;
188442ee1fcSStephan Gerhold			#size-cells = <0>;
189442ee1fcSStephan Gerhold
190442ee1fcSStephan Gerhold			port@0 {
191442ee1fcSStephan Gerhold				reg = <0>;
192442ee1fcSStephan Gerhold				adv7533_in: endpoint {
193835f9395SStephan Gerhold					remote-endpoint = <&mdss_dsi0_out>;
194442ee1fcSStephan Gerhold				};
195442ee1fcSStephan Gerhold			};
196442ee1fcSStephan Gerhold
197442ee1fcSStephan Gerhold			port@1 {
198442ee1fcSStephan Gerhold				reg = <1>;
199442ee1fcSStephan Gerhold				adv7533_out: endpoint {
200442ee1fcSStephan Gerhold					remote-endpoint = <&hdmi_con>;
201442ee1fcSStephan Gerhold				};
202442ee1fcSStephan Gerhold			};
203442ee1fcSStephan Gerhold		};
204442ee1fcSStephan Gerhold	};
205442ee1fcSStephan Gerhold};
206442ee1fcSStephan Gerhold
207442ee1fcSStephan Gerhold&blsp_i2c6 {
208031df8e6SKrzysztof Kozlowski	/* On Low speed expansion: LS-I2C1 */
209442ee1fcSStephan Gerhold	status = "okay";
210442ee1fcSStephan Gerhold};
211442ee1fcSStephan Gerhold
212442ee1fcSStephan Gerhold&blsp_spi3 {
213031df8e6SKrzysztof Kozlowski	/* On High speed expansion: HS-SPI1 */
214442ee1fcSStephan Gerhold	status = "okay";
215442ee1fcSStephan Gerhold};
216442ee1fcSStephan Gerhold
217442ee1fcSStephan Gerhold&blsp_spi5 {
218031df8e6SKrzysztof Kozlowski	/* On Low speed expansion: LS-SPI0 */
219442ee1fcSStephan Gerhold	status = "okay";
220442ee1fcSStephan Gerhold};
221442ee1fcSStephan Gerhold
222c310ca82SStephan Gerhold&blsp_uart1 {
223442ee1fcSStephan Gerhold	status = "okay";
224442ee1fcSStephan Gerhold	label = "LS-UART0";
225442ee1fcSStephan Gerhold};
226442ee1fcSStephan Gerhold
227c310ca82SStephan Gerhold&blsp_uart2 {
228442ee1fcSStephan Gerhold	status = "okay";
229442ee1fcSStephan Gerhold	label = "LS-UART1";
230442ee1fcSStephan Gerhold};
231442ee1fcSStephan Gerhold
232c27c73bbSBryan O'Donoghue&camss {
233c27c73bbSBryan O'Donoghue	status = "okay";
234c27c73bbSBryan O'Donoghue};
235c27c73bbSBryan O'Donoghue
236442ee1fcSStephan Gerhold&lpass {
237442ee1fcSStephan Gerhold	status = "okay";
238442ee1fcSStephan Gerhold};
239442ee1fcSStephan Gerhold
240a5cf21b1SStephan Gerhold&lpass_codec {
241a5cf21b1SStephan Gerhold	status = "okay";
242a5cf21b1SStephan Gerhold};
243a5cf21b1SStephan Gerhold
244442ee1fcSStephan Gerhold&mdss {
245442ee1fcSStephan Gerhold	status = "okay";
246442ee1fcSStephan Gerhold};
247442ee1fcSStephan Gerhold
248835f9395SStephan Gerhold&mdss_dsi0_out {
249835f9395SStephan Gerhold	data-lanes = <0 1 2 3>;
250835f9395SStephan Gerhold	remote-endpoint = <&adv7533_in>;
251835f9395SStephan Gerhold};
252835f9395SStephan Gerhold
253442ee1fcSStephan Gerhold&mpss {
254442ee1fcSStephan Gerhold	status = "okay";
255442ee1fcSStephan Gerhold
256442ee1fcSStephan Gerhold	firmware-name = "qcom/apq8016/mba.mbn", "qcom/apq8016/modem.mbn";
257442ee1fcSStephan Gerhold};
258442ee1fcSStephan Gerhold
259274cf2bdSStephan Gerhold&pm8916_codec {
260274cf2bdSStephan Gerhold	status = "okay";
261274cf2bdSStephan Gerhold	clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
262274cf2bdSStephan Gerhold	clock-names = "mclk";
263274cf2bdSStephan Gerhold	qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
264274cf2bdSStephan Gerhold	qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
265274cf2bdSStephan Gerhold};
266274cf2bdSStephan Gerhold
267442ee1fcSStephan Gerhold&pm8916_resin {
268442ee1fcSStephan Gerhold	status = "okay";
269442ee1fcSStephan Gerhold	linux,code = <KEY_VOLUMEDOWN>;
270442ee1fcSStephan Gerhold};
271442ee1fcSStephan Gerhold
272b0a8f16aSStephan Gerhold&pm8916_rpm_regulators {
273b0a8f16aSStephan Gerhold	/*
274b0a8f16aSStephan Gerhold	 * The 96Boards specification expects a 1.8V power rail on the low-speed
275b0a8f16aSStephan Gerhold	 * expansion connector that is able to provide at least 0.18W / 100 mA.
276b0a8f16aSStephan Gerhold	 * L15/L16 are connected in parallel to provide 55 mA each. A minimum load
277b0a8f16aSStephan Gerhold	 * must be specified to ensure the regulators are not put in LPM where they
278b0a8f16aSStephan Gerhold	 * would only provide 5 mA.
279b0a8f16aSStephan Gerhold	 */
280b0a8f16aSStephan Gerhold	pm8916_l15: l15 {
281b0a8f16aSStephan Gerhold		regulator-min-microvolt = <1800000>;
282b0a8f16aSStephan Gerhold		regulator-max-microvolt = <1800000>;
283b0a8f16aSStephan Gerhold		regulator-system-load = <50000>;
284b0a8f16aSStephan Gerhold		regulator-allow-set-load;
285b0a8f16aSStephan Gerhold		regulator-always-on;
286b0a8f16aSStephan Gerhold	};
287b0a8f16aSStephan Gerhold	pm8916_l16: l16 {
288b0a8f16aSStephan Gerhold		regulator-min-microvolt = <1800000>;
289b0a8f16aSStephan Gerhold		regulator-max-microvolt = <1800000>;
290b0a8f16aSStephan Gerhold		regulator-system-load = <50000>;
291b0a8f16aSStephan Gerhold		regulator-allow-set-load;
292b0a8f16aSStephan Gerhold		regulator-always-on;
293b0a8f16aSStephan Gerhold	};
294b0a8f16aSStephan Gerhold
295b0a8f16aSStephan Gerhold	pm8916_l17: l17 {
296b0a8f16aSStephan Gerhold		regulator-min-microvolt = <3300000>;
297b0a8f16aSStephan Gerhold		regulator-max-microvolt = <3300000>;
298b0a8f16aSStephan Gerhold	};
299b0a8f16aSStephan Gerhold};
300b0a8f16aSStephan Gerhold
301442ee1fcSStephan Gerhold&sdhc_1 {
302442ee1fcSStephan Gerhold	status = "okay";
303442ee1fcSStephan Gerhold};
304442ee1fcSStephan Gerhold
305442ee1fcSStephan Gerhold&sdhc_2 {
306442ee1fcSStephan Gerhold	status = "okay";
307442ee1fcSStephan Gerhold
308442ee1fcSStephan Gerhold	pinctrl-names = "default", "sleep";
309c943e4c5SStephan Gerhold	pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
310c943e4c5SStephan Gerhold	pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
311442ee1fcSStephan Gerhold
31241e22c2fSStephan Gerhold	cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
313442ee1fcSStephan Gerhold};
314442ee1fcSStephan Gerhold
315442ee1fcSStephan Gerhold&sound {
316442ee1fcSStephan Gerhold	status = "okay";
317442ee1fcSStephan Gerhold
3180d3a93b1SStephan Gerhold	pinctrl-0 = <&cdc_pdm_default &sec_mi2s_default>;
3190d3a93b1SStephan Gerhold	pinctrl-1 = <&cdc_pdm_sleep &sec_mi2s_sleep>;
320442ee1fcSStephan Gerhold	pinctrl-names = "default", "sleep";
321ff15ae73SStephan Gerhold	model = "DB410c";
322ff15ae73SStephan Gerhold	audio-routing =
323442ee1fcSStephan Gerhold		"AMIC2", "MIC BIAS Internal2",
324442ee1fcSStephan Gerhold		"AMIC3", "MIC BIAS External1";
325442ee1fcSStephan Gerhold
326ff15ae73SStephan Gerhold	quaternary-dai-link {
327442ee1fcSStephan Gerhold		link-name = "ADV7533";
328442ee1fcSStephan Gerhold		cpu {
329442ee1fcSStephan Gerhold			sound-dai = <&lpass MI2S_QUATERNARY>;
330442ee1fcSStephan Gerhold		};
331442ee1fcSStephan Gerhold		codec {
332442ee1fcSStephan Gerhold			sound-dai = <&adv_bridge 0>;
333442ee1fcSStephan Gerhold		};
334442ee1fcSStephan Gerhold	};
335442ee1fcSStephan Gerhold
336ff15ae73SStephan Gerhold	primary-dai-link {
337442ee1fcSStephan Gerhold		link-name = "WCD";
338442ee1fcSStephan Gerhold		cpu {
339442ee1fcSStephan Gerhold			sound-dai = <&lpass MI2S_PRIMARY>;
340442ee1fcSStephan Gerhold		};
341442ee1fcSStephan Gerhold		codec {
342274cf2bdSStephan Gerhold			sound-dai = <&lpass_codec 0>, <&pm8916_codec 0>;
343442ee1fcSStephan Gerhold		};
344442ee1fcSStephan Gerhold	};
345442ee1fcSStephan Gerhold
346ff15ae73SStephan Gerhold	tertiary-dai-link {
347442ee1fcSStephan Gerhold		link-name = "WCD-Capture";
348442ee1fcSStephan Gerhold		cpu {
349442ee1fcSStephan Gerhold			sound-dai = <&lpass MI2S_TERTIARY>;
350442ee1fcSStephan Gerhold		};
351442ee1fcSStephan Gerhold		codec {
352274cf2bdSStephan Gerhold			sound-dai = <&lpass_codec 1>, <&pm8916_codec 1>;
353442ee1fcSStephan Gerhold		};
354442ee1fcSStephan Gerhold	};
355442ee1fcSStephan Gerhold};
356442ee1fcSStephan Gerhold
357442ee1fcSStephan Gerhold&usb {
358442ee1fcSStephan Gerhold	status = "okay";
359442ee1fcSStephan Gerhold	extcon = <&usb_id>, <&usb_id>;
360442ee1fcSStephan Gerhold
361442ee1fcSStephan Gerhold	pinctrl-names = "default", "device";
362442ee1fcSStephan Gerhold	pinctrl-0 = <&usb_sw_sel_pm &usb_hub_reset_pm>;
363442ee1fcSStephan Gerhold	pinctrl-1 = <&usb_sw_sel_pm_device &usb_hub_reset_pm_device>;
364442ee1fcSStephan Gerhold};
365442ee1fcSStephan Gerhold
366442ee1fcSStephan Gerhold&usb_hs_phy {
367442ee1fcSStephan Gerhold	extcon = <&usb_id>;
368442ee1fcSStephan Gerhold};
369442ee1fcSStephan Gerhold
37032444424SStephan Gerhold&wcnss {
37132444424SStephan Gerhold	status = "okay";
37232444424SStephan Gerhold	firmware-name = "qcom/apq8016/wcnss.mbn";
37332444424SStephan Gerhold};
37432444424SStephan Gerhold
375442ee1fcSStephan Gerhold&wcnss_ctrl {
376442ee1fcSStephan Gerhold	firmware-name = "qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin";
377442ee1fcSStephan Gerhold};
378442ee1fcSStephan Gerhold
37932444424SStephan Gerhold&wcnss_iris {
38032444424SStephan Gerhold	compatible = "qcom,wcn3620";
38132444424SStephan Gerhold};
38232444424SStephan Gerhold
383442ee1fcSStephan Gerhold/* Enable CoreSight */
384442ee1fcSStephan Gerhold&cti0 { status = "okay"; };
385442ee1fcSStephan Gerhold&cti1 { status = "okay"; };
386442ee1fcSStephan Gerhold&cti12 { status = "okay"; };
387442ee1fcSStephan Gerhold&cti13 { status = "okay"; };
388442ee1fcSStephan Gerhold&cti14 { status = "okay"; };
389442ee1fcSStephan Gerhold&cti15 { status = "okay"; };
390442ee1fcSStephan Gerhold&debug0 { status = "okay"; };
391442ee1fcSStephan Gerhold&debug1 { status = "okay"; };
392442ee1fcSStephan Gerhold&debug2 { status = "okay"; };
393442ee1fcSStephan Gerhold&debug3 { status = "okay"; };
394442ee1fcSStephan Gerhold&etf { status = "okay"; };
395442ee1fcSStephan Gerhold&etm0 { status = "okay"; };
396442ee1fcSStephan Gerhold&etm1 { status = "okay"; };
397442ee1fcSStephan Gerhold&etm2 { status = "okay"; };
398442ee1fcSStephan Gerhold&etm3 { status = "okay"; };
399442ee1fcSStephan Gerhold&etr { status = "okay"; };
400442ee1fcSStephan Gerhold&funnel0 { status = "okay"; };
401442ee1fcSStephan Gerhold&funnel1 { status = "okay"; };
402442ee1fcSStephan Gerhold&replicator { status = "okay"; };
403442ee1fcSStephan Gerhold&stm { status = "okay"; };
404442ee1fcSStephan Gerhold&tpiu { status = "okay"; };
405442ee1fcSStephan Gerhold
406442ee1fcSStephan Gerhold/*
407442ee1fcSStephan Gerhold * 2mA drive strength is not enough when connecting multiple
408442ee1fcSStephan Gerhold * I2C devices with different pull up resistors.
409442ee1fcSStephan Gerhold */
410fdfc21f6SStephan Gerhold&blsp_i2c2_default {
411442ee1fcSStephan Gerhold	drive-strength = <16>;
412442ee1fcSStephan Gerhold};
413442ee1fcSStephan Gerhold
414fdfc21f6SStephan Gerhold&blsp_i2c4_default {
415442ee1fcSStephan Gerhold	drive-strength = <16>;
416442ee1fcSStephan Gerhold};
417442ee1fcSStephan Gerhold
418fdfc21f6SStephan Gerhold&blsp_i2c6_default {
419442ee1fcSStephan Gerhold	drive-strength = <16>;
420442ee1fcSStephan Gerhold};
421442ee1fcSStephan Gerhold
422442ee1fcSStephan Gerhold/*
423442ee1fcSStephan Gerhold * GPIO name legend: proper name = the GPIO line is used as GPIO
424442ee1fcSStephan Gerhold *         NC = not connected (pin out but not routed from the chip to
425442ee1fcSStephan Gerhold *              anything the board)
426442ee1fcSStephan Gerhold *         "[PER]" = pin is muxed for [peripheral] (not GPIO)
427442ee1fcSStephan Gerhold *         LSEC = Low Speed External Connector
428442ee1fcSStephan Gerhold *         HSEC = High Speed External Connector
429442ee1fcSStephan Gerhold *
430442ee1fcSStephan Gerhold * Line names are taken from the schematic "DragonBoard410c"
431442ee1fcSStephan Gerhold * dated monday, august 31, 2015. Page 5 in particular.
432442ee1fcSStephan Gerhold *
433442ee1fcSStephan Gerhold * For the lines routed to the external connectors the
434442ee1fcSStephan Gerhold * lines are named after the 96Boards CE Specification 1.0,
435442ee1fcSStephan Gerhold * Appendix "Expansion Connector Signal Description".
436442ee1fcSStephan Gerhold *
437442ee1fcSStephan Gerhold * When the 96Board naming of a line and the schematic name of
438442ee1fcSStephan Gerhold * the same line are in conflict, the 96Board specification
439442ee1fcSStephan Gerhold * takes precedence, which means that the external UART on the
440442ee1fcSStephan Gerhold * LSEC is named UART0 while the schematic and SoC names this
441442ee1fcSStephan Gerhold * UART3. This is only for the informational lines i.e. "[FOO]",
442442ee1fcSStephan Gerhold * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only
443442ee1fcSStephan Gerhold * ones actually used for GPIO.
444442ee1fcSStephan Gerhold */
445442ee1fcSStephan Gerhold
44641e22c2fSStephan Gerhold&tlmm {
447442ee1fcSStephan Gerhold	gpio-line-names =
448442ee1fcSStephan Gerhold		"[UART0_TX]", /* GPIO_0, LSEC pin 5 */
449442ee1fcSStephan Gerhold		"[UART0_RX]", /* GPIO_1, LSEC pin 7 */
450442ee1fcSStephan Gerhold		"[UART0_CTS_N]", /* GPIO_2, LSEC pin 3 */
451442ee1fcSStephan Gerhold		"[UART0_RTS_N]", /* GPIO_3, LSEC pin 9 */
452442ee1fcSStephan Gerhold		"[UART1_TX]", /* GPIO_4, LSEC pin 11 */
453442ee1fcSStephan Gerhold		"[UART1_RX]", /* GPIO_5, LSEC pin 13 */
454442ee1fcSStephan Gerhold		"[I2C0_SDA]", /* GPIO_8, LSEC pin 17 */
455442ee1fcSStephan Gerhold		"[I2C0_SCL]", /* GPIO_7, LSEC pin 15 */
456442ee1fcSStephan Gerhold		"[SPI1_DOUT]", /* SPI1_MOSI, HSEC pin 1 */
457442ee1fcSStephan Gerhold		"[SPI1_DIN]", /* SPI1_MISO, HSEC pin 11 */
458442ee1fcSStephan Gerhold		"[SPI1_CS]", /* SPI1_CS_N, HSEC pin 7 */
459442ee1fcSStephan Gerhold		"[SPI1_SCLK]", /* SPI1_CLK, HSEC pin 9 */
460442ee1fcSStephan Gerhold		"GPIO-B", /* LS_EXP_GPIO_B, LSEC pin 24 */
461442ee1fcSStephan Gerhold		"GPIO-C", /* LS_EXP_GPIO_C, LSEC pin 25 */
462442ee1fcSStephan Gerhold		"[I2C3_SDA]", /* HSEC pin 38 */
463442ee1fcSStephan Gerhold		"[I2C3_SCL]", /* HSEC pin 36 */
464442ee1fcSStephan Gerhold		"[SPI0_MOSI]", /* LSEC pin 14 */
465442ee1fcSStephan Gerhold		"[SPI0_MISO]", /* LSEC pin 10 */
466442ee1fcSStephan Gerhold		"[SPI0_CS_N]", /* LSEC pin 12 */
467442ee1fcSStephan Gerhold		"[SPI0_CLK]", /* LSEC pin 8 */
468442ee1fcSStephan Gerhold		"HDMI_HPD_N", /* GPIO 20 */
469442ee1fcSStephan Gerhold		"USR_LED_1_CTRL",
470442ee1fcSStephan Gerhold		"[I2C1_SDA]", /* GPIO_22, LSEC pin 21 */
471442ee1fcSStephan Gerhold		"[I2C1_SCL]", /* GPIO_23, LSEC pin 19 */
472442ee1fcSStephan Gerhold		"GPIO-G", /* LS_EXP_GPIO_G, LSEC pin 29 */
473442ee1fcSStephan Gerhold		"GPIO-H", /* LS_EXP_GPIO_H, LSEC pin 30 */
474442ee1fcSStephan Gerhold		"[CSI0_MCLK]", /* HSEC pin 15 */
475442ee1fcSStephan Gerhold		"[CSI1_MCLK]", /* HSEC pin 17 */
476442ee1fcSStephan Gerhold		"GPIO-K", /* LS_EXP_GPIO_K, LSEC pin 33 */
477442ee1fcSStephan Gerhold		"[I2C2_SDA]", /* HSEC pin 34 */
478442ee1fcSStephan Gerhold		"[I2C2_SCL]", /* HSEC pin 32 */
479442ee1fcSStephan Gerhold		"DSI2HDMI_INT_N",
480442ee1fcSStephan Gerhold		"DSI_SW_SEL_APQ",
481442ee1fcSStephan Gerhold		"GPIO-L", /* LS_EXP_GPIO_L, LSEC pin 34 */
482442ee1fcSStephan Gerhold		"GPIO-J", /* LS_EXP_GPIO_J, LSEC pin 32 */
483442ee1fcSStephan Gerhold		"GPIO-I", /* LS_EXP_GPIO_I, LSEC pin 31 */
484442ee1fcSStephan Gerhold		"GPIO-A", /* LS_EXP_GPIO_A, LSEC pin 23 */
485442ee1fcSStephan Gerhold		"FORCED_USB_BOOT",
486442ee1fcSStephan Gerhold		"SD_CARD_DET_N",
487442ee1fcSStephan Gerhold		"[WCSS_BT_SSBI]",
488442ee1fcSStephan Gerhold		"[WCSS_WLAN_DATA_2]", /* GPIO 40 */
489442ee1fcSStephan Gerhold		"[WCSS_WLAN_DATA_1]",
490442ee1fcSStephan Gerhold		"[WCSS_WLAN_DATA_0]",
491442ee1fcSStephan Gerhold		"[WCSS_WLAN_SET]",
492442ee1fcSStephan Gerhold		"[WCSS_WLAN_CLK]",
493442ee1fcSStephan Gerhold		"[WCSS_FM_SSBI]",
494442ee1fcSStephan Gerhold		"[WCSS_FM_SDI]",
495442ee1fcSStephan Gerhold		"[WCSS_BT_DAT_CTL]",
496442ee1fcSStephan Gerhold		"[WCSS_BT_DAT_STB]",
497442ee1fcSStephan Gerhold		"NC",
498442ee1fcSStephan Gerhold		"NC", /* GPIO 50 */
499442ee1fcSStephan Gerhold		"NC",
500442ee1fcSStephan Gerhold		"NC",
501442ee1fcSStephan Gerhold		"NC",
502442ee1fcSStephan Gerhold		"NC",
503442ee1fcSStephan Gerhold		"NC",
504442ee1fcSStephan Gerhold		"NC",
505442ee1fcSStephan Gerhold		"NC",
506442ee1fcSStephan Gerhold		"NC",
507442ee1fcSStephan Gerhold		"NC",
508442ee1fcSStephan Gerhold		"NC", /* GPIO 60 */
509442ee1fcSStephan Gerhold		"NC",
510442ee1fcSStephan Gerhold		"NC",
511442ee1fcSStephan Gerhold		"[CDC_PDM0_CLK]",
512442ee1fcSStephan Gerhold		"[CDC_PDM0_SYNC]",
513442ee1fcSStephan Gerhold		"[CDC_PDM0_TX0]",
514442ee1fcSStephan Gerhold		"[CDC_PDM0_RX0]",
515442ee1fcSStephan Gerhold		"[CDC_PDM0_RX1]",
516442ee1fcSStephan Gerhold		"[CDC_PDM0_RX2]",
517442ee1fcSStephan Gerhold		"GPIO-D", /* LS_EXP_GPIO_D, LSEC pin 26 */
518442ee1fcSStephan Gerhold		"NC", /* GPIO 70 */
519442ee1fcSStephan Gerhold		"NC",
520442ee1fcSStephan Gerhold		"NC",
521442ee1fcSStephan Gerhold		"NC",
522442ee1fcSStephan Gerhold		"NC", /* GPIO 74 */
523442ee1fcSStephan Gerhold		"NC",
524442ee1fcSStephan Gerhold		"NC",
525442ee1fcSStephan Gerhold		"NC",
526442ee1fcSStephan Gerhold		"NC",
527442ee1fcSStephan Gerhold		"NC",
528442ee1fcSStephan Gerhold		"BOOT_CONFIG_0", /* GPIO 80 */
529442ee1fcSStephan Gerhold		"BOOT_CONFIG_1",
530442ee1fcSStephan Gerhold		"BOOT_CONFIG_2",
531442ee1fcSStephan Gerhold		"BOOT_CONFIG_3",
532442ee1fcSStephan Gerhold		"NC",
533442ee1fcSStephan Gerhold		"NC",
534442ee1fcSStephan Gerhold		"BOOT_CONFIG_5",
535442ee1fcSStephan Gerhold		"NC",
536442ee1fcSStephan Gerhold		"NC",
537442ee1fcSStephan Gerhold		"NC",
538442ee1fcSStephan Gerhold		"NC", /* GPIO 90 */
539442ee1fcSStephan Gerhold		"NC",
540442ee1fcSStephan Gerhold		"NC",
541442ee1fcSStephan Gerhold		"NC",
542442ee1fcSStephan Gerhold		"NC",
543442ee1fcSStephan Gerhold		"NC",
544442ee1fcSStephan Gerhold		"NC",
545442ee1fcSStephan Gerhold		"NC",
546442ee1fcSStephan Gerhold		"NC",
547442ee1fcSStephan Gerhold		"NC",
548442ee1fcSStephan Gerhold		"NC", /* GPIO 100 */
549442ee1fcSStephan Gerhold		"NC",
550442ee1fcSStephan Gerhold		"NC",
551442ee1fcSStephan Gerhold		"NC",
552442ee1fcSStephan Gerhold		"SSBI_GPS",
553442ee1fcSStephan Gerhold		"NC",
554442ee1fcSStephan Gerhold		"NC",
555442ee1fcSStephan Gerhold		"KEY_VOLP_N",
556442ee1fcSStephan Gerhold		"NC",
557442ee1fcSStephan Gerhold		"NC",
558442ee1fcSStephan Gerhold		"[LS_EXP_MI2S_WS]", /* GPIO 110 */
559442ee1fcSStephan Gerhold		"NC",
560442ee1fcSStephan Gerhold		"NC",
561442ee1fcSStephan Gerhold		"[LS_EXP_MI2S_SCK]",
562442ee1fcSStephan Gerhold		"[LS_EXP_MI2S_DATA0]",
563442ee1fcSStephan Gerhold		"GPIO-E", /* LS_EXP_GPIO_E, LSEC pin 27 */
564442ee1fcSStephan Gerhold		"NC",
565442ee1fcSStephan Gerhold		"[DSI2HDMI_MI2S_WS]",
566442ee1fcSStephan Gerhold		"[DSI2HDMI_MI2S_SCK]",
567442ee1fcSStephan Gerhold		"[DSI2HDMI_MI2S_DATA0]",
568442ee1fcSStephan Gerhold		"USR_LED_2_CTRL", /* GPIO 120 */
569442ee1fcSStephan Gerhold		"SB_HS_ID";
570442ee1fcSStephan Gerhold
571dfbda20dSStephan Gerhold	sdc2_cd_default: sdc2-cd-default-state {
572dfbda20dSStephan Gerhold		pins = "gpio38";
573dfbda20dSStephan Gerhold		function = "gpio";
574dfbda20dSStephan Gerhold		drive-strength = <2>;
575dfbda20dSStephan Gerhold		bias-disable;
576dfbda20dSStephan Gerhold	};
577dfbda20dSStephan Gerhold
57841e22c2fSStephan Gerhold	tlmm_leds: tlmm-leds-state {
579442ee1fcSStephan Gerhold		pins = "gpio21", "gpio120";
580442ee1fcSStephan Gerhold		function = "gpio";
581442ee1fcSStephan Gerhold
582442ee1fcSStephan Gerhold		output-low;
583442ee1fcSStephan Gerhold	};
584442ee1fcSStephan Gerhold
5858b276ca0SKrzysztof Kozlowski	usb_id_default: usb-id-default-state {
586442ee1fcSStephan Gerhold		pins = "gpio121";
587442ee1fcSStephan Gerhold		function = "gpio";
588442ee1fcSStephan Gerhold
589442ee1fcSStephan Gerhold		drive-strength = <8>;
590442ee1fcSStephan Gerhold		bias-pull-up;
591442ee1fcSStephan Gerhold	};
592442ee1fcSStephan Gerhold
5938b276ca0SKrzysztof Kozlowski	adv7533_int_active: adv533-int-active-state {
594442ee1fcSStephan Gerhold		pins = "gpio31";
595442ee1fcSStephan Gerhold		function = "gpio";
596442ee1fcSStephan Gerhold
597442ee1fcSStephan Gerhold		drive-strength = <16>;
598442ee1fcSStephan Gerhold		bias-disable;
599442ee1fcSStephan Gerhold	};
600442ee1fcSStephan Gerhold
6018b276ca0SKrzysztof Kozlowski	adv7533_int_suspend: adv7533-int-suspend-state {
602442ee1fcSStephan Gerhold		pins = "gpio31";
603442ee1fcSStephan Gerhold		function = "gpio";
604442ee1fcSStephan Gerhold
605442ee1fcSStephan Gerhold		drive-strength = <2>;
606442ee1fcSStephan Gerhold		bias-disable;
607442ee1fcSStephan Gerhold	};
608442ee1fcSStephan Gerhold
6098b276ca0SKrzysztof Kozlowski	adv7533_switch_active: adv7533-switch-active-state {
610442ee1fcSStephan Gerhold		pins = "gpio32";
611442ee1fcSStephan Gerhold		function = "gpio";
612442ee1fcSStephan Gerhold
613442ee1fcSStephan Gerhold		drive-strength = <16>;
614442ee1fcSStephan Gerhold		bias-disable;
615442ee1fcSStephan Gerhold	};
616442ee1fcSStephan Gerhold
6178b276ca0SKrzysztof Kozlowski	adv7533_switch_suspend: adv7533-switch-suspend-state {
618442ee1fcSStephan Gerhold		pins = "gpio32";
619442ee1fcSStephan Gerhold		function = "gpio";
620442ee1fcSStephan Gerhold
621442ee1fcSStephan Gerhold		drive-strength = <2>;
622442ee1fcSStephan Gerhold		bias-disable;
623442ee1fcSStephan Gerhold	};
624442ee1fcSStephan Gerhold
6258b276ca0SKrzysztof Kozlowski	msm_key_volp_n_default: msm-key-volp-n-default-state {
626442ee1fcSStephan Gerhold		pins = "gpio107";
627442ee1fcSStephan Gerhold		function = "gpio";
628442ee1fcSStephan Gerhold
629442ee1fcSStephan Gerhold		drive-strength = <8>;
630442ee1fcSStephan Gerhold		bias-pull-up;
631442ee1fcSStephan Gerhold	};
632442ee1fcSStephan Gerhold};
633442ee1fcSStephan Gerhold
634442ee1fcSStephan Gerhold&pm8916_gpios {
635442ee1fcSStephan Gerhold	gpio-line-names =
636442ee1fcSStephan Gerhold		"USR_LED_3_CTRL",
637442ee1fcSStephan Gerhold		"USR_LED_4_CTRL",
638442ee1fcSStephan Gerhold		"USB_HUB_RESET_N_PM",
639442ee1fcSStephan Gerhold		"USB_SW_SEL_PM";
640442ee1fcSStephan Gerhold
641ff36bed5SKrzysztof Kozlowski	usb_hub_reset_pm: usb-hub-reset-pm-state {
642442ee1fcSStephan Gerhold		pins = "gpio3";
643442ee1fcSStephan Gerhold		function = PMIC_GPIO_FUNC_NORMAL;
644442ee1fcSStephan Gerhold
645442ee1fcSStephan Gerhold		input-disable;
646442ee1fcSStephan Gerhold		output-high;
647442ee1fcSStephan Gerhold	};
648442ee1fcSStephan Gerhold
649ff36bed5SKrzysztof Kozlowski	usb_hub_reset_pm_device: usb-hub-reset-pm-device-state {
650442ee1fcSStephan Gerhold		pins = "gpio3";
651442ee1fcSStephan Gerhold		function = PMIC_GPIO_FUNC_NORMAL;
652442ee1fcSStephan Gerhold
653442ee1fcSStephan Gerhold		output-low;
654442ee1fcSStephan Gerhold	};
655442ee1fcSStephan Gerhold
656ff36bed5SKrzysztof Kozlowski	usb_sw_sel_pm: usb-sw-sel-pm-state {
657442ee1fcSStephan Gerhold		pins = "gpio4";
658442ee1fcSStephan Gerhold		function = PMIC_GPIO_FUNC_NORMAL;
659442ee1fcSStephan Gerhold
660442ee1fcSStephan Gerhold		power-source = <PM8916_GPIO_VPH>;
661442ee1fcSStephan Gerhold		input-disable;
662442ee1fcSStephan Gerhold		output-high;
663442ee1fcSStephan Gerhold	};
664442ee1fcSStephan Gerhold
665ff36bed5SKrzysztof Kozlowski	usb_sw_sel_pm_device: usb-sw-sel-pm-device-state {
666442ee1fcSStephan Gerhold		pins = "gpio4";
667442ee1fcSStephan Gerhold		function = PMIC_GPIO_FUNC_NORMAL;
668442ee1fcSStephan Gerhold
669442ee1fcSStephan Gerhold		power-source = <PM8916_GPIO_VPH>;
670442ee1fcSStephan Gerhold		input-disable;
671442ee1fcSStephan Gerhold		output-low;
672442ee1fcSStephan Gerhold	};
673442ee1fcSStephan Gerhold
674ff36bed5SKrzysztof Kozlowski	pm8916_gpios_leds: pm8916-gpios-leds-state {
675442ee1fcSStephan Gerhold		pins = "gpio1", "gpio2";
676442ee1fcSStephan Gerhold		function = PMIC_GPIO_FUNC_NORMAL;
677442ee1fcSStephan Gerhold
678442ee1fcSStephan Gerhold		output-low;
679442ee1fcSStephan Gerhold	};
680442ee1fcSStephan Gerhold};
681442ee1fcSStephan Gerhold
682442ee1fcSStephan Gerhold&pm8916_mpps {
683442ee1fcSStephan Gerhold	gpio-line-names =
684442ee1fcSStephan Gerhold		"VDD_PX_BIAS",
685442ee1fcSStephan Gerhold		"WLAN_LED_CTRL",
686442ee1fcSStephan Gerhold		"BT_LED_CTRL",
687442ee1fcSStephan Gerhold		"GPIO-F"; /* LS_EXP_GPIO_F, LSEC pin 28 */
688442ee1fcSStephan Gerhold
689442ee1fcSStephan Gerhold	pinctrl-names = "default";
690442ee1fcSStephan Gerhold	pinctrl-0 = <&ls_exp_gpio_f>;
691442ee1fcSStephan Gerhold
692442ee1fcSStephan Gerhold	ls_exp_gpio_f: pm8916-mpp4-state {
693442ee1fcSStephan Gerhold		pins = "mpp4";
694442ee1fcSStephan Gerhold		function = "digital";
695442ee1fcSStephan Gerhold
696442ee1fcSStephan Gerhold		output-low;
6974bb376f6SKonrad Dybcio		power-source = <PM8916_MPP_L5>;	/* 1.8V */
698442ee1fcSStephan Gerhold	};
699442ee1fcSStephan Gerhold
700442ee1fcSStephan Gerhold	pm8916_mpps_leds: pm8916-mpps-state {
701442ee1fcSStephan Gerhold		pins = "mpp2", "mpp3";
702442ee1fcSStephan Gerhold		function = "digital";
703442ee1fcSStephan Gerhold
704442ee1fcSStephan Gerhold		output-low;
705442ee1fcSStephan Gerhold	};
706282703e8SKumar Gala};
707