The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/arm64/rockchip/rk3399-pinebook-pro.dts

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

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

Cache object: 07670942e097152fcce05934dec41a54


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.