Linux Audio

Check our new training course

In-person Linux kernel drivers training

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