xref: /linux/scripts/dtc/include-prefixes/arm/qcom/qcom-apq8026-huawei-sturgeon.dts (revision 724ba6751532055db75992fc6ae21c3e322e94a7)
1*724ba675SRob Herring// SPDX-License-Identifier: BSD-3-Clause
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Copyright (c) 2022, Luca Weiss <luca@z3ntu.xyz>
4*724ba675SRob Herring */
5*724ba675SRob Herring
6*724ba675SRob Herring/dts-v1/;
7*724ba675SRob Herring
8*724ba675SRob Herring#include "qcom-msm8226.dtsi"
9*724ba675SRob Herring#include "qcom-pm8226.dtsi"
10*724ba675SRob Herring#include <dt-bindings/input/ti-drv260x.h>
11*724ba675SRob Herring
12*724ba675SRob Herring/delete-node/ &adsp_region;
13*724ba675SRob Herring
14*724ba675SRob Herring/ {
15*724ba675SRob Herring	model = "Huawei Watch";
16*724ba675SRob Herring	compatible = "huawei,sturgeon", "qcom,apq8026";
17*724ba675SRob Herring	chassis-type = "watch";
18*724ba675SRob Herring	qcom,msm-id = <199 0x20000>;
19*724ba675SRob Herring	qcom,board-id = <8 4>;
20*724ba675SRob Herring
21*724ba675SRob Herring	reserved-memory {
22*724ba675SRob Herring		sbl_region: sbl@2f00000 {
23*724ba675SRob Herring			reg = <0x02f00000 0x100000>;
24*724ba675SRob Herring			no-map;
25*724ba675SRob Herring		};
26*724ba675SRob Herring
27*724ba675SRob Herring		external_image_region: external-image@3100000 {
28*724ba675SRob Herring			reg = <0x3100000 0x200000>;
29*724ba675SRob Herring			no-map;
30*724ba675SRob Herring		};
31*724ba675SRob Herring
32*724ba675SRob Herring		peripheral_region: peripheral@3300000 {
33*724ba675SRob Herring			reg = <0x3300000 0x600000>;
34*724ba675SRob Herring			no-map;
35*724ba675SRob Herring		};
36*724ba675SRob Herring
37*724ba675SRob Herring		adsp_region: adsp@3900000 {
38*724ba675SRob Herring			reg = <0x3900000 0x1400000>;
39*724ba675SRob Herring			no-map;
40*724ba675SRob Herring		};
41*724ba675SRob Herring
42*724ba675SRob Herring		modem_region: modem@4d00000 {
43*724ba675SRob Herring			reg = <0x4d00000 0x1b00000>;
44*724ba675SRob Herring			no-map;
45*724ba675SRob Herring		};
46*724ba675SRob Herring
47*724ba675SRob Herring		modem_efs_region: modem-efs@7f00000 {
48*724ba675SRob Herring			reg = <0x7f00000 0x100000>;
49*724ba675SRob Herring			no-map;
50*724ba675SRob Herring		};
51*724ba675SRob Herring	};
52*724ba675SRob Herring
53*724ba675SRob Herring	vreg_wlan: wlan-regulator {
54*724ba675SRob Herring		compatible = "regulator-fixed";
55*724ba675SRob Herring
56*724ba675SRob Herring		regulator-name = "wl-reg";
57*724ba675SRob Herring		regulator-min-microvolt = <2950000>;
58*724ba675SRob Herring		regulator-max-microvolt = <2950000>;
59*724ba675SRob Herring
60*724ba675SRob Herring		gpio = <&tlmm 110 GPIO_ACTIVE_HIGH>;
61*724ba675SRob Herring		enable-active-high;
62*724ba675SRob Herring
63*724ba675SRob Herring		pinctrl-names = "default";
64*724ba675SRob Herring		pinctrl-0 = <&wlan_regulator_default_state>;
65*724ba675SRob Herring	};
66*724ba675SRob Herring};
67*724ba675SRob Herring
68*724ba675SRob Herring&adsp {
69*724ba675SRob Herring	status = "okay";
70*724ba675SRob Herring};
71*724ba675SRob Herring
72*724ba675SRob Herring&blsp1_i2c2 {
73*724ba675SRob Herring	clock-frequency = <384000>;
74*724ba675SRob Herring
75*724ba675SRob Herring	status = "okay";
76*724ba675SRob Herring
77*724ba675SRob Herring	vibrator@5a {
78*724ba675SRob Herring		compatible = "ti,drv2605";
79*724ba675SRob Herring		reg = <0x5a>;
80*724ba675SRob Herring		enable-gpios = <&tlmm 60 GPIO_ACTIVE_HIGH>;
81*724ba675SRob Herring
82*724ba675SRob Herring		mode = <DRV260X_ERM_MODE>;
83*724ba675SRob Herring		library-sel = <DRV260X_ERM_LIB_D>;
84*724ba675SRob Herring		vib-rated-mv = <2765>;
85*724ba675SRob Herring		vib-overdrive-mv = <3525>;
86*724ba675SRob Herring
87*724ba675SRob Herring		pinctrl-0 = <&vibrator_default_state>;
88*724ba675SRob Herring		pinctrl-names = "default";
89*724ba675SRob Herring	};
90*724ba675SRob Herring};
91*724ba675SRob Herring
92*724ba675SRob Herring&blsp1_i2c5 {
93*724ba675SRob Herring	clock-frequency = <384000>;
94*724ba675SRob Herring
95*724ba675SRob Herring	status = "okay";
96*724ba675SRob Herring
97*724ba675SRob Herring	touchscreen@20 {
98*724ba675SRob Herring		compatible = "syna,rmi4-i2c";
99*724ba675SRob Herring		reg = <0x20>;
100*724ba675SRob Herring
101*724ba675SRob Herring		interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
102*724ba675SRob Herring		vdd-supply = <&pm8226_l19>;
103*724ba675SRob Herring		vio-supply = <&pm8226_lvs1>;
104*724ba675SRob Herring
105*724ba675SRob Herring		pinctrl-names = "default";
106*724ba675SRob Herring		pinctrl-0 = <&touch_default_state>;
107*724ba675SRob Herring
108*724ba675SRob Herring		syna,startup-delay-ms = <160>;
109*724ba675SRob Herring
110*724ba675SRob Herring		#address-cells = <1>;
111*724ba675SRob Herring		#size-cells = <0>;
112*724ba675SRob Herring
113*724ba675SRob Herring		rmi4-f01@1 {
114*724ba675SRob Herring			reg = <0x1>;
115*724ba675SRob Herring			syna,nosleep-mode = <1>;
116*724ba675SRob Herring		};
117*724ba675SRob Herring
118*724ba675SRob Herring		rmi4-f12@12 {
119*724ba675SRob Herring			reg = <0x12>;
120*724ba675SRob Herring			syna,sensor-type = <1>;
121*724ba675SRob Herring		};
122*724ba675SRob Herring	};
123*724ba675SRob Herring};
124*724ba675SRob Herring
125*724ba675SRob Herring&blsp1_uart4 {
126*724ba675SRob Herring	pinctrl-names = "default";
127*724ba675SRob Herring	pinctrl-0 = <&blsp1_uart4_default_state>;
128*724ba675SRob Herring
129*724ba675SRob Herring	status = "okay";
130*724ba675SRob Herring
131*724ba675SRob Herring	bluetooth {
132*724ba675SRob Herring		compatible = "brcm,bcm43430a0-bt";
133*724ba675SRob Herring		max-speed = <3000000>;
134*724ba675SRob Herring
135*724ba675SRob Herring		pinctrl-names = "default";
136*724ba675SRob Herring		pinctrl-0 = <&bluetooth_default_state>;
137*724ba675SRob Herring
138*724ba675SRob Herring		host-wakeup-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
139*724ba675SRob Herring		device-wakeup-gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>;
140*724ba675SRob Herring		shutdown-gpios = <&tlmm 67 GPIO_ACTIVE_HIGH>;
141*724ba675SRob Herring	};
142*724ba675SRob Herring};
143*724ba675SRob Herring
144*724ba675SRob Herring&rpm_requests {
145*724ba675SRob Herring	regulators {
146*724ba675SRob Herring		compatible = "qcom,rpm-pm8226-regulators";
147*724ba675SRob Herring
148*724ba675SRob Herring		pm8226_s3: s3 {
149*724ba675SRob Herring			regulator-min-microvolt = <1200000>;
150*724ba675SRob Herring			regulator-max-microvolt = <1300000>;
151*724ba675SRob Herring		};
152*724ba675SRob Herring
153*724ba675SRob Herring		pm8226_s4: s4 {
154*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
155*724ba675SRob Herring			regulator-max-microvolt = <2200000>;
156*724ba675SRob Herring		};
157*724ba675SRob Herring
158*724ba675SRob Herring		pm8226_s5: s5 {
159*724ba675SRob Herring			regulator-min-microvolt = <1150000>;
160*724ba675SRob Herring			regulator-max-microvolt = <1150000>;
161*724ba675SRob Herring		};
162*724ba675SRob Herring
163*724ba675SRob Herring		pm8226_l1: l1 {
164*724ba675SRob Herring			regulator-min-microvolt = <1225000>;
165*724ba675SRob Herring			regulator-max-microvolt = <1225000>;
166*724ba675SRob Herring		};
167*724ba675SRob Herring
168*724ba675SRob Herring		pm8226_l2: l2 {
169*724ba675SRob Herring			regulator-min-microvolt = <1200000>;
170*724ba675SRob Herring			regulator-max-microvolt = <1200000>;
171*724ba675SRob Herring		};
172*724ba675SRob Herring
173*724ba675SRob Herring		pm8226_l3: l3 {
174*724ba675SRob Herring			regulator-min-microvolt = <750000>;
175*724ba675SRob Herring			regulator-max-microvolt = <1337500>;
176*724ba675SRob Herring		};
177*724ba675SRob Herring
178*724ba675SRob Herring		pm8226_l4: l4 {
179*724ba675SRob Herring			regulator-min-microvolt = <1200000>;
180*724ba675SRob Herring			regulator-max-microvolt = <1200000>;
181*724ba675SRob Herring		};
182*724ba675SRob Herring
183*724ba675SRob Herring		pm8226_l5: l5 {
184*724ba675SRob Herring			regulator-min-microvolt = <1200000>;
185*724ba675SRob Herring			regulator-max-microvolt = <1200000>;
186*724ba675SRob Herring		};
187*724ba675SRob Herring
188*724ba675SRob Herring		pm8226_l6: l6 {
189*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
190*724ba675SRob Herring			regulator-max-microvolt = <1800000>;
191*724ba675SRob Herring		};
192*724ba675SRob Herring
193*724ba675SRob Herring		pm8226_l7: l7 {
194*724ba675SRob Herring			regulator-min-microvolt = <1850000>;
195*724ba675SRob Herring			regulator-max-microvolt = <1850000>;
196*724ba675SRob Herring		};
197*724ba675SRob Herring
198*724ba675SRob Herring		pm8226_l8: l8 {
199*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
200*724ba675SRob Herring			regulator-max-microvolt = <1800000>;
201*724ba675SRob Herring		};
202*724ba675SRob Herring
203*724ba675SRob Herring		pm8226_l9: l9 {
204*724ba675SRob Herring			regulator-min-microvolt = <2050000>;
205*724ba675SRob Herring			regulator-max-microvolt = <2050000>;
206*724ba675SRob Herring		};
207*724ba675SRob Herring
208*724ba675SRob Herring		pm8226_l10: l10 {
209*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
210*724ba675SRob Herring			regulator-max-microvolt = <1800000>;
211*724ba675SRob Herring		};
212*724ba675SRob Herring
213*724ba675SRob Herring		pm8226_l12: l12 {
214*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
215*724ba675SRob Herring			regulator-max-microvolt = <1800000>;
216*724ba675SRob Herring		};
217*724ba675SRob Herring
218*724ba675SRob Herring		pm8226_l14: l14 {
219*724ba675SRob Herring			regulator-min-microvolt = <2750000>;
220*724ba675SRob Herring			regulator-max-microvolt = <2750000>;
221*724ba675SRob Herring		};
222*724ba675SRob Herring
223*724ba675SRob Herring		pm8226_l15: l15 {
224*724ba675SRob Herring			regulator-min-microvolt = <2800000>;
225*724ba675SRob Herring			regulator-max-microvolt = <2800000>;
226*724ba675SRob Herring		};
227*724ba675SRob Herring
228*724ba675SRob Herring		pm8226_l16: l16 {
229*724ba675SRob Herring			regulator-min-microvolt = <3000000>;
230*724ba675SRob Herring			regulator-max-microvolt = <3350000>;
231*724ba675SRob Herring		};
232*724ba675SRob Herring
233*724ba675SRob Herring		pm8226_l17: l17 {
234*724ba675SRob Herring			regulator-min-microvolt = <2950000>;
235*724ba675SRob Herring			regulator-max-microvolt = <2950000>;
236*724ba675SRob Herring		};
237*724ba675SRob Herring
238*724ba675SRob Herring		pm8226_l18: l18 {
239*724ba675SRob Herring			regulator-min-microvolt = <2950000>;
240*724ba675SRob Herring			regulator-max-microvolt = <2950000>;
241*724ba675SRob Herring		};
242*724ba675SRob Herring
243*724ba675SRob Herring		pm8226_l19: l19 {
244*724ba675SRob Herring			regulator-min-microvolt = <2850000>;
245*724ba675SRob Herring			regulator-max-microvolt = <2850000>;
246*724ba675SRob Herring		};
247*724ba675SRob Herring
248*724ba675SRob Herring		pm8226_l20: l20 {
249*724ba675SRob Herring			regulator-min-microvolt = <3075000>;
250*724ba675SRob Herring			regulator-max-microvolt = <3075000>;
251*724ba675SRob Herring		};
252*724ba675SRob Herring
253*724ba675SRob Herring		pm8226_l21: l21 {
254*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
255*724ba675SRob Herring			regulator-max-microvolt = <2950000>;
256*724ba675SRob Herring		};
257*724ba675SRob Herring
258*724ba675SRob Herring		pm8226_l22: l22 {
259*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
260*724ba675SRob Herring			regulator-max-microvolt = <2950000>;
261*724ba675SRob Herring		};
262*724ba675SRob Herring
263*724ba675SRob Herring		pm8226_l23: l23 {
264*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
265*724ba675SRob Herring			regulator-max-microvolt = <2950000>;
266*724ba675SRob Herring		};
267*724ba675SRob Herring
268*724ba675SRob Herring		pm8226_l24: l24 {
269*724ba675SRob Herring			regulator-min-microvolt = <1300000>;
270*724ba675SRob Herring			regulator-max-microvolt = <1350000>;
271*724ba675SRob Herring		};
272*724ba675SRob Herring
273*724ba675SRob Herring		pm8226_l25: l25 {
274*724ba675SRob Herring			regulator-min-microvolt = <1775000>;
275*724ba675SRob Herring			regulator-max-microvolt = <2125000>;
276*724ba675SRob Herring		};
277*724ba675SRob Herring
278*724ba675SRob Herring		pm8226_l26: l26 {
279*724ba675SRob Herring			regulator-min-microvolt = <1225000>;
280*724ba675SRob Herring			regulator-max-microvolt = <1225000>;
281*724ba675SRob Herring		};
282*724ba675SRob Herring
283*724ba675SRob Herring		pm8226_l27: l27 {
284*724ba675SRob Herring			regulator-min-microvolt = <2050000>;
285*724ba675SRob Herring			regulator-max-microvolt = <2050000>;
286*724ba675SRob Herring		};
287*724ba675SRob Herring
288*724ba675SRob Herring		pm8226_l28: l28 {
289*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
290*724ba675SRob Herring			regulator-max-microvolt = <2950000>;
291*724ba675SRob Herring		};
292*724ba675SRob Herring
293*724ba675SRob Herring		pm8226_lvs1: lvs1 {};
294*724ba675SRob Herring	};
295*724ba675SRob Herring};
296*724ba675SRob Herring
297*724ba675SRob Herring&sdhc_1 {
298*724ba675SRob Herring	vmmc-supply = <&pm8226_l17>;
299*724ba675SRob Herring	vqmmc-supply = <&pm8226_l6>;
300*724ba675SRob Herring
301*724ba675SRob Herring	bus-width = <8>;
302*724ba675SRob Herring	non-removable;
303*724ba675SRob Herring
304*724ba675SRob Herring	status = "okay";
305*724ba675SRob Herring};
306*724ba675SRob Herring
307*724ba675SRob Herring&sdhc_3 {
308*724ba675SRob Herring	max-frequency = <100000000>;
309*724ba675SRob Herring	non-removable;
310*724ba675SRob Herring
311*724ba675SRob Herring	vmmc-supply = <&vreg_wlan>;
312*724ba675SRob Herring	vqmmc-supply = <&pm8226_l6>;
313*724ba675SRob Herring
314*724ba675SRob Herring	#address-cells = <1>;
315*724ba675SRob Herring	#size-cells = <0>;
316*724ba675SRob Herring
317*724ba675SRob Herring	status = "okay";
318*724ba675SRob Herring
319*724ba675SRob Herring	wifi@1 {
320*724ba675SRob Herring		compatible = "brcm,bcm43430a0-fmac", "brcm,bcm4329-fmac";
321*724ba675SRob Herring		reg = <1>;
322*724ba675SRob Herring
323*724ba675SRob Herring		interrupts-extended = <&tlmm 66 IRQ_TYPE_EDGE_FALLING>;
324*724ba675SRob Herring		interrupt-names = "host-wake";
325*724ba675SRob Herring
326*724ba675SRob Herring		pinctrl-names = "default";
327*724ba675SRob Herring		pinctrl-0 = <&wlan_hostwake_default_state>;
328*724ba675SRob Herring	};
329*724ba675SRob Herring};
330*724ba675SRob Herring
331*724ba675SRob Herring&smbb {
332*724ba675SRob Herring	qcom,fast-charge-safe-voltage = <4370000>;
333*724ba675SRob Herring	qcom,fast-charge-high-threshold-voltage = <4350000>;
334*724ba675SRob Herring	qcom,minimum-input-voltage = <4350000>;
335*724ba675SRob Herring	qcom,fast-charge-current-limit = <300000>;
336*724ba675SRob Herring	qcom,fast-charge-safe-current = <600000>;
337*724ba675SRob Herring	qcom,auto-recharge-threshold-voltage = <4240000>;
338*724ba675SRob Herring};
339*724ba675SRob Herring
340*724ba675SRob Herring&tlmm {
341*724ba675SRob Herring	blsp1_uart4_default_state: blsp1-uart4-default-state {
342*724ba675SRob Herring		pins = "gpio12", "gpio13", "gpio14", "gpio15";
343*724ba675SRob Herring		function = "blsp_uart4";
344*724ba675SRob Herring		drive-strength = <8>;
345*724ba675SRob Herring		bias-disable;
346*724ba675SRob Herring	};
347*724ba675SRob Herring
348*724ba675SRob Herring	bluetooth_default_state: bluetooth-default-state {
349*724ba675SRob Herring		pins = "gpio63", "gpio64";
350*724ba675SRob Herring		function = "gpio";
351*724ba675SRob Herring		drive-strength = <2>;
352*724ba675SRob Herring		bias-pull-down;
353*724ba675SRob Herring	};
354*724ba675SRob Herring
355*724ba675SRob Herring	touch_default_state: touch-default-state {
356*724ba675SRob Herring		irq-pins {
357*724ba675SRob Herring			pins = "gpio17";
358*724ba675SRob Herring			function = "gpio";
359*724ba675SRob Herring			drive-strength = <8>;
360*724ba675SRob Herring			bias-pull-up;
361*724ba675SRob Herring		};
362*724ba675SRob Herring
363*724ba675SRob Herring		reset-pins {
364*724ba675SRob Herring			pins = "gpio16";
365*724ba675SRob Herring			function = "gpio";
366*724ba675SRob Herring			drive-strength = <6>;
367*724ba675SRob Herring			bias-pull-up;
368*724ba675SRob Herring		};
369*724ba675SRob Herring	};
370*724ba675SRob Herring
371*724ba675SRob Herring	vibrator_default_state: vibrator-default-state {
372*724ba675SRob Herring		pins = "gpio59", "gpio60";
373*724ba675SRob Herring		function = "gpio";
374*724ba675SRob Herring		drive-strength = <2>;
375*724ba675SRob Herring		bias-pull-down;
376*724ba675SRob Herring	};
377*724ba675SRob Herring
378*724ba675SRob Herring	wlan_hostwake_default_state: wlan-hostwake-default-state {
379*724ba675SRob Herring		pins = "gpio66";
380*724ba675SRob Herring		function = "gpio";
381*724ba675SRob Herring		drive-strength = <2>;
382*724ba675SRob Herring		bias-disable;
383*724ba675SRob Herring		input-enable;
384*724ba675SRob Herring	};
385*724ba675SRob Herring
386*724ba675SRob Herring	wlan_regulator_default_state: wlan-regulator-default-state {
387*724ba675SRob Herring		pins = "gpio110";
388*724ba675SRob Herring		function = "gpio";
389*724ba675SRob Herring		drive-strength = <2>;
390*724ba675SRob Herring		bias-pull-down;
391*724ba675SRob Herring	};
392*724ba675SRob Herring};
393*724ba675SRob Herring
394*724ba675SRob Herring&usb {
395*724ba675SRob Herring	extcon = <&smbb>;
396*724ba675SRob Herring	dr_mode = "peripheral";
397*724ba675SRob Herring	status = "okay";
398*724ba675SRob Herring};
399*724ba675SRob Herring
400*724ba675SRob Herring&usb_hs_phy {
401*724ba675SRob Herring	extcon = <&smbb>;
402*724ba675SRob Herring	v1p8-supply = <&pm8226_l10>;
403*724ba675SRob Herring	v3p3-supply = <&pm8226_l20>;
404*724ba675SRob Herring};
405