xref: /linux/arch/arm/boot/dts/qcom/qcom-apq8026-huawei-sturgeon.dts (revision c9c8179d0ccdf024ce467b4c9cf5de8821bc02cb)
1724ba675SRob Herring// SPDX-License-Identifier: BSD-3-Clause
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright (c) 2022, Luca Weiss <luca@z3ntu.xyz>
4724ba675SRob Herring */
5724ba675SRob Herring
6724ba675SRob Herring/dts-v1/;
7724ba675SRob Herring
8724ba675SRob Herring#include "qcom-msm8226.dtsi"
9455a4c46SDmitry Baryshkov#include "pm8226.dtsi"
10724ba675SRob Herring#include <dt-bindings/input/ti-drv260x.h>
11724ba675SRob Herring
12724ba675SRob Herring/delete-node/ &adsp_region;
13724ba675SRob Herring
14724ba675SRob Herring/ {
15724ba675SRob Herring	model = "Huawei Watch";
16724ba675SRob Herring	compatible = "huawei,sturgeon", "qcom,apq8026";
17724ba675SRob Herring	chassis-type = "watch";
18724ba675SRob Herring	qcom,msm-id = <199 0x20000>;
19724ba675SRob Herring	qcom,board-id = <8 4>;
20724ba675SRob Herring
21724ba675SRob Herring	reserved-memory {
22724ba675SRob Herring		sbl_region: sbl@2f00000 {
23724ba675SRob Herring			reg = <0x02f00000 0x100000>;
24724ba675SRob Herring			no-map;
25724ba675SRob Herring		};
26724ba675SRob Herring
27724ba675SRob Herring		external_image_region: external-image@3100000 {
28724ba675SRob Herring			reg = <0x3100000 0x200000>;
29724ba675SRob Herring			no-map;
30724ba675SRob Herring		};
31724ba675SRob Herring
32724ba675SRob Herring		peripheral_region: peripheral@3300000 {
33724ba675SRob Herring			reg = <0x3300000 0x600000>;
34724ba675SRob Herring			no-map;
35724ba675SRob Herring		};
36724ba675SRob Herring
37724ba675SRob Herring		adsp_region: adsp@3900000 {
38724ba675SRob Herring			reg = <0x3900000 0x1400000>;
39724ba675SRob Herring			no-map;
40724ba675SRob Herring		};
41724ba675SRob Herring
42724ba675SRob Herring		modem_region: modem@4d00000 {
43724ba675SRob Herring			reg = <0x4d00000 0x1b00000>;
44724ba675SRob Herring			no-map;
45724ba675SRob Herring		};
46724ba675SRob Herring
47724ba675SRob Herring		modem_efs_region: modem-efs@7f00000 {
48724ba675SRob Herring			reg = <0x7f00000 0x100000>;
49724ba675SRob Herring			no-map;
50724ba675SRob Herring		};
51724ba675SRob Herring	};
52724ba675SRob Herring
53724ba675SRob Herring	vreg_wlan: wlan-regulator {
54724ba675SRob Herring		compatible = "regulator-fixed";
55724ba675SRob Herring
56724ba675SRob Herring		regulator-name = "wl-reg";
57724ba675SRob Herring		regulator-min-microvolt = <2950000>;
58724ba675SRob Herring		regulator-max-microvolt = <2950000>;
59724ba675SRob Herring
60724ba675SRob Herring		gpio = <&tlmm 110 GPIO_ACTIVE_HIGH>;
61724ba675SRob Herring		enable-active-high;
62724ba675SRob Herring
63724ba675SRob Herring		pinctrl-names = "default";
64724ba675SRob Herring		pinctrl-0 = <&wlan_regulator_default_state>;
65724ba675SRob Herring	};
66724ba675SRob Herring};
67724ba675SRob Herring
68724ba675SRob Herring&adsp {
69724ba675SRob Herring	status = "okay";
70724ba675SRob Herring};
71724ba675SRob Herring
72724ba675SRob Herring&blsp1_i2c2 {
73724ba675SRob Herring	clock-frequency = <384000>;
74724ba675SRob Herring
75724ba675SRob Herring	status = "okay";
76724ba675SRob Herring
77724ba675SRob Herring	vibrator@5a {
78724ba675SRob Herring		compatible = "ti,drv2605";
79724ba675SRob Herring		reg = <0x5a>;
80724ba675SRob Herring		enable-gpios = <&tlmm 60 GPIO_ACTIVE_HIGH>;
81724ba675SRob Herring
82724ba675SRob Herring		mode = <DRV260X_ERM_MODE>;
83724ba675SRob Herring		library-sel = <DRV260X_ERM_LIB_D>;
84724ba675SRob Herring		vib-rated-mv = <2765>;
85724ba675SRob Herring		vib-overdrive-mv = <3525>;
86724ba675SRob Herring
87724ba675SRob Herring		pinctrl-0 = <&vibrator_default_state>;
88724ba675SRob Herring		pinctrl-names = "default";
89724ba675SRob Herring	};
90724ba675SRob Herring};
91724ba675SRob Herring
92724ba675SRob Herring&blsp1_i2c5 {
93724ba675SRob Herring	clock-frequency = <384000>;
94724ba675SRob Herring
95724ba675SRob Herring	status = "okay";
96724ba675SRob Herring
97724ba675SRob Herring	touchscreen@20 {
98724ba675SRob Herring		compatible = "syna,rmi4-i2c";
99724ba675SRob Herring		reg = <0x20>;
100724ba675SRob Herring
101724ba675SRob Herring		interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
102724ba675SRob Herring		vdd-supply = <&pm8226_l19>;
103724ba675SRob Herring		vio-supply = <&pm8226_lvs1>;
104724ba675SRob Herring
105724ba675SRob Herring		pinctrl-names = "default";
106724ba675SRob Herring		pinctrl-0 = <&touch_default_state>;
107724ba675SRob Herring
108724ba675SRob Herring		syna,startup-delay-ms = <160>;
109724ba675SRob Herring
110724ba675SRob Herring		#address-cells = <1>;
111724ba675SRob Herring		#size-cells = <0>;
112724ba675SRob Herring
113724ba675SRob Herring		rmi4-f01@1 {
114724ba675SRob Herring			reg = <0x1>;
115724ba675SRob Herring			syna,nosleep-mode = <1>;
116724ba675SRob Herring		};
117724ba675SRob Herring
118724ba675SRob Herring		rmi4-f12@12 {
119724ba675SRob Herring			reg = <0x12>;
120724ba675SRob Herring			syna,sensor-type = <1>;
121724ba675SRob Herring		};
122724ba675SRob Herring	};
123724ba675SRob Herring};
124724ba675SRob Herring
125724ba675SRob Herring&blsp1_uart4 {
126724ba675SRob Herring	pinctrl-names = "default";
127724ba675SRob Herring	pinctrl-0 = <&blsp1_uart4_default_state>;
128724ba675SRob Herring
129724ba675SRob Herring	status = "okay";
130724ba675SRob Herring
131724ba675SRob Herring	bluetooth {
132724ba675SRob Herring		compatible = "brcm,bcm43430a0-bt";
133724ba675SRob Herring		max-speed = <3000000>;
134724ba675SRob Herring
135724ba675SRob Herring		pinctrl-names = "default";
136724ba675SRob Herring		pinctrl-0 = <&bluetooth_default_state>;
137724ba675SRob Herring
138724ba675SRob Herring		host-wakeup-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
139724ba675SRob Herring		device-wakeup-gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>;
140724ba675SRob Herring		shutdown-gpios = <&tlmm 67 GPIO_ACTIVE_HIGH>;
141724ba675SRob Herring	};
142724ba675SRob Herring};
143724ba675SRob Herring
144724ba675SRob Herring&rpm_requests {
145724ba675SRob Herring	regulators {
146724ba675SRob Herring		compatible = "qcom,rpm-pm8226-regulators";
147724ba675SRob Herring
148724ba675SRob Herring		pm8226_s3: s3 {
149724ba675SRob Herring			regulator-min-microvolt = <1200000>;
150724ba675SRob Herring			regulator-max-microvolt = <1300000>;
151724ba675SRob Herring		};
152724ba675SRob Herring
153724ba675SRob Herring		pm8226_s4: s4 {
154724ba675SRob Herring			regulator-min-microvolt = <1800000>;
155724ba675SRob Herring			regulator-max-microvolt = <2200000>;
156724ba675SRob Herring		};
157724ba675SRob Herring
158724ba675SRob Herring		pm8226_s5: s5 {
159724ba675SRob Herring			regulator-min-microvolt = <1150000>;
160724ba675SRob Herring			regulator-max-microvolt = <1150000>;
161724ba675SRob Herring		};
162724ba675SRob Herring
163724ba675SRob Herring		pm8226_l1: l1 {
164724ba675SRob Herring			regulator-min-microvolt = <1225000>;
165724ba675SRob Herring			regulator-max-microvolt = <1225000>;
166724ba675SRob Herring		};
167724ba675SRob Herring
168724ba675SRob Herring		pm8226_l2: l2 {
169724ba675SRob Herring			regulator-min-microvolt = <1200000>;
170724ba675SRob Herring			regulator-max-microvolt = <1200000>;
171724ba675SRob Herring		};
172724ba675SRob Herring
173724ba675SRob Herring		pm8226_l3: l3 {
174724ba675SRob Herring			regulator-min-microvolt = <750000>;
175724ba675SRob Herring			regulator-max-microvolt = <1337500>;
176724ba675SRob Herring		};
177724ba675SRob Herring
178724ba675SRob Herring		pm8226_l4: l4 {
179724ba675SRob Herring			regulator-min-microvolt = <1200000>;
180724ba675SRob Herring			regulator-max-microvolt = <1200000>;
181724ba675SRob Herring		};
182724ba675SRob Herring
183724ba675SRob Herring		pm8226_l5: l5 {
184724ba675SRob Herring			regulator-min-microvolt = <1200000>;
185724ba675SRob Herring			regulator-max-microvolt = <1200000>;
186724ba675SRob Herring		};
187724ba675SRob Herring
188724ba675SRob Herring		pm8226_l6: l6 {
189724ba675SRob Herring			regulator-min-microvolt = <1800000>;
190724ba675SRob Herring			regulator-max-microvolt = <1800000>;
191724ba675SRob Herring		};
192724ba675SRob Herring
193724ba675SRob Herring		pm8226_l7: l7 {
194724ba675SRob Herring			regulator-min-microvolt = <1850000>;
195724ba675SRob Herring			regulator-max-microvolt = <1850000>;
196724ba675SRob Herring		};
197724ba675SRob Herring
198724ba675SRob Herring		pm8226_l8: l8 {
199724ba675SRob Herring			regulator-min-microvolt = <1800000>;
200724ba675SRob Herring			regulator-max-microvolt = <1800000>;
201724ba675SRob Herring		};
202724ba675SRob Herring
203724ba675SRob Herring		pm8226_l9: l9 {
204724ba675SRob Herring			regulator-min-microvolt = <2050000>;
205724ba675SRob Herring			regulator-max-microvolt = <2050000>;
206724ba675SRob Herring		};
207724ba675SRob Herring
208724ba675SRob Herring		pm8226_l10: l10 {
209724ba675SRob Herring			regulator-min-microvolt = <1800000>;
210724ba675SRob Herring			regulator-max-microvolt = <1800000>;
211724ba675SRob Herring		};
212724ba675SRob Herring
213724ba675SRob Herring		pm8226_l12: l12 {
214724ba675SRob Herring			regulator-min-microvolt = <1800000>;
215724ba675SRob Herring			regulator-max-microvolt = <1800000>;
216724ba675SRob Herring		};
217724ba675SRob Herring
218724ba675SRob Herring		pm8226_l14: l14 {
219724ba675SRob Herring			regulator-min-microvolt = <2750000>;
220724ba675SRob Herring			regulator-max-microvolt = <2750000>;
221724ba675SRob Herring		};
222724ba675SRob Herring
223724ba675SRob Herring		pm8226_l15: l15 {
224724ba675SRob Herring			regulator-min-microvolt = <2800000>;
225724ba675SRob Herring			regulator-max-microvolt = <2800000>;
226724ba675SRob Herring		};
227724ba675SRob Herring
228724ba675SRob Herring		pm8226_l16: l16 {
229724ba675SRob Herring			regulator-min-microvolt = <3000000>;
230724ba675SRob Herring			regulator-max-microvolt = <3350000>;
231724ba675SRob Herring		};
232724ba675SRob Herring
233724ba675SRob Herring		pm8226_l17: l17 {
234724ba675SRob Herring			regulator-min-microvolt = <2950000>;
235724ba675SRob Herring			regulator-max-microvolt = <2950000>;
236724ba675SRob Herring		};
237724ba675SRob Herring
238724ba675SRob Herring		pm8226_l18: l18 {
239724ba675SRob Herring			regulator-min-microvolt = <2950000>;
240724ba675SRob Herring			regulator-max-microvolt = <2950000>;
241724ba675SRob Herring		};
242724ba675SRob Herring
243724ba675SRob Herring		pm8226_l19: l19 {
244724ba675SRob Herring			regulator-min-microvolt = <2850000>;
245724ba675SRob Herring			regulator-max-microvolt = <2850000>;
246724ba675SRob Herring		};
247724ba675SRob Herring
248724ba675SRob Herring		pm8226_l20: l20 {
249724ba675SRob Herring			regulator-min-microvolt = <3075000>;
250724ba675SRob Herring			regulator-max-microvolt = <3075000>;
251724ba675SRob Herring		};
252724ba675SRob Herring
253724ba675SRob Herring		pm8226_l21: l21 {
254724ba675SRob Herring			regulator-min-microvolt = <1800000>;
255724ba675SRob Herring			regulator-max-microvolt = <2950000>;
256724ba675SRob Herring		};
257724ba675SRob Herring
258724ba675SRob Herring		pm8226_l22: l22 {
259724ba675SRob Herring			regulator-min-microvolt = <1800000>;
260724ba675SRob Herring			regulator-max-microvolt = <2950000>;
261724ba675SRob Herring		};
262724ba675SRob Herring
263724ba675SRob Herring		pm8226_l23: l23 {
264724ba675SRob Herring			regulator-min-microvolt = <1800000>;
265724ba675SRob Herring			regulator-max-microvolt = <2950000>;
266724ba675SRob Herring		};
267724ba675SRob Herring
268724ba675SRob Herring		pm8226_l24: l24 {
269724ba675SRob Herring			regulator-min-microvolt = <1300000>;
270724ba675SRob Herring			regulator-max-microvolt = <1350000>;
271724ba675SRob Herring		};
272724ba675SRob Herring
273724ba675SRob Herring		pm8226_l25: l25 {
274724ba675SRob Herring			regulator-min-microvolt = <1775000>;
275724ba675SRob Herring			regulator-max-microvolt = <2125000>;
276724ba675SRob Herring		};
277724ba675SRob Herring
278724ba675SRob Herring		pm8226_l26: l26 {
279724ba675SRob Herring			regulator-min-microvolt = <1225000>;
280724ba675SRob Herring			regulator-max-microvolt = <1225000>;
281724ba675SRob Herring		};
282724ba675SRob Herring
283724ba675SRob Herring		pm8226_l27: l27 {
284724ba675SRob Herring			regulator-min-microvolt = <2050000>;
285724ba675SRob Herring			regulator-max-microvolt = <2050000>;
286724ba675SRob Herring		};
287724ba675SRob Herring
288724ba675SRob Herring		pm8226_l28: l28 {
289724ba675SRob Herring			regulator-min-microvolt = <1800000>;
290724ba675SRob Herring			regulator-max-microvolt = <2950000>;
291724ba675SRob Herring		};
292724ba675SRob Herring
293724ba675SRob Herring		pm8226_lvs1: lvs1 {};
294724ba675SRob Herring	};
295724ba675SRob Herring};
296724ba675SRob Herring
297724ba675SRob Herring&sdhc_1 {
298724ba675SRob Herring	vmmc-supply = <&pm8226_l17>;
299724ba675SRob Herring	vqmmc-supply = <&pm8226_l6>;
300724ba675SRob Herring
301724ba675SRob Herring	bus-width = <8>;
302724ba675SRob Herring	non-removable;
303724ba675SRob Herring
304724ba675SRob Herring	status = "okay";
305724ba675SRob Herring};
306724ba675SRob Herring
307724ba675SRob Herring&sdhc_3 {
308724ba675SRob Herring	max-frequency = <100000000>;
309724ba675SRob Herring	non-removable;
310724ba675SRob Herring
311724ba675SRob Herring	vmmc-supply = <&vreg_wlan>;
312724ba675SRob Herring	vqmmc-supply = <&pm8226_l6>;
313724ba675SRob Herring
314724ba675SRob Herring	#address-cells = <1>;
315724ba675SRob Herring	#size-cells = <0>;
316724ba675SRob Herring
317724ba675SRob Herring	status = "okay";
318724ba675SRob Herring
319724ba675SRob Herring	wifi@1 {
320724ba675SRob Herring		compatible = "brcm,bcm43430a0-fmac", "brcm,bcm4329-fmac";
321724ba675SRob Herring		reg = <1>;
322724ba675SRob Herring
323724ba675SRob Herring		interrupts-extended = <&tlmm 66 IRQ_TYPE_EDGE_FALLING>;
324724ba675SRob Herring		interrupt-names = "host-wake";
325724ba675SRob Herring
326724ba675SRob Herring		pinctrl-names = "default";
327724ba675SRob Herring		pinctrl-0 = <&wlan_hostwake_default_state>;
328724ba675SRob Herring	};
329724ba675SRob Herring};
330724ba675SRob Herring
331724ba675SRob Herring&smbb {
332724ba675SRob Herring	qcom,fast-charge-safe-voltage = <4370000>;
333724ba675SRob Herring	qcom,fast-charge-high-threshold-voltage = <4350000>;
334724ba675SRob Herring	qcom,minimum-input-voltage = <4350000>;
335724ba675SRob Herring	qcom,fast-charge-current-limit = <300000>;
336724ba675SRob Herring	qcom,fast-charge-safe-current = <600000>;
337724ba675SRob Herring	qcom,auto-recharge-threshold-voltage = <4240000>;
338*c9c8179dSBryant Mairs
339*c9c8179dSBryant Mairs	status = "okay";
340724ba675SRob Herring};
341724ba675SRob Herring
342724ba675SRob Herring&tlmm {
343724ba675SRob Herring	blsp1_uart4_default_state: blsp1-uart4-default-state {
344724ba675SRob Herring		pins = "gpio12", "gpio13", "gpio14", "gpio15";
345724ba675SRob Herring		function = "blsp_uart4";
346724ba675SRob Herring		drive-strength = <8>;
347724ba675SRob Herring		bias-disable;
348724ba675SRob Herring	};
349724ba675SRob Herring
350724ba675SRob Herring	bluetooth_default_state: bluetooth-default-state {
351724ba675SRob Herring		pins = "gpio63", "gpio64";
352724ba675SRob Herring		function = "gpio";
353724ba675SRob Herring		drive-strength = <2>;
354724ba675SRob Herring		bias-pull-down;
355724ba675SRob Herring	};
356724ba675SRob Herring
357724ba675SRob Herring	touch_default_state: touch-default-state {
358724ba675SRob Herring		irq-pins {
359724ba675SRob Herring			pins = "gpio17";
360724ba675SRob Herring			function = "gpio";
361724ba675SRob Herring			drive-strength = <8>;
362724ba675SRob Herring			bias-pull-up;
363724ba675SRob Herring		};
364724ba675SRob Herring
365724ba675SRob Herring		reset-pins {
366724ba675SRob Herring			pins = "gpio16";
367724ba675SRob Herring			function = "gpio";
368724ba675SRob Herring			drive-strength = <6>;
369724ba675SRob Herring			bias-pull-up;
370724ba675SRob Herring		};
371724ba675SRob Herring	};
372724ba675SRob Herring
373724ba675SRob Herring	vibrator_default_state: vibrator-default-state {
374724ba675SRob Herring		pins = "gpio59", "gpio60";
375724ba675SRob Herring		function = "gpio";
376724ba675SRob Herring		drive-strength = <2>;
377724ba675SRob Herring		bias-pull-down;
378724ba675SRob Herring	};
379724ba675SRob Herring
380724ba675SRob Herring	wlan_hostwake_default_state: wlan-hostwake-default-state {
381724ba675SRob Herring		pins = "gpio66";
382724ba675SRob Herring		function = "gpio";
383724ba675SRob Herring		drive-strength = <2>;
384724ba675SRob Herring		bias-disable;
385724ba675SRob Herring	};
386724ba675SRob Herring
387724ba675SRob Herring	wlan_regulator_default_state: wlan-regulator-default-state {
388724ba675SRob Herring		pins = "gpio110";
389724ba675SRob Herring		function = "gpio";
390724ba675SRob Herring		drive-strength = <2>;
391724ba675SRob Herring		bias-pull-down;
392724ba675SRob Herring	};
393724ba675SRob Herring};
394724ba675SRob Herring
395724ba675SRob Herring&usb {
396724ba675SRob Herring	extcon = <&smbb>;
397724ba675SRob Herring	dr_mode = "peripheral";
398724ba675SRob Herring	status = "okay";
399724ba675SRob Herring};
400724ba675SRob Herring
401724ba675SRob Herring&usb_hs_phy {
402724ba675SRob Herring	extcon = <&smbb>;
403724ba675SRob Herring	v1p8-supply = <&pm8226_l10>;
404724ba675SRob Herring	v3p3-supply = <&pm8226_l20>;
405724ba675SRob Herring};
406