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

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ 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: (GPL-2.0+ OR MIT)
  2 /*
  3  * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
  4  * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com>
  5  * Copyright (c) 2020 Tobias Schramm <t.schramm@manjaro.org>
  6  */
  7 
  8 /dts-v1/;
  9 #include <dt-bindings/input/gpio-keys.h>
 10 #include <dt-bindings/input/linux-event-codes.h>
 11 #include <dt-bindings/pwm/pwm.h>
 12 #include <dt-bindings/usb/pd.h>
 13 #include <dt-bindings/leds/common.h>
 14 #include "rk3399.dtsi"
 15 #include "rk3399-opp.dtsi"
 16 
 17 / {
 18         model = "Pine64 Pinebook Pro";
 19         compatible = "pine64,pinebook-pro", "rockchip,rk3399";
 20         chassis-type = "laptop";
 21 
 22         aliases {
 23                 mmc0 = &sdio0;
 24                 mmc1 = &sdmmc;
 25                 mmc2 = &sdhci;
 26         };
 27 
 28         chosen {
 29                 stdout-path = "serial2:1500000n8";
 30         };
 31 
 32         backlight: edp-backlight {
 33                 compatible = "pwm-backlight";
 34                 power-supply = <&vcc_12v>;
 35                 pwms = <&pwm0 0 125000 0>;
 36         };
 37 
 38         bat: battery {
 39                 compatible = "simple-battery";
 40                 charge-full-design-microamp-hours = <10000000>;
 41                 voltage-max-design-microvolt = <4350000>;
 42                 voltage-min-design-microvolt = <3000000>;
 43         };
 44 
 45         edp_panel: edp-panel {
 46                 compatible = "boe,nv140fhmn49";
 47                 backlight = <&backlight>;
 48                 enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
 49                 pinctrl-names = "default";
 50                 pinctrl-0 = <&panel_en_pin>;
 51                 power-supply = <&vcc3v3_panel>;
 52 
 53                 port {
 54                         panel_in_edp: endpoint {
 55                                 remote-endpoint = <&edp_out_panel>;
 56                         };
 57                 };
 58         };
 59 
 60         /*
 61          * Use separate nodes for gpio-keys to allow for selective deactivation
 62          * of wakeup sources via sysfs without disabling the whole key
 63          */
 64         gpio-key-lid {
 65                 compatible = "gpio-keys";
 66                 pinctrl-names = "default";
 67                 pinctrl-0 = <&lidbtn_pin>;
 68 
 69                 switch-lid {
 70                         debounce-interval = <20>;
 71                         gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>;
 72                         label = "Lid";
 73                         linux,code = <SW_LID>;
 74                         linux,input-type = <EV_SW>;
 75                         wakeup-event-action = <EV_ACT_DEASSERTED>;
 76                         wakeup-source;
 77                 };
 78         };
 79 
 80         gpio-key-power {
 81                 compatible = "gpio-keys";
 82                 pinctrl-names = "default";
 83                 pinctrl-0 = <&pwrbtn_pin>;
 84 
 85                 key-power {
 86                         debounce-interval = <20>;
 87                         gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
 88                         label = "Power";
 89                         linux,code = <KEY_POWER>;
 90                         wakeup-source;
 91                 };
 92         };
 93 
 94         leds {
 95                 compatible = "gpio-leds";
 96                 pinctrl-names = "default";
 97                 pinctrl-0 = <&pwr_led_pin &slp_led_pin>;
 98 
 99                 green_led: led-0 {
100                         color = <LED_COLOR_ID_GREEN>;
101                         default-state = "on";
102                         function = LED_FUNCTION_POWER;
103                         gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
104                         label = "green:power";
105                 };
106 
107                 red_led: led-1 {
108                         color = <LED_COLOR_ID_RED>;
109                         default-state = "off";
110                         function = LED_FUNCTION_STANDBY;
111                         gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
112                         label = "red:standby";
113                         panic-indicator;
114                         retain-state-suspended;
115                 };
116         };
117 
118         /* Power sequence for SDIO WiFi module */
119         sdio_pwrseq: sdio-pwrseq {
120                 compatible = "mmc-pwrseq-simple";
121                 clocks = <&rk808 1>;
122                 clock-names = "ext_clock";
123                 pinctrl-names = "default";
124                 pinctrl-0 = <&wifi_enable_h_pin>;
125                 post-power-on-delay-ms = <100>;
126                 power-off-delay-us = <500000>;
127 
128                 /* WL_REG_ON on module */
129                 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
130         };
131 
132         /* Audio components */
133         es8316-sound {
134                 compatible = "simple-audio-card";
135                 pinctrl-names = "default";
136                 pinctrl-0 = <&hp_det_pin>;
137                 simple-audio-card,name = "rockchip,es8316-codec";
138                 simple-audio-card,format = "i2s";
139                 simple-audio-card,mclk-fs = <256>;
140 
141                 simple-audio-card,widgets =
142                         "Microphone", "Mic Jack",
143                         "Headphone", "Headphones",
144                         "Speaker", "Speaker";
145                 simple-audio-card,routing =
146                         "MIC1", "Mic Jack",
147                         "Headphones", "HPOL",
148                         "Headphones", "HPOR",
149                         "Speaker Amplifier INL", "HPOL",
150                         "Speaker Amplifier INR", "HPOR",
151                         "Speaker", "Speaker Amplifier OUTL",
152                         "Speaker", "Speaker Amplifier OUTR";
153 
154                 simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
155                 simple-audio-card,aux-devs = <&speaker_amp>;
156                 simple-audio-card,pin-switches = "Speaker";
157 
158                 simple-audio-card,cpu {
159                         sound-dai = <&i2s1>;
160                 };
161 
162                 simple-audio-card,codec {
163                         sound-dai = <&es8316>;
164                 };
165         };
166 
167         speaker_amp: speaker-amplifier {
168                 compatible = "simple-audio-amplifier";
169                 enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
170                 sound-name-prefix = "Speaker Amplifier";
171                 VCC-supply = <&pa_5v>;
172         };
173 
174         /* Power tree */
175         /* Root power source */
176         vcc_sysin: vcc-sysin {
177                 compatible = "regulator-fixed";
178                 regulator-name = "vcc_sysin";
179                 regulator-always-on;
180                 regulator-boot-on;
181         };
182 
183         /* Regulators supplied by vcc_sysin */
184         /* LCD backlight supply */
185         vcc_12v: vcc-12v {
186                 compatible = "regulator-fixed";
187                 regulator-name = "vcc_12v";
188                 regulator-always-on;
189                 regulator-boot-on;
190                 regulator-min-microvolt = <12000000>;
191                 regulator-max-microvolt = <12000000>;
192                 vin-supply = <&vcc_sysin>;
193 
194                 regulator-state-mem {
195                         regulator-off-in-suspend;
196                 };
197         };
198 
199         /* Main 3.3 V supply */
200         vcc3v3_sys: wifi_bat: vcc3v3-sys {
201                 compatible = "regulator-fixed";
202                 regulator-name = "vcc3v3_sys";
203                 regulator-always-on;
204                 regulator-boot-on;
205                 regulator-min-microvolt = <3300000>;
206                 regulator-max-microvolt = <3300000>;
207                 vin-supply = <&vcc_sysin>;
208 
209                 regulator-state-mem {
210                         regulator-on-in-suspend;
211                 };
212         };
213 
214         /* 5 V USB power supply */
215         vcc5v0_usb: pa_5v: vcc5v0-usb-regulator {
216                 compatible = "regulator-fixed";
217                 enable-active-high;
218                 gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
219                 pinctrl-names = "default";
220                 pinctrl-0 = <&pwr_5v_pin>;
221                 regulator-name = "vcc5v0_usb";
222                 regulator-always-on;
223                 regulator-min-microvolt = <5000000>;
224                 regulator-max-microvolt = <5000000>;
225                 vin-supply = <&vcc_sysin>;
226 
227                 regulator-state-mem {
228                         regulator-off-in-suspend;
229                 };
230         };
231 
232         /* RK3399 logic supply */
233         vdd_log: vdd-log {
234                 compatible = "pwm-regulator";
235                 pwms = <&pwm2 0 25000 1>;
236                 pwm-supply = <&vcc_sysin>;
237                 regulator-name = "vdd_log";
238                 regulator-always-on;
239                 regulator-boot-on;
240                 regulator-min-microvolt = <800000>;
241                 regulator-max-microvolt = <1400000>;
242 
243                 regulator-state-mem {
244                         regulator-on-in-suspend;
245                 };
246         };
247 
248         /* Regulators supplied by vcc3v3_sys */
249         /* 0.9 V supply, always on */
250         vcc_0v9: vcc-0v9 {
251                 compatible = "regulator-fixed";
252                 regulator-name = "vcc_0v9";
253                 regulator-always-on;
254                 regulator-boot-on;
255                 regulator-min-microvolt = <900000>;
256                 regulator-max-microvolt = <900000>;
257                 vin-supply = <&vcc3v3_sys>;
258         };
259 
260         /* S3 1.8 V supply, switched by vcc1v8_s3 */
261         vcca1v8_s3: vcc1v8-s3 {
262                 compatible = "regulator-fixed";
263                 regulator-name = "vcca1v8_s3";
264                 regulator-always-on;
265                 regulator-boot-on;
266                 regulator-min-microvolt = <1800000>;
267                 regulator-max-microvolt = <1800000>;
268                 vin-supply = <&vcc3v3_sys>;
269         };
270 
271         /* micro SD card power */
272         vcc3v0_sd: vcc3v0-sd {
273                 compatible = "regulator-fixed";
274                 enable-active-high;
275                 gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
276                 pinctrl-names = "default";
277                 pinctrl-0 = <&sdmmc0_pwr_h_pin>;
278                 regulator-name = "vcc3v0_sd";
279                 regulator-always-on;
280                 regulator-min-microvolt = <3000000>;
281                 regulator-max-microvolt = <3000000>;
282                 vin-supply = <&vcc3v3_sys>;
283 
284                 regulator-state-mem {
285                         regulator-off-in-suspend;
286                 };
287         };
288 
289         /* LCD panel power, called VCC3V3_S0 in schematic */
290         vcc3v3_panel: vcc3v3-panel {
291                 compatible = "regulator-fixed";
292                 enable-active-high;
293                 gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
294                 pinctrl-names = "default";
295                 pinctrl-0 = <&lcdvcc_en_pin>;
296                 regulator-name = "vcc3v3_panel";
297                 regulator-always-on;
298                 regulator-min-microvolt = <3300000>;
299                 regulator-max-microvolt = <3300000>;
300                 regulator-enable-ramp-delay = <100000>;
301                 vin-supply = <&vcc3v3_sys>;
302 
303                 regulator-state-mem {
304                         regulator-off-in-suspend;
305                 };
306         };
307 
308         /* M.2 adapter power, switched by vcc1v8_s3 */
309         vcc3v3_ssd: vcc3v3-ssd {
310                 compatible = "regulator-fixed";
311                 regulator-name = "vcc3v3_ssd";
312                 regulator-min-microvolt = <3300000>;
313                 regulator-max-microvolt = <3300000>;
314                 vin-supply = <&vcc3v3_sys>;
315         };
316 
317         /* Regulators supplied by vcc5v0_usb */
318         /* USB 3 port power supply regulator  */
319         vcc5v0_otg: vcc5v0-otg {
320                 compatible = "regulator-fixed";
321                 enable-active-high;
322                 gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
323                 pinctrl-names = "default";
324                 pinctrl-0 = <&vcc5v0_host_en_pin>;
325                 regulator-name = "vcc5v0_otg";
326                 regulator-always-on;
327                 regulator-min-microvolt = <5000000>;
328                 regulator-max-microvolt = <5000000>;
329                 vin-supply = <&vcc5v0_usb>;
330 
331                 regulator-state-mem {
332                         regulator-off-in-suspend;
333                 };
334         };
335 
336         /* Regulators supplied by vcc5v0_usb */
337         /* Type C port power supply regulator */
338         vbus_5vout: vbus_typec: vbus-5vout {
339                 compatible = "regulator-fixed";
340                 enable-active-high;
341                 gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
342                 pinctrl-names = "default";
343                 pinctrl-0 = <&vcc5v0_typec0_en_pin>;
344                 regulator-name = "vbus_5vout";
345                 regulator-min-microvolt = <5000000>;
346                 regulator-max-microvolt = <5000000>;
347                 vin-supply = <&vcc5v0_usb>;
348 
349                 regulator-state-mem {
350                         regulator-off-in-suspend;
351                 };
352         };
353 
354         /* Regulators supplied by vcc_1v8 */
355         /* Primary 0.9 V LDO */
356         vcca0v9_s3: vcca0v9-s3 {
357                 compatible = "regulator-fixed";
358                 regulator-name = "vcc0v9_s3";
359                 regulator-min-microvolt = <5000000>;
360                 regulator-max-microvolt = <5000000>;
361                 vin-supply = <&vcc_1v8>;
362 
363                 regulator-state-mem {
364                         regulator-on-in-suspend;
365                 };
366         };
367 
368         mains_charger: dc-charger {
369                 compatible = "gpio-charger";
370                 charger-type = "mains";
371                 gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>;
372 
373                 /* Also triggered by USB charger */
374                 pinctrl-names = "default";
375                 pinctrl-0 = <&dc_det_pin>;
376         };
377 };
378 
379 &cpu_b0 {
380         cpu-supply = <&vdd_cpu_b>;
381 };
382 
383 &cpu_b1 {
384         cpu-supply = <&vdd_cpu_b>;
385 };
386 
387 &cpu_l0 {
388         cpu-supply = <&vdd_cpu_l>;
389 };
390 
391 &cpu_l1 {
392         cpu-supply = <&vdd_cpu_l>;
393 };
394 
395 &cpu_l2 {
396         cpu-supply = <&vdd_cpu_l>;
397 };
398 
399 &cpu_l3 {
400         cpu-supply = <&vdd_cpu_l>;
401 };
402 
403 &edp {
404         force-hpd;
405         pinctrl-names = "default";
406         pinctrl-0 = <&edp_hpd>;
407         status = "okay";
408 
409         ports {
410                 edp_out: port@1 {
411                         reg = <1>;
412                         #address-cells = <1>;
413                         #size-cells = <0>;
414 
415                         edp_out_panel: endpoint@0 {
416                                 reg = <0>;
417                                 remote-endpoint = <&panel_in_edp>;
418                         };
419                 };
420         };
421 };
422 
423 &emmc_phy {
424         status = "okay";
425 };
426 
427 &gpu {
428         mali-supply = <&vdd_gpu>;
429         status = "okay";
430 };
431 
432 &hdmi_sound {
433         status = "okay";
434 };
435 
436 &i2c0 {
437         clock-frequency = <400000>;
438         i2c-scl-falling-time-ns = <4>;
439         i2c-scl-rising-time-ns = <168>;
440         status = "okay";
441 
442         rk808: pmic@1b {
443                 compatible = "rockchip,rk808";
444                 reg = <0x1b>;
445                 #clock-cells = <1>;
446                 clock-output-names = "xin32k", "rk808-clkout2";
447                 interrupt-parent = <&gpio3>;
448                 interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
449                 pinctrl-names = "default";
450                 pinctrl-0 = <&pmic_int_l_pin>;
451                 rockchip,system-power-controller;
452                 wakeup-source;
453 
454                 vcc1-supply = <&vcc_sysin>;
455                 vcc2-supply = <&vcc_sysin>;
456                 vcc3-supply = <&vcc_sysin>;
457                 vcc4-supply = <&vcc_sysin>;
458                 vcc6-supply = <&vcc_sysin>;
459                 vcc7-supply = <&vcc_sysin>;
460                 vcc8-supply = <&vcc3v3_sys>;
461                 vcc9-supply = <&vcc_sysin>;
462                 vcc10-supply = <&vcc_sysin>;
463                 vcc11-supply = <&vcc_sysin>;
464                 vcc12-supply = <&vcc3v3_sys>;
465 
466                 regulators {
467                         /* rk3399 center logic supply */
468                         vdd_center: DCDC_REG1 {
469                                 regulator-name = "vdd_center";
470                                 regulator-always-on;
471                                 regulator-boot-on;
472                                 regulator-min-microvolt = <750000>;
473                                 regulator-max-microvolt = <1350000>;
474                                 regulator-ramp-delay = <6001>;
475 
476                                 regulator-state-mem {
477                                         regulator-off-in-suspend;
478                                 };
479                         };
480 
481                         vdd_cpu_l: DCDC_REG2 {
482                                 regulator-name = "vdd_cpu_l";
483                                 regulator-always-on;
484                                 regulator-boot-on;
485                                 regulator-min-microvolt = <750000>;
486                                 regulator-max-microvolt = <1350000>;
487                                 regulator-ramp-delay = <6001>;
488 
489                                 regulator-state-mem {
490                                         regulator-off-in-suspend;
491                                 };
492                         };
493 
494                         vcc_ddr: DCDC_REG3 {
495                                 regulator-name = "vcc_ddr";
496                                 regulator-always-on;
497                                 regulator-boot-on;
498 
499                                 regulator-state-mem {
500                                         regulator-on-in-suspend;
501                                 };
502                         };
503 
504                         vcc_1v8: vcc_wl: DCDC_REG4 {
505                                 regulator-name = "vcc_1v8";
506                                 regulator-always-on;
507                                 regulator-boot-on;
508                                 regulator-min-microvolt = <1800000>;
509                                 regulator-max-microvolt = <1800000>;
510 
511                                 regulator-state-mem {
512                                         regulator-on-in-suspend;
513                                         regulator-suspend-microvolt = <1800000>;
514                                 };
515                         };
516 
517                         /* not used */
518                         LDO_REG1 {
519                         };
520 
521                         /* not used */
522                         LDO_REG2 {
523                         };
524 
525                         vcc1v8_pmupll: LDO_REG3 {
526                                 regulator-name = "vcc1v8_pmupll";
527                                 regulator-always-on;
528                                 regulator-boot-on;
529                                 regulator-min-microvolt = <1800000>;
530                                 regulator-max-microvolt = <1800000>;
531 
532                                 regulator-state-mem {
533                                         regulator-on-in-suspend;
534                                         regulator-suspend-microvolt = <1800000>;
535                                 };
536                         };
537 
538                         vcc_sdio: LDO_REG4 {
539                                 regulator-name = "vcc_sdio";
540                                 regulator-always-on;
541                                 regulator-boot-on;
542                                 regulator-min-microvolt = <1800000>;
543                                 regulator-max-microvolt = <3000000>;
544 
545                                 regulator-state-mem {
546                                         regulator-on-in-suspend;
547                                         regulator-suspend-microvolt = <3000000>;
548                                 };
549                         };
550 
551                         vcca3v0_codec: LDO_REG5 {
552                                 regulator-name = "vcca3v0_codec";
553                                 regulator-always-on;
554                                 regulator-boot-on;
555                                 regulator-min-microvolt = <3000000>;
556                                 regulator-max-microvolt = <3000000>;
557 
558                                 regulator-state-mem {
559                                         regulator-off-in-suspend;
560                                 };
561                         };
562 
563                         vcc_1v5: LDO_REG6 {
564                                 regulator-name = "vcc_1v5";
565                                 regulator-always-on;
566                                 regulator-boot-on;
567                                 regulator-min-microvolt = <1500000>;
568                                 regulator-max-microvolt = <1500000>;
569 
570                                 regulator-state-mem {
571                                         regulator-on-in-suspend;
572                                         regulator-suspend-microvolt = <1500000>;
573                                 };
574                         };
575 
576                         vcca1v8_codec: LDO_REG7 {
577                                 regulator-name = "vcca1v8_codec";
578                                 regulator-always-on;
579                                 regulator-boot-on;
580                                 regulator-min-microvolt = <1800000>;
581                                 regulator-max-microvolt = <1800000>;
582 
583                                 regulator-state-mem {
584                                         regulator-off-in-suspend;
585                                 };
586                         };
587 
588                         vcc_3v0: LDO_REG8 {
589                                 regulator-name = "vcc_3v0";
590                                 regulator-always-on;
591                                 regulator-boot-on;
592                                 regulator-min-microvolt = <3000000>;
593                                 regulator-max-microvolt = <3000000>;
594 
595                                 regulator-state-mem {
596                                         regulator-on-in-suspend;
597                                         regulator-suspend-microvolt = <3000000>;
598                                 };
599                         };
600 
601                         vcc3v3_s3: SWITCH_REG1 {
602                                 regulator-name = "vcc3v3_s3";
603                                 regulator-always-on;
604                                 regulator-boot-on;
605 
606                                 regulator-state-mem {
607                                         regulator-off-in-suspend;
608                                 };
609                         };
610 
611                         vcc3v3_s0: SWITCH_REG2 {
612                                 regulator-name = "vcc3v3_s0";
613                                 regulator-always-on;
614                                 regulator-boot-on;
615 
616                                 regulator-state-mem {
617                                         regulator-off-in-suspend;
618                                 };
619                         };
620                 };
621         };
622 
623         vdd_cpu_b: regulator@40 {
624                 compatible = "silergy,syr827";
625                 reg = <0x40>;
626                 fcs,suspend-voltage-selector = <1>;
627                 pinctrl-names = "default";
628                 pinctrl-0 = <&vsel1_pin>;
629                 regulator-name = "vdd_cpu_b";
630                 regulator-always-on;
631                 regulator-boot-on;
632                 regulator-min-microvolt = <712500>;
633                 regulator-max-microvolt = <1500000>;
634                 regulator-ramp-delay = <1000>;
635                 vin-supply = <&vcc_1v8>;
636 
637                 regulator-state-mem {
638                         regulator-off-in-suspend;
639                 };
640         };
641 
642         vdd_gpu: regulator@41 {
643                 compatible = "silergy,syr828";
644                 reg = <0x41>;
645                 fcs,suspend-voltage-selector = <1>;
646                 pinctrl-names = "default";
647                 pinctrl-0 = <&vsel2_pin>;
648                 regulator-name = "vdd_gpu";
649                 regulator-always-on;
650                 regulator-boot-on;
651                 regulator-min-microvolt = <712500>;
652                 regulator-max-microvolt = <1500000>;
653                 regulator-ramp-delay = <1000>;
654                 vin-supply = <&vcc_1v8>;
655 
656                 regulator-state-mem {
657                         regulator-off-in-suspend;
658                 };
659         };
660 };
661 
662 &i2c1 {
663         clock-frequency = <100000>;
664         i2c-scl-falling-time-ns = <4>;
665         i2c-scl-rising-time-ns = <168>;
666         status = "okay";
667 
668         es8316: audio-codec@11 {
669                 compatible = "everest,es8316";
670                 reg = <0x11>;
671                 clocks = <&cru SCLK_I2S_8CH_OUT>;
672                 clock-names = "mclk";
673                 #sound-dai-cells = <0>;
674         };
675 };
676 
677 &i2c3 {
678         i2c-scl-falling-time-ns = <15>;
679         i2c-scl-rising-time-ns = <450>;
680         status = "okay";
681 };
682 
683 &i2c4 {
684         i2c-scl-falling-time-ns = <20>;
685         i2c-scl-rising-time-ns = <600>;
686         status = "okay";
687 
688         fusb0: fusb30x@22 {
689                 compatible = "fcs,fusb302";
690                 reg = <0x22>;
691                 interrupt-parent = <&gpio1>;
692                 interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
693                 pinctrl-names = "default";
694                 pinctrl-0 = <&fusb0_int_pin>;
695                 vbus-supply = <&vbus_typec>;
696 
697                 connector {
698                         compatible = "usb-c-connector";
699                         data-role = "dual";
700                         label = "USB-C";
701                         op-sink-microwatt = <1000000>;
702                         power-role = "dual";
703                         sink-pdos =
704                                 <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
705                         source-pdos =
706                                 <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
707                         try-power-role = "sink";
708 
709                         ports {
710                                 #address-cells = <1>;
711                                 #size-cells = <0>;
712 
713                                 port@0 {
714                                         reg = <0>;
715 
716                                         usbc_hs: endpoint {
717                                                 remote-endpoint =
718                                                         <&u2phy0_typec_hs>;
719                                         };
720                                 };
721 
722                                 port@1 {
723                                         reg = <1>;
724 
725                                         usbc_ss: endpoint {
726                                                 remote-endpoint =
727                                                         <&tcphy0_typec_ss>;
728                                         };
729                                 };
730 
731                                 port@2 {
732                                         reg = <2>;
733 
734                                         usbc_dp: endpoint {
735                                                 remote-endpoint =
736                                                         <&tcphy0_typec_dp>;
737                                         };
738                                 };
739                         };
740                 };
741         };
742 
743         cw2015@62 {
744                 compatible = "cellwise,cw2015";
745                 reg = <0x62>;
746                 cellwise,battery-profile = /bits/ 8 <
747                         0x17 0x67 0x80 0x73 0x6E 0x6C 0x6B 0x63
748                         0x77 0x51 0x5C 0x58 0x50 0x4C 0x48 0x36
749                         0x15 0x0C 0x0C 0x19 0x5B 0x7D 0x6F 0x69
750                         0x69 0x5B 0x0C 0x29 0x20 0x40 0x52 0x59
751                         0x57 0x56 0x54 0x4F 0x3B 0x1F 0x7F 0x17
752                         0x06 0x1A 0x30 0x5A 0x85 0x93 0x96 0x2D
753                         0x48 0x77 0x9C 0xB3 0x80 0x52 0x94 0xCB
754                         0x2F 0x00 0x64 0xA5 0xB5 0x11 0xF0 0x11
755                 >;
756                 cellwise,monitor-interval-ms = <5000>;
757                 monitored-battery = <&bat>;
758                 power-supplies = <&mains_charger>, <&fusb0>;
759         };
760 };
761 
762 &i2s1 {
763         pinctrl-names = "default";
764         pinctrl-0 = <&i2s_8ch_mclk_pin>, <&i2s1_2ch_bus>;
765         rockchip,capture-channels = <8>;
766         rockchip,playback-channels = <8>;
767         status = "okay";
768 };
769 
770 &io_domains {
771         audio-supply = <&vcc_3v0>;
772         gpio1830-supply = <&vcc_3v0>;
773         sdmmc-supply = <&vcc_sdio>;
774         status = "okay";
775 };
776 
777 &pcie_phy {
778         status = "okay";
779 };
780 
781 &pcie0 {
782         ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
783         num-lanes = <4>;
784         pinctrl-names = "default";
785         pinctrl-0 = <&pcie_clkreqn_cpm>;
786         vpcie0v9-supply = <&vcca0v9_s3>;
787         vpcie1v8-supply = <&vcca1v8_s3>;
788         vpcie3v3-supply = <&vcc3v3_ssd>;
789         status = "okay";
790 };
791 
792 &pinctrl {
793         buttons {
794                 pwrbtn_pin: pwrbtn-pin {
795                         rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
796                 };
797 
798                 lidbtn_pin: lidbtn-pin {
799                         rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
800                 };
801         };
802 
803         dc-charger {
804                 dc_det_pin: dc-det-pin {
805                         rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
806                 };
807         };
808 
809         es8316 {
810                 hp_det_pin: hp-det-pin {
811                         rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
812                 };
813         };
814 
815         fusb302x {
816                 fusb0_int_pin: fusb0-int-pin {
817                         rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
818                 };
819         };
820 
821         i2s1 {
822                 i2s_8ch_mclk_pin: i2s-8ch-mclk-pin {
823                         rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>;
824                 };
825         };
826 
827         lcd-panel {
828                 lcdvcc_en_pin: lcdvcc-en-pin {
829                         rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
830                 };
831 
832                 panel_en_pin: panel-en-pin {
833                         rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
834                 };
835 
836                 lcd_panel_reset_pin: lcd-panel-reset-pin {
837                         rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
838                 };
839         };
840 
841         leds {
842                 pwr_led_pin: pwr-led-pin {
843                         rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
844                 };
845 
846                 slp_led_pin: slp-led-pin {
847                         rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
848                 };
849         };
850 
851         pmic {
852                 pmic_int_l_pin: pmic-int-l-pin {
853                         rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
854                 };
855 
856                 vsel1_pin: vsel1-pin {
857                         rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
858                 };
859 
860                 vsel2_pin: vsel2-pin {
861                         rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
862                 };
863         };
864 
865         sdcard {
866                 sdmmc0_pwr_h_pin: sdmmc0-pwr-h-pin {
867                         rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
868                 };
869 
870         };
871 
872         sdio-pwrseq {
873                 wifi_enable_h_pin: wifi-enable-h-pin {
874                         rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
875                 };
876         };
877 
878         usb-typec {
879                 vcc5v0_typec0_en_pin: vcc5v0-typec0-en-pin {
880                         rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
881                 };
882         };
883 
884         usb2 {
885                 pwr_5v_pin: pwr-5v-pin {
886                         rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
887                 };
888 
889                 vcc5v0_host_en_pin: vcc5v0-host-en-pin {
890                         rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
891                 };
892         };
893 
894         wireless-bluetooth {
895                 bt_wake_pin: bt-wake-pin {
896                         rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
897                 };
898 
899                 bt_host_wake_pin: bt-host-wake-pin {
900                         rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
901                 };
902 
903                 bt_reset_pin: bt-reset-pin {
904                         rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
905                 };
906         };
907 };
908 
909 &pmu_io_domains {
910         pmu1830-supply = <&vcc_3v0>;
911         status = "okay";
912 };
913 
914 &pwm0 {
915         status = "okay";
916 };
917 
918 &pwm2 {
919         status = "okay";
920 };
921 
922 &saradc {
923         vref-supply = <&vcca1v8_s3>;
924         status = "okay";
925 };
926 
927 &sdmmc {
928         bus-width = <4>;
929         cap-mmc-highspeed;
930         cap-sd-highspeed;
931         cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
932         disable-wp;
933         pinctrl-names = "default";
934         pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
935         sd-uhs-sdr50;
936         vmmc-supply = <&vcc3v0_sd>;
937         vqmmc-supply = <&vcc_sdio>;
938         status = "okay";
939 };
940 
941 &sdio0 {
942         bus-width = <4>;
943         cap-sd-highspeed;
944         cap-sdio-irq;
945         keep-power-in-suspend;
946         mmc-pwrseq = <&sdio_pwrseq>;
947         non-removable;
948         pinctrl-names = "default";
949         pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
950         sd-uhs-sdr104;
951         status = "okay";
952 };
953 
954 &sdhci {
955         bus-width = <8>;
956         mmc-hs200-1_8v;
957         non-removable;
958         status = "okay";
959 };
960 
961 &spi1 {
962         max-freq = <10000000>;
963         status = "okay";
964 
965         spiflash: flash@0 {
966                 compatible = "jedec,spi-nor";
967                 reg = <0>;
968                 m25p,fast-read;
969                 spi-max-frequency = <10000000>;
970         };
971 };
972 
973 &tcphy0 {
974         status = "okay";
975 };
976 
977 &tcphy0_dp {
978         port {
979                 tcphy0_typec_dp: endpoint {
980                         remote-endpoint = <&usbc_dp>;
981                 };
982         };
983 };
984 
985 &tcphy0_usb3 {
986         port {
987                 tcphy0_typec_ss: endpoint {
988                         remote-endpoint = <&usbc_ss>;
989                 };
990         };
991 };
992 
993 &tcphy1 {
994         status = "okay";
995 };
996 
997 &tsadc {
998         /* tshut mode 0:CRU 1:GPIO */
999         rockchip,hw-tshut-mode = <1>;
1000         /* tshut polarity 0:LOW 1:HIGH */
1001         rockchip,hw-tshut-polarity = <1>;
1002         status = "okay";
1003 };
1004 
1005 &u2phy0 {
1006         status = "okay";
1007 
1008         u2phy0_otg: otg-port {
1009                 status = "okay";
1010         };
1011 
1012         u2phy0_host: host-port {
1013                 phy-supply = <&vcc5v0_otg>;
1014                 status = "okay";
1015         };
1016 
1017         port {
1018                 u2phy0_typec_hs: endpoint {
1019                         remote-endpoint = <&usbc_hs>;
1020                 };
1021         };
1022 };
1023 
1024 &u2phy1 {
1025         status = "okay";
1026 
1027         u2phy1_otg: otg-port {
1028                 status = "okay";
1029         };
1030 
1031         u2phy1_host: host-port {
1032                 phy-supply = <&vcc5v0_otg>;
1033                 status = "okay";
1034         };
1035 };
1036 
1037 &uart0 {
1038         pinctrl-names = "default";
1039         pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
1040         uart-has-rtscts;
1041         status = "okay";
1042 
1043         bluetooth {
1044                 compatible = "brcm,bcm4345c5";
1045                 clocks = <&rk808 1>;
1046                 clock-names = "lpo";
1047                 device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
1048                 host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
1049                 max-speed = <1500000>;
1050                 pinctrl-names = "default";
1051                 pinctrl-0 = <&bt_host_wake_pin &bt_wake_pin &bt_reset_pin>;
1052                 shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
1053                 vbat-supply = <&wifi_bat>;
1054                 vddio-supply = <&vcc_wl>;
1055         };
1056 };
1057 
1058 &uart2 {
1059         status = "okay";
1060 };
1061 
1062 &usb_host0_ehci {
1063         status = "okay";
1064 };
1065 
1066 &usb_host0_ohci {
1067         status = "okay";
1068 };
1069 
1070 &usb_host1_ehci {
1071         status = "okay";
1072 };
1073 
1074 &usb_host1_ohci {
1075         status = "okay";
1076 };
1077 
1078 &usbdrd3_0 {
1079         status = "okay";
1080 };
1081 
1082 &usbdrd_dwc3_0 {
1083         dr_mode = "host";
1084         status = "okay";
1085 };
1086 
1087 &usbdrd3_1 {
1088         status = "okay";
1089 };
1090 
1091 &usbdrd_dwc3_1 {
1092         dr_mode = "host";
1093         status = "okay";
1094 };
1095 
1096 &vopb {
1097         status = "okay";
1098 };
1099 
1100 &vopb_mmu {
1101         status = "okay";
1102 };
1103 
1104 &vopl {
1105         status = "okay";
1106 };
1107 
1108 &vopl_mmu {
1109         status = "okay";
1110 };

~ [ 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