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

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

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

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