~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: BSD-3-Clause
  2 /*
  3  * Copyright (c) 2023, Luca Weiss <luca.weiss@fairphone.com>
  4  */
  5 
  6 /dts-v1/;
  7 
  8 /* PM7250B is configured to use SID8/9 */
  9 #define PM7250B_SID 8
 10 #define PM7250B_SID1 9
 11 
 12 #include <dt-bindings/iio/qcom,spmi-adc7-pm7325.h>
 13 #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
 14 #include <dt-bindings/leds/common.h>
 15 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 16 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 17 #include "sc7280.dtsi"
 18 #include "pm7250b.dtsi"
 19 #include "pm7325.dtsi"
 20 #include "pm8350c.dtsi" /* PM7350C */
 21 #include "pmk8350.dtsi" /* PMK7325 */
 22 
 23 /delete-node/ &rmtfs_mem;
 24 
 25 / {
 26         model = "Fairphone 5";
 27         compatible = "fairphone,fp5", "qcom,qcm6490";
 28         chassis-type = "handset";
 29 
 30         aliases {
 31                 serial0 = &uart5;
 32                 serial1 = &uart7;
 33         };
 34 
 35         chosen {
 36                 #address-cells = <2>;
 37                 #size-cells = <2>;
 38                 ranges;
 39 
 40                 framebuffer0: framebuffer@a000000 {
 41                         compatible = "simple-framebuffer";
 42                         reg = <0x0 0xe1000000 0x0 (2700 * 1224 * 4)>;
 43                         width = <1224>;
 44                         height = <2700>;
 45                         stride = <(1224 * 4)>;
 46                         format = "a8r8g8b8";
 47                         clocks = <&gcc GCC_DISP_HF_AXI_CLK>;
 48                 };
 49         };
 50 
 51         gpio-keys {
 52                 compatible = "gpio-keys";
 53 
 54                 pinctrl-0 = <&volume_down_default>, <&hall_sensor_default>;
 55                 pinctrl-names = "default";
 56 
 57                 key-volume-up {
 58                         label = "Volume up";
 59                         gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>;
 60                         linux,code = <KEY_VOLUMEUP>;
 61                 };
 62 
 63                 /* Powered by the always-on vreg_l8c */
 64                 event-hall-sensor {
 65                         label = "Hall Effect Sensor";
 66                         gpios = <&tlmm 155 GPIO_ACTIVE_LOW>;
 67                         linux,input-type = <EV_SW>;
 68                         linux,code = <SW_LID>;
 69                         linux,can-disable;
 70                         wakeup-source;
 71                 };
 72         };
 73 
 74         pmic-glink {
 75                 compatible = "qcom,qcm6490-pmic-glink", "qcom,pmic-glink";
 76 
 77                 #address-cells = <1>;
 78                 #size-cells = <0>;
 79 
 80                 orientation-gpios = <&tlmm 140 GPIO_ACTIVE_HIGH>;
 81 
 82                 connector@0 {
 83                         compatible = "usb-c-connector";
 84                         reg = <0>;
 85                         power-role = "dual";
 86                         data-role = "dual";
 87 
 88                         ports {
 89                                 #address-cells = <1>;
 90                                 #size-cells = <0>;
 91 
 92                                 port@0 {
 93                                         reg = <0>;
 94 
 95                                         pmic_glink_hs_in: endpoint {
 96                                                 remote-endpoint = <&usb_1_dwc3_hs>;
 97                                         };
 98                                 };
 99 
100                                 port@1 {
101                                         reg = <1>;
102 
103                                         pmic_glink_ss_in: endpoint {
104                                                 remote-endpoint = <&usb_1_dwc3_ss>;
105                                         };
106                                 };
107                         };
108                 };
109         };
110 
111         reserved-memory {
112                 cont_splash_mem: cont-splash@e1000000 {
113                         reg = <0x0 0xe1000000 0x0 0x2300000>;
114                         no-map;
115                 };
116 
117                 cdsp_mem: cdsp@88f00000 {
118                         reg = <0x0 0x88f00000 0x0 0x1e00000>;
119                         no-map;
120                 };
121 
122                 removed_mem: removed@c0000000 {
123                         reg = <0x0 0xc0000000 0x0 0x5100000>;
124                         no-map;
125                 };
126 
127                 rmtfs_mem: memory@f8500000 {
128                         compatible = "qcom,rmtfs-mem";
129                         reg = <0x0 0xf8500000 0x0 0x600000>;
130                         no-map;
131 
132                         qcom,client-id = <1>;
133                         qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>, <QCOM_SCM_VMID_NAV>;
134                 };
135         };
136 
137         ois_avdd0_1p8: regulator-ois-avdd0-1p8 {
138                 compatible = "regulator-fixed";
139                 regulator-name = "OIS_AVDD0_1P8";
140                 regulator-min-microvolt = <1800000>;
141                 regulator-max-microvolt = <1800000>;
142                 gpio = <&tlmm 157 GPIO_ACTIVE_HIGH>;
143                 enable-active-high;
144                 vin-supply = <&vreg_bob>;
145         };
146 
147         ois_dvdd_1p1: regulator-ois-dvdd-1p1 {
148                 compatible = "regulator-fixed";
149                 regulator-name = "OIS_DVDD_1P1";
150                 regulator-min-microvolt = <1100000>;
151                 regulator-max-microvolt = <1100000>;
152                 gpio = <&tlmm 97 GPIO_ACTIVE_HIGH>;
153                 enable-active-high;
154                 vin-supply = <&vreg_s8b>;
155         };
156 
157         afvdd_2p8: regulator-afvdd-2p8 {
158                 compatible = "regulator-fixed";
159                 regulator-name = "AFVDD_2P8";
160                 regulator-min-microvolt = <2800000>;
161                 regulator-max-microvolt = <2800000>;
162                 gpio = <&tlmm 68 GPIO_ACTIVE_HIGH>;
163                 enable-active-high;
164                 vin-supply = <&vreg_bob>;
165         };
166 
167         thermal-zones {
168                 camera-thermal {
169                         polling-delay-passive = <0>;
170 
171                         thermal-sensors = <&pmk8350_adc_tm 2>;
172 
173                         trips {
174                                 active-config0 {
175                                         temperature = <125000>;
176                                         hysteresis = <1000>;
177                                         type = "passive";
178                                 };
179                         };
180                 };
181 
182                 chg-skin-thermal {
183                         polling-delay-passive = <0>;
184 
185                         thermal-sensors = <&pm7250b_adc_tm 0>;
186 
187                         trips {
188                                 active-config0 {
189                                         temperature = <125000>;
190                                         hysteresis = <1000>;
191                                         type = "passive";
192                                 };
193                         };
194                 };
195 
196                 conn-thermal {
197                         polling-delay-passive = <0>;
198 
199                         thermal-sensors = <&pm7250b_adc_tm 1>;
200 
201                         trips {
202                                 active-config0 {
203                                         temperature = <125000>;
204                                         hysteresis = <1000>;
205                                         type = "passive";
206                                 };
207                         };
208                 };
209 
210                 pm8008-thermal {
211                         polling-delay-passive = <100>;
212                         thermal-sensors = <&pm8008>;
213 
214                         trips {
215                                 trip0 {
216                                         temperature = <95000>;
217                                         hysteresis = <0>;
218                                         type = "passive";
219                                 };
220 
221                                 trip1 {
222                                         temperature = <115000>;
223                                         hysteresis = <0>;
224                                         type = "critical";
225                                 };
226                         };
227                 };
228 
229                 quiet-thermal {
230                         polling-delay-passive = <0>;
231 
232                         thermal-sensors = <&pmk8350_adc_tm 1>;
233 
234                         trips {
235                                 active-config0 {
236                                         temperature = <125000>;
237                                         hysteresis = <1000>;
238                                         type = "passive";
239                                 };
240                         };
241                 };
242 
243                 rear-cam-thermal {
244                         polling-delay-passive = <0>;
245 
246                         thermal-sensors = <&pmk8350_adc_tm 4>;
247 
248                         trips {
249                                 active-config0 {
250                                         temperature = <125000>;
251                                         hysteresis = <1000>;
252                                         type = "passive";
253                                 };
254                         };
255                 };
256 
257                 sdm-skin-thermal {
258                         polling-delay-passive = <0>;
259 
260                         thermal-sensors = <&pmk8350_adc_tm 3>;
261 
262                         trips {
263                                 active-config0 {
264                                         temperature = <125000>;
265                                         hysteresis = <1000>;
266                                         type = "passive";
267                                 };
268                         };
269                 };
270 
271                 xo-thermal {
272                         polling-delay-passive = <0>;
273 
274                         thermal-sensors = <&pmk8350_adc_tm 0>;
275 
276                         trips {
277                                 active-config0 {
278                                         temperature = <125000>;
279                                         hysteresis = <1000>;
280                                         type = "passive";
281                                 };
282                         };
283                 };
284         };
285 };
286 
287 &apps_rsc {
288         regulators-0 {
289                 compatible = "qcom,pm7325-rpmh-regulators";
290                 qcom,pmic-id = "b";
291 
292                 vreg_s1b: smps1 {
293                         regulator-name = "vreg_s1b";
294                         regulator-min-microvolt = <1840000>;
295                         regulator-max-microvolt = <2040000>;
296                 };
297 
298                 vreg_s7b: smps7 {
299                         regulator-name = "vreg_s7b";
300                         regulator-min-microvolt = <535000>;
301                         regulator-max-microvolt = <1120000>;
302                 };
303 
304                 vreg_s8b: smps8 {
305                         regulator-name = "vreg_s8b";
306                         regulator-min-microvolt = <1200000>;
307                         regulator-max-microvolt = <1500000>;
308                         regulator-initial-mode = <RPMH_REGULATOR_MODE_RET>;
309                 };
310 
311                 vreg_l1b: ldo1 {
312                         regulator-name = "vreg_l1b";
313                         regulator-min-microvolt = <825000>;
314                         regulator-max-microvolt = <925000>;
315                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
316                 };
317 
318                 vreg_l2b: ldo2 {
319                         regulator-name = "vreg_l2b";
320                         regulator-min-microvolt = <2700000>;
321                         regulator-max-microvolt = <3544000>;
322                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
323                 };
324 
325                 vreg_l3b: ldo3 {
326                         regulator-name = "vreg_l3b";
327                         regulator-min-microvolt = <312000>;
328                         regulator-max-microvolt = <910000>;
329                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
330                 };
331 
332                 vreg_l6b: ldo6 {
333                         regulator-name = "vreg_l6b";
334                         regulator-min-microvolt = <1140000>;
335                         regulator-max-microvolt = <1260000>;
336                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
337                 };
338 
339                 vreg_l7b: ldo7 {
340                         regulator-name = "vreg_l7b";
341                         /* Constrained for UFS VCC, at least until UFS driver scales voltage */
342                         regulator-min-microvolt = <2952000>;
343                         regulator-max-microvolt = <2952000>;
344                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
345                 };
346 
347                 vreg_l8b: ldo8 {
348                         regulator-name = "vreg_l8b";
349                         regulator-min-microvolt = <870000>;
350                         regulator-max-microvolt = <970000>;
351                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
352                 };
353 
354                 vreg_l9b: ldo9 {
355                         regulator-name = "vreg_l9b";
356                         regulator-min-microvolt = <1200000>;
357                         regulator-max-microvolt = <1304000>;
358                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
359                 };
360 
361                 vreg_l11b: ldo11 {
362                         regulator-name = "vreg_l11b";
363                         regulator-min-microvolt = <1504000>;
364                         regulator-max-microvolt = <2000000>;
365                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
366                 };
367 
368                 vreg_l12b: ldo12 {
369                         regulator-name = "vreg_l12b";
370                         regulator-min-microvolt = <751000>;
371                         regulator-max-microvolt = <824000>;
372                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
373                 };
374 
375                 vreg_l13b: ldo13 {
376                         regulator-name = "vreg_l13b";
377                         regulator-min-microvolt = <530000>;
378                         regulator-max-microvolt = <824000>;
379                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
380                 };
381 
382                 vreg_l14b: ldo14 {
383                         regulator-name = "vreg_l14b";
384                         regulator-min-microvolt = <1080000>;
385                         regulator-max-microvolt = <1304000>;
386                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
387                 };
388 
389                 vreg_l15b: ldo15 {
390                         regulator-name = "vreg_l15b";
391                         regulator-min-microvolt = <765000>;
392                         regulator-max-microvolt = <1020000>;
393                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
394                 };
395 
396                 vreg_l16b: ldo16 {
397                         regulator-name = "vreg_l16b";
398                         regulator-min-microvolt = <1100000>;
399                         regulator-max-microvolt = <1300000>;
400                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
401                 };
402 
403                 vreg_l17b: ldo17 {
404                         regulator-name = "vreg_l17b";
405                         regulator-min-microvolt = <1700000>;
406                         regulator-max-microvolt = <1900000>;
407                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
408                 };
409 
410                 vreg_l18b: ldo18 {
411                         regulator-name = "vreg_l18b";
412                         regulator-min-microvolt = <1800000>;
413                         regulator-max-microvolt = <2000000>;
414                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
415                 };
416 
417                 vreg_l19b: ldo19 {
418                         regulator-name = "vreg_l19b";
419                         regulator-min-microvolt = <1800000>;
420                         regulator-max-microvolt = <2000000>;
421                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
422                 };
423         };
424 
425         regulators-1 {
426                 compatible = "qcom,pm8350c-rpmh-regulators";
427                 qcom,pmic-id = "c";
428 
429                 vreg_s1c: smps1 {
430                         regulator-name = "vreg_s1c";
431                         regulator-min-microvolt = <2190000>;
432                         regulator-max-microvolt = <2210000>;
433                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
434                 };
435 
436                 vreg_s9c: smps9 {
437                         regulator-name = "vreg_s9c";
438                         regulator-min-microvolt = <1010000>;
439                         regulator-max-microvolt = <1170000>;
440                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
441                 };
442 
443                 vreg_l1c: ldo1 {
444                         regulator-name = "vreg_l1c";
445                         regulator-min-microvolt = <1800000>;
446                         regulator-max-microvolt = <1980000>;
447                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
448                 };
449 
450                 vreg_l2c: ldo2 {
451                         regulator-name = "vreg_l2c";
452                         regulator-min-microvolt = <1800000>;
453                         regulator-max-microvolt = <1950000>;
454                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
455                 };
456 
457                 vreg_l3c: ldo3 {
458                         regulator-name = "vreg_l3c";
459                         regulator-min-microvolt = <3000000>;
460                         regulator-max-microvolt = <3400000>;
461                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
462                 };
463 
464                 vreg_l4c: ldo4 {
465                         regulator-name = "vreg_l4c";
466                         regulator-min-microvolt = <1620000>;
467                         regulator-max-microvolt = <3300000>;
468                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
469                 };
470 
471                 vreg_l5c: ldo5 {
472                         regulator-name = "vreg_l5c";
473                         regulator-min-microvolt = <1620000>;
474                         regulator-max-microvolt = <3300000>;
475                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
476                 };
477 
478                 vreg_l6c: ldo6 {
479                         regulator-name = "vreg_l6c";
480                         regulator-min-microvolt = <1650000>;
481                         regulator-max-microvolt = <3544000>;
482                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
483                 };
484 
485                 vreg_l7c: ldo7 {
486                         regulator-name = "vreg_l7c";
487                         regulator-min-microvolt = <3000000>;
488                         regulator-max-microvolt = <3544000>;
489                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
490                 };
491 
492                 vreg_l8c: ldo8 {
493                         regulator-name = "vreg_l8c";
494                         regulator-min-microvolt = <1620000>;
495                         regulator-max-microvolt = <2000000>;
496                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
497                         /* Hall sensor VDD */
498                         regulator-always-on;
499                 };
500 
501                 vreg_l9c: ldo9 {
502                         regulator-name = "vreg_l9c";
503                         regulator-min-microvolt = <2700000>;
504                         regulator-max-microvolt = <3544000>;
505                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
506                 };
507 
508                 vreg_l10c: ldo10 {
509                         regulator-name = "vreg_l10c";
510                         regulator-min-microvolt = <720000>;
511                         regulator-max-microvolt = <1050000>;
512                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
513                 };
514 
515                 vreg_l11c: ldo11 {
516                         regulator-name = "vreg_l11c";
517                         regulator-min-microvolt = <2800000>;
518                         regulator-max-microvolt = <3544000>;
519                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
520                 };
521 
522                 vreg_l12c: ldo12 {
523                         regulator-name = "vreg_l12c";
524                         regulator-min-microvolt = <1650000>;
525                         regulator-max-microvolt = <2000000>;
526                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
527                 };
528 
529                 vreg_l13c: ldo13 {
530                         regulator-name = "vreg_l13c";
531                         regulator-min-microvolt = <2700000>;
532                         regulator-max-microvolt = <3544000>;
533                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
534                 };
535 
536                 vreg_bob: bob {
537                         regulator-name = "vreg_bob";
538                         regulator-min-microvolt = <3008000>;
539                         regulator-max-microvolt = <3960000>;
540                         regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
541                 };
542         };
543 };
544 
545 &dispcc {
546         /* Disable for now so simple-framebuffer continues working */
547         status = "disabled";
548 };
549 
550 &gcc {
551         protected-clocks = <GCC_CFG_NOC_LPASS_CLK>,
552                            <GCC_EDP_CLKREF_EN>,
553                            <GCC_MSS_CFG_AHB_CLK>,
554                            <GCC_MSS_GPLL0_MAIN_DIV_CLK_SRC>,
555                            <GCC_MSS_OFFLINE_AXI_CLK>,
556                            <GCC_MSS_Q6SS_BOOT_CLK_SRC>,
557                            <GCC_MSS_Q6_MEMNOC_AXI_CLK>,
558                            <GCC_MSS_SNOC_AXI_CLK>,
559                            <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
560                            <GCC_QSPI_CORE_CLK>,
561                            <GCC_QSPI_CORE_CLK_SRC>,
562                            <GCC_SEC_CTRL_CLK_SRC>,
563                            <GCC_WPSS_AHB_BDG_MST_CLK>,
564                            <GCC_WPSS_AHB_CLK>,
565                            <GCC_WPSS_RSCP_CLK>;
566 };
567 
568 &gpi_dma0 {
569         status = "okay";
570 };
571 
572 &gpi_dma1 {
573         status = "okay";
574 };
575 
576 &i2c1 {
577         status = "okay";
578 
579         pm8008: pmic@8 {
580                 compatible = "qcom,pm8008";
581                 reg = <0x8>;
582 
583                 interrupts-extended = <&tlmm 25 IRQ_TYPE_EDGE_RISING>;
584                 reset-gpios = <&pm8350c_gpios 3 GPIO_ACTIVE_LOW>;
585 
586                 vdd-l1-l2-supply = <&vreg_s8b>;
587                 vdd-l3-l4-supply = <&vreg_bob>;
588                 vdd-l5-supply = <&vreg_bob>;
589                 vdd-l6-supply = <&vreg_s1b>;
590                 vdd-l7-supply = <&vreg_bob>;
591 
592                 pinctrl-names = "default";
593                 pinctrl-0 = <&pm8008_int_default>, <&pm8008_reset_n_default>;
594 
595                 gpio-controller;
596                 #gpio-cells = <2>;
597                 gpio-ranges = <&pm8008 0 0 2>;
598 
599                 interrupt-controller;
600                 #interrupt-cells = <2>;
601 
602                 #thermal-sensor-cells = <0>;
603 
604                 regulators {
605                         vreg_l1p: ldo1 {
606                                 regulator-name = "vreg_l1p";
607                                 regulator-min-microvolt = <1000000>;
608                                 regulator-max-microvolt = <1200000>;
609                         };
610 
611                         vreg_l2p: ldo2 {
612                                 regulator-name = "vreg_l2p";
613                                 regulator-min-microvolt = <950000>;
614                                 regulator-max-microvolt = <1152000>;
615                         };
616 
617                         vreg_l3p: ldo3 {
618                                 regulator-name = "vreg_l3p";
619                                 regulator-min-microvolt = <2700000>;
620                                 regulator-max-microvolt = <3000000>;
621                         };
622 
623                         vreg_l4p: ldo4 {
624                                 regulator-name = "vreg_l4p";
625                                 regulator-min-microvolt = <2700000>;
626                                 regulator-max-microvolt = <2900000>;
627                         };
628 
629                         vreg_l5p: ldo5 {
630                                 regulator-name = "vreg_l5p";
631                                 regulator-min-microvolt = <2704000>;
632                                 regulator-max-microvolt = <2900000>;
633                         };
634 
635                         vreg_l6p: ldo6 {
636                                 regulator-name = "vreg_l6p";
637                                 regulator-min-microvolt = <1700000>;
638                                 regulator-max-microvolt = <1904000>;
639                         };
640 
641                         vreg_l7p: ldo7 {
642                                 regulator-name = "vreg_l7p";
643                                 regulator-min-microvolt = <2700000>;
644                                 regulator-max-microvolt = <3000000>;
645                         };
646                 };
647         };
648 
649         /* Pixelworks @ 26 */
650         /* FSA4480 USB audio switch @ 42 */
651         /* AW86927FCR haptics @ 5a */
652 };
653 
654 &i2c2 {
655         status = "okay";
656 
657         /* AW88261FCR amplifier @ 34 */
658         /* AW88261FCR amplifier @ 35 */
659 };
660 
661 &i2c4 {
662         status = "okay";
663 
664         /* PTN36502 USB redriver @ 1a */
665 };
666 
667 &i2c9 {
668         status = "okay";
669 
670         /* ST21NFC NFC @ 28 */
671         /* VL53L3 ToF @ 29 */
672 };
673 
674 &ipa {
675         qcom,gsi-loader = "self";
676         memory-region = <&ipa_fw_mem>;
677         firmware-name = "qcom/qcm6490/fairphone5/ipa_fws.mbn";
678         status = "okay";
679 };
680 
681 &pm7250b_adc {
682         channel@4d {
683                 reg = <ADC5_AMUX_THM1_100K_PU>;
684                 qcom,ratiometric;
685                 qcom,hw-settle-time = <200>;
686                 qcom,pre-scaling = <1 1>;
687                 label = "charger_skin_therm";
688         };
689 
690         channel@4f {
691                 reg = <ADC5_AMUX_THM3_100K_PU>;
692                 qcom,ratiometric;
693                 qcom,hw-settle-time = <200>;
694                 qcom,pre-scaling = <1 1>;
695                 label = "conn_therm";
696         };
697 };
698 
699 &pm7250b_adc_tm {
700         status = "okay";
701 
702         charger-skin-therm@0 {
703                 reg = <0>;
704                 io-channels = <&pm7250b_adc ADC5_AMUX_THM1_100K_PU>;
705                 qcom,ratiometric;
706                 qcom,hw-settle-time-us = <200>;
707         };
708 
709         conn-therm@1 {
710                 reg = <1>;
711                 io-channels = <&pm7250b_adc ADC5_AMUX_THM3_100K_PU>;
712                 qcom,ratiometric;
713                 qcom,hw-settle-time-us = <200>;
714         };
715 };
716 
717 &pm7325_gpios {
718         volume_down_default: volume-down-default-state {
719                 pins = "gpio6";
720                 function = PMIC_GPIO_FUNC_NORMAL;
721                 power-source = <1>;
722                 bias-pull-up;
723                 input-enable;
724         };
725 };
726 
727 &pm8350c_flash {
728         status = "okay";
729 
730         led-0 {
731                 function = LED_FUNCTION_FLASH;
732                 color = <LED_COLOR_ID_WHITE>;
733                 led-sources = <1>, <4>;
734                 led-max-microamp = <500000>;
735                 flash-max-microamp = <1500000>;
736                 flash-max-timeout-us = <1280000>;
737         };
738 };
739 
740 &pmk8350_adc_tm {
741         status = "okay";
742 
743         xo-therm@0 {
744                 reg = <0>;
745                 io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>;
746                 qcom,ratiometric;
747                 qcom,hw-settle-time-us = <200>;
748         };
749 
750         quiet-therm@1 {
751                 reg = <1>;
752                 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>;
753                 qcom,ratiometric;
754                 qcom,hw-settle-time-us = <200>;
755         };
756 
757         cam-flash-therm@2 {
758                 reg = <2>;
759                 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM2_100K_PU>;
760                 qcom,ratiometric;
761                 qcom,hw-settle-time-us = <200>;
762         };
763 
764         sdm-skin-therm@3 {
765                 reg = <3>;
766                 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>;
767                 qcom,ratiometric;
768                 qcom,hw-settle-time-us = <200>;
769         };
770 
771         wide-rfc-therm@4 {
772                 reg = <4>;
773                 io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM4_100K_PU>;
774                 qcom,ratiometric;
775                 qcom,hw-settle-time-us = <200>;
776         };
777 };
778 
779 &pm8350c_gpios {
780         pm8008_reset_n_default: pm8008-reset-n-default-state {
781                 pins = "gpio3";
782                 function = PMIC_GPIO_FUNC_NORMAL;
783                 bias-pull-down;
784         };
785 };
786 
787 &pmk8350_rtc {
788         status = "okay";
789 };
790 
791 &pmk8350_vadc {
792         status = "okay";
793 
794         channel@44 {
795                 reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
796                 qcom,ratiometric;
797                 qcom,hw-settle-time = <200>;
798                 qcom,pre-scaling = <1 1>;
799                 label = "pmk8350_xo_therm";
800         };
801 
802         channel@144 {
803                 reg = <PM7325_ADC7_AMUX_THM1_100K_PU>;
804                 qcom,ratiometric;
805                 qcom,hw-settle-time = <200>;
806                 qcom,pre-scaling = <1 1>;
807                 label = "pm7325_quiet_therm";
808         };
809 
810         channel@145 {
811                 reg = <PM7325_ADC7_AMUX_THM2_100K_PU>;
812                 qcom,ratiometric;
813                 qcom,hw-settle-time = <200>;
814                 qcom,pre-scaling = <1 1>;
815                 label = "pm7325_cam_flash_therm";
816         };
817 
818         channel@146 {
819                 reg = <PM7325_ADC7_AMUX_THM3_100K_PU>;
820                 qcom,ratiometric;
821                 qcom,hw-settle-time = <200>;
822                 qcom,pre-scaling = <1 1>;
823                 label = "pm7325_sdm_skin_therm";
824         };
825 
826         channel@147 {
827                 reg = <PM7325_ADC7_AMUX_THM4_100K_PU>;
828                 qcom,ratiometric;
829                 qcom,hw-settle-time = <200>;
830                 qcom,pre-scaling = <1 1>;
831                 label = "pm7325_wide_rfc_therm";
832         };
833 };
834 
835 &pon_pwrkey {
836         status = "okay";
837 };
838 
839 &pon_resin {
840         linux,code = <KEY_VOLUMEDOWN>;
841         status = "okay";
842 };
843 
844 &qup_spi13_cs {
845         drive-strength = <6>;
846         bias-disable;
847 };
848 
849 &qup_spi13_data_clk {
850         drive-strength = <6>;
851         bias-disable;
852 };
853 
854 &qup_uart5_rx {
855         drive-strength = <2>;
856         bias-disable;
857 };
858 
859 &qup_uart5_tx {
860         drive-strength = <2>;
861         bias-disable;
862 };
863 
864 &qupv3_id_0 {
865         status = "okay";
866 };
867 
868 &qupv3_id_1 {
869         status = "okay";
870 };
871 
872 &remoteproc_adsp {
873         firmware-name = "qcom/qcm6490/fairphone5/adsp.mbn";
874         status = "okay";
875 };
876 
877 &remoteproc_cdsp {
878         firmware-name = "qcom/qcm6490/fairphone5/cdsp.mbn";
879         status = "okay";
880 };
881 
882 &remoteproc_mpss {
883         firmware-name = "qcom/qcm6490/fairphone5/modem.mbn";
884         status = "okay";
885 };
886 
887 &remoteproc_wpss {
888         firmware-name = "qcom/qcm6490/fairphone5/wpss.mbn";
889         status = "okay";
890 };
891 
892 &sdc2_clk {
893         drive-strength = <16>;
894         bias-disable;
895 };
896 
897 &sdc2_cmd {
898         drive-strength = <10>;
899         bias-pull-up;
900 };
901 
902 &sdc2_data {
903         drive-strength = <10>;
904         bias-pull-up;
905 };
906 
907 &sdhc_2 {
908         vmmc-supply = <&vreg_l9c>;
909         vqmmc-supply = <&vreg_l6c>;
910 
911         pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>;
912         pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>;
913 
914         status = "okay";
915 };
916 
917 &spi13 {
918         status = "okay";
919 
920         /* Goodix touchscreen @ 0 */
921 };
922 
923 &tlmm {
924         /*
925          * 32-33: SMB1394 (SPMI)
926          * 56-59: fingerprint reader (SPI)
927          */
928         gpio-reserved-ranges = <32 2>, <56 4>;
929 
930         bluetooth_enable_default: bluetooth-enable-default-state {
931                 pins = "gpio85";
932                 function = "gpio";
933                 output-low;
934                 bias-disable;
935         };
936 
937         hall_sensor_default: hall-sensor-default-state {
938                 pins = "gpio155";
939                 function = "gpio";
940                 drive-strength = <2>;
941                 bias-pull-up;
942         };
943 
944         pm8008_int_default: pm8008-int-default-state {
945                 pins = "gpio25";
946                 function = "gpio";
947                 drive-strength = <2>;
948                 bias-disable;
949         };
950 
951         qup_uart7_sleep_cts: qup-uart7-sleep-cts-state {
952                 pins = "gpio28";
953                 function = "gpio";
954                 /*
955                  * Configure a bias-bus-hold on CTS to lower power
956                  * usage when Bluetooth is turned off. Bus hold will
957                  * maintain a low power state regardless of whether
958                  * the Bluetooth module drives the pin in either
959                  * direction or leaves the pin fully unpowered.
960                  */
961                 bias-bus-hold;
962         };
963 
964         qup_uart7_sleep_rts: qup-uart7-sleep-rts-state {
965                 pins = "gpio29";
966                 function = "gpio";
967                 /*
968                  * Configure pull-down on RTS. As RTS is active low
969                  * signal, pull it low to indicate the BT SoC that it
970                  * can wakeup the system anytime from suspend state by
971                  * pulling RX low (by sending wakeup bytes).
972                  */
973                 bias-pull-down;
974         };
975 
976         qup_uart7_sleep_tx: qup-uart7-sleep-tx-state {
977                 pins = "gpio30";
978                 function = "gpio";
979                 /*
980                  * Configure pull-up on TX when it isn't actively driven
981                  * to prevent BT SoC from receiving garbage during sleep.
982                  */
983                 bias-pull-up;
984         };
985 
986         qup_uart7_sleep_rx: qup-uart7-sleep-rx-state {
987                 pins = "gpio31";
988                 function = "gpio";
989                 /*
990                  * Configure a pull-up on RX. This is needed to avoid
991                  * garbage data when the TX pin of the Bluetooth module
992                  * is floating which may cause spurious wakeups.
993                  */
994                 bias-pull-up;
995         };
996 
997         sw_ctrl_default: sw-ctrl-default-state {
998                 pins = "gpio86";
999                 function = "gpio";
1000                 bias-pull-down;
1001         };
1002 };
1003 
1004 &uart5 {
1005         status = "okay";
1006 };
1007 
1008 &uart7 {
1009         /delete-property/interrupts;
1010         interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
1011                               <&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
1012 
1013         pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>;
1014         pinctrl-names = "default", "sleep";
1015 
1016         status = "okay";
1017 
1018         bluetooth: bluetooth {
1019                 compatible = "qcom,wcn6750-bt";
1020 
1021                 pinctrl-0 = <&bluetooth_enable_default>, <&sw_ctrl_default>;
1022                 pinctrl-names = "default";
1023 
1024                 enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
1025                 swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
1026 
1027                 vddio-supply = <&vreg_l19b>;
1028                 vddaon-supply = <&vreg_s7b>;
1029                 vddbtcxmx-supply = <&vreg_s7b>;
1030                 vddrfacmn-supply = <&vreg_s7b>;
1031                 vddrfa0p8-supply = <&vreg_s7b>;
1032                 vddrfa1p7-supply = <&vreg_s1b>;
1033                 vddrfa1p2-supply = <&vreg_s8b>;
1034                 vddrfa2p2-supply = <&vreg_s1c>;
1035                 vddasd-supply = <&vreg_l11c>;
1036 
1037                 max-speed = <3200000>;
1038         };
1039 };
1040 
1041 &ufs_mem_hc {
1042         reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;
1043 
1044         vcc-supply = <&vreg_l7b>;
1045         vcc-max-microamp = <800000>;
1046         /*
1047          * Technically l9b enables an eLDO (supplied by s1b) which then powers
1048          * VCCQ2 of the UFS.
1049          */
1050         vccq-supply = <&vreg_l9b>;
1051         vccq-max-microamp = <900000>;
1052 
1053         status = "okay";
1054 };
1055 
1056 &ufs_mem_phy {
1057         vdda-phy-supply = <&vreg_l10c>;
1058         vdda-pll-supply = <&vreg_l6b>;
1059 
1060         status = "okay";
1061 };
1062 
1063 &usb_1 {
1064         status = "okay";
1065 };
1066 
1067 &usb_1_dwc3 {
1068         dr_mode = "otg";
1069         usb-role-switch;
1070 };
1071 
1072 &usb_1_dwc3_hs {
1073         remote-endpoint = <&pmic_glink_hs_in>;
1074 };
1075 
1076 &usb_1_dwc3_ss {
1077         remote-endpoint = <&pmic_glink_ss_in>;
1078 };
1079 
1080 &usb_1_hsphy {
1081         vdda-pll-supply = <&vreg_l10c>;
1082         vdda18-supply = <&vreg_l1c>;
1083         vdda33-supply = <&vreg_l2b>;
1084 
1085         qcom,hs-crossover-voltage-microvolt = <28000>;
1086         qcom,hs-output-impedance-micro-ohms = <2600000>;
1087         qcom,hs-rise-fall-time-bp = <5430>;
1088         qcom,hs-disconnect-bp = <1743>;
1089         qcom,hs-amplitude-bp = <2430>;
1090 
1091         qcom,pre-emphasis-amplitude-bp = <20000>;
1092         qcom,pre-emphasis-duration-bp = <20000>;
1093 
1094         qcom,squelch-detector-bp = <(-2090)>;
1095 
1096         status = "okay";
1097 };
1098 
1099 &usb_1_qmpphy {
1100         vdda-phy-supply = <&vreg_l6b>;
1101         vdda-pll-supply = <&vreg_l1b>;
1102 
1103         status = "okay";
1104 };
1105 
1106 &venus {
1107         firmware-name = "qcom/qcm6490/fairphone5/venus.mbn";
1108         status = "okay";
1109 };
1110 
1111 &wifi {
1112         qcom,ath11k-calibration-variant = "Fairphone_5";
1113         status = "okay";
1114 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php