xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/milos-fairphone-fp6.dts (revision 69ed3df4f588860308677cda76cbcce1f19a54c9)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2025, Luca Weiss <luca.weiss@fairphone.com>
4 */
5
6/dts-v1/;
7
8#define PMIV0104_SID 7
9
10#include <dt-bindings/leds/common.h>
11#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
12#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
13#include "milos.dtsi"
14#include "pm7550.dtsi"
15#include "pm8550vs.dtsi"
16#include "pmiv0104.dtsi" /* PMIV0108 */
17#include "pmk8550.dtsi" /* PMK7635 */
18#include "pmr735b.dtsi"
19
20/ {
21	model = "The Fairphone (Gen. 6)";
22	compatible = "fairphone,fp6", "qcom,milos";
23	chassis-type = "handset";
24
25	aliases {
26		serial0 = &uart5;
27	};
28
29	gpio-keys {
30		compatible = "gpio-keys";
31
32		pinctrl-0 = <&volume_up_default>, <&hall_sensor_default>;
33		pinctrl-names = "default";
34
35		/* Powered by the always-on vreg_l10b */
36		event-hall-sensor {
37			label = "Hall Effect Sensor";
38			gpios = <&tlmm 70 GPIO_ACTIVE_LOW>;
39			linux,input-type = <EV_SW>;
40			linux,code = <SW_LID>;
41			linux,can-disable;
42			wakeup-source;
43		};
44
45		key-volume-up {
46			label = "Volume Up";
47			gpios = <&pm7550_gpios 6 GPIO_ACTIVE_LOW>;
48			linux,code = <KEY_VOLUMEUP>;
49		};
50
51		switch {
52			label = "Switch";
53			gpios = <&tlmm 107 GPIO_ACTIVE_HIGH>;
54			linux,input-type = <EV_SW>;
55			linux,code = <SW_MUTE_DEVICE>;
56		};
57	};
58
59	pmic-glink {
60		compatible = "qcom,milos-pmic-glink",
61			     "qcom,sm8550-pmic-glink",
62			     "qcom,pmic-glink";
63		#address-cells = <1>;
64		#size-cells = <0>;
65		orientation-gpios = <&tlmm 131 GPIO_ACTIVE_HIGH>;
66
67		connector@0 {
68			compatible = "usb-c-connector";
69			reg = <0>;
70
71			power-role = "dual";
72			data-role = "dual";
73
74			ports {
75				#address-cells = <1>;
76				#size-cells = <0>;
77
78				port@0 {
79					reg = <0>;
80
81					pmic_glink_hs_in: endpoint {
82						remote-endpoint = <&usb_1_dwc3_hs>;
83					};
84				};
85			};
86		};
87	};
88
89	vreg_ff_afvdd_2p8: regulator-ff-afvdd-2p8 {
90		compatible = "regulator-fixed";
91		regulator-name = "ff_afvdd_2p8";
92		regulator-min-microvolt = <2800000>;
93		regulator-max-microvolt = <2800000>;
94		startup-delay-us = <100>;
95
96		gpio = <&tlmm 93 GPIO_ACTIVE_HIGH>;
97		enable-active-high;
98
99		vin-supply = <&vreg_bob>;
100	};
101
102	vreg_uw_afvdd_2p8: regulator-uw-afvdd-2p8 {
103		compatible = "regulator-fixed";
104		regulator-name = "uw_afvdd_2p8";
105		regulator-min-microvolt = <2800000>;
106		regulator-max-microvolt = <2800000>;
107		startup-delay-us = <100>;
108
109		gpio = <&tlmm 23 GPIO_ACTIVE_HIGH>;
110		enable-active-high;
111
112		vin-supply = <&vreg_bob>;
113	};
114
115	vreg_uw_dvdd: regulator-uw-dvdd {
116		compatible = "regulator-fixed";
117		regulator-name = "uw_dvdd";
118		regulator-min-microvolt = <1200000>;
119		regulator-max-microvolt = <1200000>;
120		startup-delay-us = <100>;
121
122		gpio = <&tlmm 28 GPIO_ACTIVE_HIGH>;
123		enable-active-high;
124
125		vin-supply = <&vreg_s1b>;
126	};
127
128	vreg_ois_avdd0_1p8: regulator-ois-avdd0-1p8 {
129		compatible = "regulator-fixed";
130		regulator-name = "ois_avdd0_1p8";
131		regulator-min-microvolt = <1800000>;
132		regulator-max-microvolt = <1800000>;
133		startup-delay-us = <100>;
134
135		gpio = <&tlmm 27 GPIO_ACTIVE_HIGH>;
136		enable-active-high;
137
138		vin-supply = <&vreg_bob>;
139	};
140
141	vreg_ois_vdd: regulator-ois-vdd {
142		compatible = "regulator-fixed";
143		regulator-name = "ois_vdd";
144		regulator-min-microvolt = <3300000>;
145		regulator-max-microvolt = <3300000>;
146		startup-delay-us = <100>;
147
148		gpio = <&tlmm 24 GPIO_ACTIVE_HIGH>;
149		enable-active-high;
150
151		vin-supply = <&vph_pwr>;
152	};
153
154	vreg_oled_dvdd_1p2: regulator-oled-dvdd-1p2 {
155		compatible = "regulator-fixed";
156		regulator-name = "oled_dvdd_1p2";
157		regulator-min-microvolt = <1200000>;
158		regulator-max-microvolt = <1200000>;
159
160		gpio = <&tlmm 54 GPIO_ACTIVE_HIGH>;
161		enable-active-high;
162
163		vin-supply = <&vreg_s2b>;
164
165		regulator-boot-on;
166	};
167
168	vreg_s1j: regulator-pm3001a-s1j {
169		compatible = "regulator-fixed";
170		regulator-name = "pm3001a_s1j";
171		regulator-min-microvolt = <2200000>;
172		regulator-max-microvolt = <2200000>;
173		startup-delay-us = <1000>;
174
175		gpio = <&pmr735b_gpios 1 GPIO_ACTIVE_HIGH>;
176		enable-active-high;
177
178		vin-supply = <&vph_pwr>;
179
180		pinctrl-0 = <&s1j_enable_default>;
181		pinctrl-names = "default";
182	};
183
184	vreg_vtof_ldo_3p3: regulator-vtof-ldo-3p3 {
185		compatible = "regulator-fixed";
186		regulator-name = "vtof_ldo_3p3";
187		regulator-min-microvolt = <3300000>;
188		regulator-max-microvolt = <3300000>;
189		startup-delay-us = <100>;
190
191		gpio = <&tlmm 76 GPIO_ACTIVE_HIGH>;
192		enable-active-high;
193
194		vin-supply = <&vph_pwr>;
195	};
196
197	vph_pwr: regulator-vph-pwr {
198		compatible = "regulator-fixed";
199
200		regulator-name = "vph_pwr";
201		regulator-min-microvolt = <3700000>;
202		regulator-max-microvolt = <3700000>;
203
204		regulator-always-on;
205		regulator-boot-on;
206	};
207
208	thermal-zones {
209		pm8008-thermal {
210			polling-delay-passive = <100>;
211			thermal-sensors = <&pm8008>;
212
213			trips {
214				trip0 {
215					temperature = <95000>;
216					hysteresis = <0>;
217					type = "passive";
218				};
219
220				trip1 {
221					temperature = <115000>;
222					hysteresis = <0>;
223					type = "critical";
224				};
225			};
226		};
227	};
228};
229
230&apps_rsc {
231	regulators-0 {
232		compatible = "qcom,pm7550-rpmh-regulators";
233
234		vdd-l1-supply = <&vreg_s1b>;
235		vdd-l2-l3-supply = <&vreg_s3b>;
236		vdd-l4-l5-supply = <&vreg_s2b>;
237		vdd-l6-supply = <&vreg_s2b>;
238		vdd-l7-supply = <&vreg_s1b>;
239		vdd-l8-supply = <&vreg_s1b>;
240		vdd-l9-l10-supply = <&vreg_s1b>;
241		vdd-l11-supply = <&vreg_s1b>;
242		vdd-l12-l14-supply = <&vreg_bob>;
243		vdd-l13-l16-supply = <&vreg_bob>;
244		vdd-l15-l17-l18-l19-l20-l21-l22-l23-supply = <&vreg_bob>;
245		vdd-s1-supply = <&vph_pwr>;
246		vdd-s2-supply = <&vph_pwr>;
247		vdd-s3-supply = <&vph_pwr>;
248		vdd-s4-supply = <&vph_pwr>;
249		vdd-s5-supply = <&vph_pwr>;
250		vdd-s6-supply = <&vph_pwr>;
251
252		qcom,pmic-id = "b";
253
254		vreg_s1b: smps1 {
255			regulator-name = "vreg_s1b";
256			regulator-min-microvolt = <1800000>;
257			regulator-max-microvolt = <2080000>;
258			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
259		};
260
261		vreg_s2b: smps2 {
262			regulator-name = "vreg_s2b";
263			regulator-min-microvolt = <1256000>;
264			regulator-max-microvolt = <1408000>;
265			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
266		};
267
268		vreg_s3b: smps3 {
269			regulator-name = "vreg_s3b";
270			regulator-min-microvolt = <880000>;
271			regulator-max-microvolt = <1040000>;
272			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
273		};
274
275		vreg_l2b: ldo2 {
276			regulator-name = "vreg_l2b";
277			regulator-min-microvolt = <880000>;
278			regulator-max-microvolt = <912000>;
279			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
280		};
281
282		vreg_l3b: ldo3 {
283			regulator-name = "vreg_l3b";
284			regulator-min-microvolt = <880000>;
285			regulator-max-microvolt = <912000>;
286			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
287		};
288
289		vreg_l4b: ldo4 {
290			regulator-name = "vreg_l4b";
291			regulator-min-microvolt = <1200000>;
292			regulator-max-microvolt = <1200000>;
293			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
294		};
295
296		vreg_l5b: ldo5 {
297			regulator-name = "vreg_l5b";
298			regulator-min-microvolt = <1200000>;
299			regulator-max-microvolt = <1200000>;
300			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
301		};
302
303		vreg_l7b: ldo7 {
304			regulator-name = "vreg_l7b";
305			regulator-min-microvolt = <1800000>;
306			regulator-max-microvolt = <1800000>;
307			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
308		};
309
310		vreg_l8b: ldo8 {
311			regulator-name = "vreg_l8b";
312			regulator-min-microvolt = <1800000>;
313			regulator-max-microvolt = <1800000>;
314			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
315		};
316
317		vreg_l9b: ldo9 {
318			regulator-name = "vreg_l9b";
319			regulator-min-microvolt = <1800000>;
320			regulator-max-microvolt = <1800000>;
321			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
322		};
323
324		vreg_l10b: ldo10 {
325			regulator-name = "vreg_l10b";
326			regulator-min-microvolt = <1800000>;
327			regulator-max-microvolt = <1800000>;
328			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
329			/* Hall sensor VDD */
330			regulator-always-on;
331		};
332
333		vreg_l11b: ldo11 {
334			regulator-name = "vreg_l11b";
335			regulator-min-microvolt = <1800000>;
336			regulator-max-microvolt = <1800000>;
337			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
338		};
339
340		vreg_l12b: ldo12 {
341			regulator-name = "vreg_l12b";
342			/*
343			 * Skip voltage voting for UFS VCC.
344			 */
345			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
346		};
347
348		vreg_l13b: ldo13 {
349			regulator-name = "vreg_l13b";
350			regulator-min-microvolt = <2700000>;
351			regulator-max-microvolt = <3300000>;
352			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
353		};
354
355		vreg_l14b: ldo14 {
356			regulator-name = "vreg_l14b";
357			regulator-min-microvolt = <3300000>;
358			regulator-max-microvolt = <3304000>;
359			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
360		};
361
362		vreg_l15b: ldo15 {
363			regulator-name = "vreg_l15b";
364			regulator-min-microvolt = <3300000>;
365			regulator-max-microvolt = <3304000>;
366			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
367		};
368
369		vreg_l16b: ldo16 {
370			regulator-name = "vreg_l16b";
371			regulator-min-microvolt = <3008000>;
372			regulator-max-microvolt = <3008000>;
373			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
374		};
375
376		vreg_l17b: ldo17 {
377			regulator-name = "vreg_l17b";
378			regulator-min-microvolt = <3104000>;
379			regulator-max-microvolt = <3104000>;
380			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
381		};
382
383		vreg_l18b: ldo18 {
384			regulator-name = "vreg_l18b";
385			regulator-min-microvolt = <2800000>;
386			regulator-max-microvolt = <2800000>;
387			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
388		};
389
390		vreg_l19b: ldo19 {
391			regulator-name = "vreg_l19b";
392			regulator-min-microvolt = <3000000>;
393			regulator-max-microvolt = <3000000>;
394			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
395		};
396
397		vreg_l20b: ldo20 {
398			regulator-name = "vreg_l20b";
399			regulator-min-microvolt = <1620000>;
400			regulator-max-microvolt = <3544000>;
401			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
402		};
403
404		vreg_l21b: ldo21 {
405			regulator-name = "vreg_l21b";
406			regulator-min-microvolt = <1620000>;
407			regulator-max-microvolt = <3544000>;
408			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
409		};
410
411		vreg_l22b: ldo22 {
412			regulator-name = "vreg_l22b";
413			regulator-min-microvolt = <3200000>;
414			regulator-max-microvolt = <3200000>;
415			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
416		};
417
418		vreg_l23b: ldo23 {
419			regulator-name = "vreg_l23b";
420			regulator-min-microvolt = <1650000>;
421			regulator-max-microvolt = <3544000>;
422			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
423		};
424
425		vreg_bob: bob {
426			regulator-name = "vreg_bob";
427			regulator-min-microvolt = <3008000>;
428			regulator-max-microvolt = <3960000>;
429			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
430		};
431	};
432
433	regulators-1 {
434		compatible = "qcom,pm8550vs-rpmh-regulators";
435
436		vdd-l1-supply = <&vreg_s3b>;
437		vdd-l3-supply = <&vreg_s3b>;
438
439		qcom,pmic-id = "c";
440
441		vreg_l2c: ldo2 {
442			regulator-name = "vreg_l2c";
443			regulator-min-microvolt = <320000>;
444			regulator-max-microvolt = <650000>;
445			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
446		};
447	};
448
449	regulators-2 {
450		compatible = "qcom,pmr735b-rpmh-regulators";
451
452		vdd-l1-l2-supply= <&vreg_s3b>;
453		vdd-l3-supply= <&vreg_s3b>;
454		vdd-l4-supply= <&vreg_s1b>;
455		vdd-l5-supply= <&vreg_s2b>;
456		vdd-l6-supply= <&vreg_s2b>;
457		vdd-l7-l8-supply= <&vreg_s2b>;
458		vdd-l9-supply= <&vreg_s3b>;
459		vdd-l10-supply= <&vreg_s1b>;
460		vdd-l11-supply= <&vreg_s3b>;
461		vdd-l12-supply= <&vreg_s3b>;
462
463		qcom,pmic-id = "f";
464
465		vreg_l1f: ldo1 {
466			regulator-name = "vreg_l1f";
467			regulator-min-microvolt = <852000>;
468			regulator-max-microvolt = <950000>;
469			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
470		};
471
472		vreg_l2f: ldo2 {
473			regulator-name = "vreg_l2f";
474			regulator-min-microvolt = <751000>;
475			regulator-max-microvolt = <824000>;
476			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
477		};
478
479		vreg_l3f: ldo3 {
480			regulator-name = "vreg_l3f";
481			regulator-min-microvolt = <650000>;
482			regulator-max-microvolt = <880000>;
483			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
484		};
485
486		vreg_l4f: ldo4 {
487			regulator-name = "vreg_l4f";
488			regulator-min-microvolt = <1700000>;
489			regulator-max-microvolt = <1950000>;
490			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
491		};
492
493		vreg_l5f: ldo5 {
494			regulator-name = "vreg_l5f";
495			regulator-min-microvolt = <1140000>;
496			regulator-max-microvolt = <1260000>;
497			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
498		};
499
500		vreg_l6f: ldo6 {
501			regulator-name = "vreg_l6f";
502			regulator-min-microvolt = <1200000>;
503			regulator-max-microvolt = <1200000>;
504			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
505		};
506
507		vreg_l7f: ldo7 {
508			regulator-name = "vreg_l7f";
509			regulator-min-microvolt = <1080000>;
510			regulator-max-microvolt = <1350000>;
511			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
512		};
513
514		vreg_l8f: ldo8 {
515			regulator-name = "vreg_l8f";
516			regulator-min-microvolt = <1100000>;
517			regulator-max-microvolt = <1320000>;
518			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
519		};
520
521		vreg_l9f: ldo9 {
522			regulator-name = "vreg_l9f";
523			regulator-min-microvolt = <870000>;
524			regulator-max-microvolt = <970000>;
525			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
526		};
527
528		vreg_l10f: ldo10 {
529			regulator-name = "vreg_l10f";
530			regulator-min-microvolt = <1500000>;
531			regulator-max-microvolt = <1800000>;
532			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
533		};
534
535		vreg_l11f: ldo11 {
536			regulator-name = "vreg_l11f";
537			regulator-min-microvolt = <320000>;
538			regulator-max-microvolt = <864000>;
539			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
540		};
541	};
542};
543
544&cci0 {
545	status = "okay";
546};
547
548&cci0_i2c0 {
549	/* Main cam: Sony IMX896 @ 0x1a */
550
551	eeprom@50 {
552		compatible = "puya,p24c128f", "atmel,24c128";
553		reg = <0x50>;
554		vcc-supply = <&vreg_l6p>;
555		read-only;
556	};
557
558	/* Dongwoon DW9784 VCM/OIS @ 0x72 */
559};
560
561
562&cci0_i2c1 {
563	/* Awinic AW86017 VCM @ 0x0c */
564	/* UW cam: OmniVision OV13B10 @ 0x36 */
565
566	eeprom@52 {
567		compatible = "puya,p24c128f", "atmel,24c128";
568		reg = <0x52>;
569		vcc-supply = <&vreg_l6p>;
570		read-only;
571	};
572};
573
574&cci1 {
575	/* cci1_i2c0 is not used for CCI */
576	pinctrl-0 = <&cci1_1_default>;
577	pinctrl-1 = <&cci1_1_sleep>;
578
579	status = "okay";
580};
581
582&cci1_i2c1 {
583	/* Awinic AW86016 VCM @ 0x0c */
584	/* Front cam: Samsung S5KKD1 @ 0x3d */
585
586	eeprom@51 {
587		compatible = "puya,p24c128f", "atmel,24c128";
588		reg = <0x51>;
589		vcc-supply = <&vreg_l6p>;
590		read-only;
591	};
592};
593
594&gcc {
595	protected-clocks = <GCC_PCIE_1_AUX_CLK>, <GCC_PCIE_1_AUX_CLK_SRC>,
596			   <GCC_PCIE_1_CFG_AHB_CLK>, <GCC_PCIE_1_MSTR_AXI_CLK>,
597			   <GCC_PCIE_1_PHY_RCHNG_CLK>, <GCC_PCIE_1_PHY_RCHNG_CLK_SRC>,
598			   <GCC_PCIE_1_PIPE_CLK>, <GCC_PCIE_1_PIPE_CLK_SRC>,
599			   <GCC_PCIE_1_PIPE_DIV2_CLK>, <GCC_PCIE_1_PIPE_DIV2_CLK_SRC>,
600			   <GCC_PCIE_1_SLV_AXI_CLK>, <GCC_PCIE_1_SLV_Q2A_AXI_CLK>;
601};
602
603&i2c1 {
604	/* Samsung NFC @ 0x27 */
605
606	status = "okay";
607};
608
609&i2c3 {
610	/* AW88261FCR amplifier (top) @ 0x34 */
611	/* AW88261FCR amplifier (bottom) @ 0x35 */
612
613	status = "okay";
614};
615
616&i2c7 {
617	status = "okay";
618
619	pm8008: pmic@8 {
620		compatible = "qcom,pm8008";
621		reg = <0x8>;
622
623		interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_RISING>;
624		reset-gpios = <&pmr735b_gpios 3 GPIO_ACTIVE_LOW>;
625
626		vdd-l1-l2-supply = <&vreg_s2b>;
627		vdd-l3-l4-supply = <&vreg_bob>;
628		vdd-l5-supply = <&vreg_bob>;
629		vdd-l6-supply = <&vreg_s1b>;
630		vdd-l7-supply = <&vreg_bob>;
631
632		pinctrl-0 = <&pm8008_int_default>, <&pm8008_reset_n_default>;
633		pinctrl-names = "default";
634
635		gpio-controller;
636		#gpio-cells = <2>;
637		gpio-ranges = <&pm8008 0 0 2>;
638
639		interrupt-controller;
640		#interrupt-cells = <2>;
641
642		#thermal-sensor-cells = <0>;
643
644		regulators {
645			vreg_l1p: ldo1 {
646				regulator-name = "vreg_l1p";
647				regulator-min-microvolt = <1000000>;
648				regulator-max-microvolt = <1200000>;
649			};
650
651			vreg_l2p: ldo2 {
652				regulator-name = "vreg_l2p";
653				regulator-min-microvolt = <950000>;
654				regulator-max-microvolt = <1144000>;
655			};
656
657			vreg_l3p: ldo3 {
658				regulator-name = "vreg_l3p";
659				regulator-min-microvolt = <2700000>;
660				regulator-max-microvolt = <3000000>;
661			};
662
663			vreg_l4p: ldo4 {
664				regulator-name = "vreg_l4p";
665				regulator-min-microvolt = <2700000>;
666				regulator-max-microvolt = <2900000>;
667			};
668
669			vreg_l5p: ldo5 {
670				regulator-name = "vreg_l5p";
671				regulator-min-microvolt = <2704000>;
672				regulator-max-microvolt = <2900000>;
673			};
674
675			vreg_l6p: ldo6 {
676				regulator-name = "vreg_l6p";
677				regulator-min-microvolt = <1700000>;
678				regulator-max-microvolt = <1896000>;
679			};
680
681			vreg_l7p: ldo7 {
682				regulator-name = "vreg_l7p";
683				regulator-min-microvolt = <2700000>;
684				regulator-max-microvolt = <3400000>;
685			};
686		};
687	};
688
689	/* VL53L3 ToF @ 0x29 */
690	/* AW86938FCR vibrator @ 0x5a */
691};
692
693&pm8550vs_c {
694	status = "okay";
695};
696
697&pmiv0104_eusb2_repeater {
698	vdd18-supply = <&vreg_l7b>;
699	vdd3-supply = <&vreg_l17b>;
700
701	qcom,tune-res-fsdif = /bits/ 8 <0x5>;
702	qcom,tune-usb2-amplitude = /bits/ 8 <0x8>;
703	qcom,tune-usb2-disc-thres = /bits/ 8 <0x7>;
704	qcom,tune-usb2-preem = /bits/ 8 <0x6>;
705};
706
707&pmr735b_gpios {
708	s1j_enable_default: s1j-enable-default-state {
709		pins = "gpio1";
710		function = PMIC_GPIO_FUNC_NORMAL;
711		power-source = <0>;
712		bias-disable;
713		output-low;
714	};
715
716	pm8008_reset_n_default: pm8008-reset-n-default-state {
717		pins = "gpio3";
718		function = PMIC_GPIO_FUNC_NORMAL;
719		bias-pull-down;
720	};
721};
722
723&pm7550_gpios {
724	volume_up_default: volume-up-default-state {
725		pins = "gpio6";
726		function = PMIC_GPIO_FUNC_NORMAL;
727		power-source = <1>;
728		bias-pull-up;
729	};
730};
731
732&pm7550_flash {
733	status = "okay";
734
735	led-0 {
736		function = LED_FUNCTION_FLASH;
737		color = <LED_COLOR_ID_WHITE>;
738		led-sources = <1>, <4>;
739		led-max-microamp = <350000>;
740		flash-max-microamp = <1500000>;
741		flash-max-timeout-us = <400000>;
742	};
743};
744
745&pon_pwrkey {
746	status = "okay";
747};
748
749&pon_resin {
750	linux,code = <KEY_VOLUMEDOWN>;
751
752	status = "okay";
753};
754
755&qupv3_id_0 {
756	status = "okay";
757};
758
759&qupv3_id_1 {
760	status = "okay";
761};
762
763&remoteproc_adsp {
764	firmware-name = "qcom/milos/fairphone/fp6/adsp.mbn",
765			"qcom/milos/fairphone/fp6/adsp_dtb.mbn";
766
767	status = "okay";
768};
769
770&remoteproc_cdsp {
771	firmware-name = "qcom/milos/fairphone/fp6/cdsp.mbn",
772			"qcom/milos/fairphone/fp6/cdsp_dtb.mbn";
773
774	status = "okay";
775};
776
777&remoteproc_mpss {
778	firmware-name = "qcom/milos/fairphone/fp6/modem.mbn";
779
780	status = "okay";
781};
782
783&remoteproc_wpss {
784	firmware-name = "qcom/milos/fairphone/fp6/wpss.mbn";
785
786	status = "okay";
787};
788
789&sdhc_2 {
790	cd-gpios = <&tlmm 65 GPIO_ACTIVE_HIGH>;
791
792	vmmc-supply = <&vreg_l13b>;
793	vqmmc-supply = <&vreg_l23b>;
794	no-sdio;
795	no-mmc;
796
797	pinctrl-0 = <&sdc2_default>, <&sdc2_card_det_n>;
798	pinctrl-1 = <&sdc2_sleep>, <&sdc2_card_det_n>;
799	pinctrl-names = "default", "sleep";
800
801	status = "okay";
802};
803
804&spi0 {
805	/* Eswin EPH8621 touchscreen @ 0 */
806};
807
808&tlmm {
809	gpio-reserved-ranges = <8 4>, /* Fingerprint SPI */
810			       <13 1>, /* NC */
811			       <63 2>; /* WLAN UART */
812
813	sdc2_card_det_n: sdc2-card-det-state {
814		pins = "gpio65";
815		function = "gpio";
816		drive-strength = <2>;
817		bias-pull-up;
818	};
819
820	hall_sensor_default: hall-sensor-default-state {
821		pins = "gpio70";
822		function = "gpio";
823		drive-strength = <2>;
824		bias-disable;
825	};
826
827	pm8008_int_default: pm8008-int-default-state {
828		pins = "gpio125";
829		function = "gpio";
830		drive-strength = <2>;
831		bias-disable;
832	};
833};
834
835&uart5 {
836	status = "okay";
837};
838
839&ufs_mem_hc {
840	reset-gpios = <&tlmm 167 GPIO_ACTIVE_LOW>;
841
842	vcc-supply = <&vreg_l12b>;
843	vcc-max-microamp = <800000>;
844	vccq-supply = <&vreg_l5f>;
845	vccq-max-microamp = <750000>;
846
847	status = "okay";
848};
849
850&ufs_mem_phy {
851	vdda-phy-supply = <&vreg_l2b>;
852	vdda-pll-supply = <&vreg_l4b>;
853
854	status = "okay";
855};
856
857&usb_1 {
858	dr_mode = "otg";
859
860	/* USB 2.0 only, HW does not support USB 3.x */
861	qcom,select-utmi-as-pipe-clk;
862
863	status = "okay";
864};
865
866&usb_1_dwc3_hs {
867	remote-endpoint = <&pmic_glink_hs_in>;
868};
869
870&usb_1_hsphy {
871	vdd-supply = <&vreg_l2b>;
872	vdda12-supply = <&vreg_l4b>;
873
874	phys = <&pmiv0104_eusb2_repeater>;
875
876	status = "okay";
877};
878