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/rk3399pro-vmarc-som.dtsi

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) 2019 Fuzhou Rockchip Electronics Co., Ltd
    4  * Copyright (c) 2019 Vamrs Limited
    5  * Copyright (c) 2019 Amarula Solutions(India)
    6  */
    7 
    8 #include <dt-bindings/gpio/gpio.h>
    9 #include <dt-bindings/pinctrl/rockchip.h>
   10 #include <dt-bindings/pwm/pwm.h>
   11 
   12 / {
   13         compatible = "vamrs,rk3399pro-vmarc-som", "rockchip,rk3399pro";
   14 
   15         aliases {
   16                 mmc0 = &sdmmc;
   17                 mmc1 = &sdhci;
   18         };
   19 
   20         vcc3v3_pcie: vcc-pcie-regulator {
   21                 compatible = "regulator-fixed";
   22                 enable-active-high;
   23                 gpio = <&gpio4 RK_PD4 GPIO_ACTIVE_HIGH>;
   24                 pinctrl-names = "default";
   25                 pinctrl-0 = <&pcie_pwr>;
   26                 regulator-name = "vcc3v3_pcie";
   27                 regulator-always-on;
   28                 regulator-boot-on;
   29                 vin-supply = <&vcc5v0_sys>;
   30         };
   31 };
   32 
   33 &cpu_l0 {
   34         cpu-supply = <&vdd_cpu_l>;
   35 };
   36 
   37 &cpu_l1 {
   38         cpu-supply = <&vdd_cpu_l>;
   39 };
   40 
   41 &cpu_l2 {
   42         cpu-supply = <&vdd_cpu_l>;
   43 };
   44 
   45 &cpu_l3 {
   46         cpu-supply = <&vdd_cpu_l>;
   47 };
   48 
   49 &emmc_phy {
   50         status = "okay";
   51 };
   52 
   53 &gmac {
   54         assigned-clocks = <&cru SCLK_RMII_SRC>;
   55         phy-supply = <&vcc_lan>;
   56         snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
   57 };
   58 
   59 &hdmi {
   60         ddc-i2c-bus = <&i2c3>;
   61         pinctrl-names = "default";
   62         pinctrl-0 = <&hdmi_cec>;
   63 };
   64 
   65 &i2c0 {
   66         clock-frequency = <400000>;
   67         i2c-scl-falling-time-ns = <30>;
   68         i2c-scl-rising-time-ns = <180>;
   69         status = "okay";
   70 
   71         rk809: pmic@20 {
   72                 compatible = "rockchip,rk809";
   73                 reg = <0x20>;
   74                 interrupt-parent = <&gpio1>;
   75                 interrupts = <RK_PC2 IRQ_TYPE_LEVEL_LOW>;
   76                 #clock-cells = <1>;
   77                 clock-output-names = "rk808-clkout1", "rk808-clkout2";
   78                 pinctrl-names = "default";
   79                 pinctrl-0 = <&pmic_int_l>;
   80                 rockchip,system-power-controller;
   81                 wakeup-source;
   82 
   83                 vcc1-supply = <&vcc5v0_sys>;
   84                 vcc2-supply = <&vcc5v0_sys>;
   85                 vcc3-supply = <&vcc5v0_sys>;
   86                 vcc4-supply = <&vcc5v0_sys>;
   87                 vcc5-supply = <&vcc_buck5>;
   88                 vcc6-supply = <&vcc_buck5>;
   89                 vcc7-supply = <&vcc5v0_sys>;
   90                 vcc8-supply = <&vcc3v3_sys>;
   91                 vcc9-supply = <&vcc5v0_sys>;
   92 
   93                 regulators {
   94                         vdd_log: DCDC_REG1 {
   95                                 regulator-name = "vdd_log";
   96                                 regulator-always-on;
   97                                 regulator-boot-on;
   98                                 regulator-min-microvolt = <750000>;
   99                                 regulator-max-microvolt = <1350000>;
  100                                 regulator-initial-mode = <0x2>;
  101                                 regulator-state-mem {
  102                                         regulator-off-in-suspend;
  103                                         regulator-suspend-microvolt = <900000>;
  104                                 };
  105                         };
  106 
  107                         vdd_cpu_l: DCDC_REG2 {
  108                                 regulator-name = "vdd_cpu_l";
  109                                 regulator-always-on;
  110                                 regulator-boot-on;
  111                                 regulator-min-microvolt = <750000>;
  112                                 regulator-max-microvolt = <1350000>;
  113                                 regulator-ramp-delay = <6001>;
  114                                 regulator-initial-mode = <0x2>;
  115                                 regulator-state-mem {
  116                                         regulator-off-in-suspend;
  117                                 };
  118                         };
  119 
  120                         vcc_ddr: DCDC_REG3 {
  121                                 regulator-name = "vcc_ddr";
  122                                 regulator-always-on;
  123                                 regulator-boot-on;
  124                                 regulator-initial-mode = <0x2>;
  125                                 regulator-state-mem {
  126                                         regulator-on-in-suspend;
  127                                 };
  128                         };
  129 
  130                         vcc3v3_sys: DCDC_REG4 {
  131                                 regulator-name = "vcc3v3_sys";
  132                                 regulator-always-on;
  133                                 regulator-boot-on;
  134                                 regulator-min-microvolt = <3300000>;
  135                                 regulator-max-microvolt = <3300000>;
  136                                 regulator-initial-mode = <0x2>;
  137                                 regulator-state-mem {
  138                                         regulator-on-in-suspend;
  139                                         regulator-suspend-microvolt = <3300000>;
  140                                 };
  141                         };
  142 
  143                         vcc_buck5: DCDC_REG5 {
  144                                 regulator-name = "vcc_buck5";
  145                                 regulator-always-on;
  146                                 regulator-boot-on;
  147                                 regulator-min-microvolt = <2200000>;
  148                                 regulator-max-microvolt = <2200000>;
  149                                 regulator-state-mem {
  150                                         regulator-on-in-suspend;
  151                                         regulator-suspend-microvolt = <2200000>;
  152                                 };
  153                         };
  154 
  155                         vcca_0v9: LDO_REG1 {
  156                                 regulator-name = "vcca_0v9";
  157                                 regulator-always-on;
  158                                 regulator-boot-on;
  159                                 regulator-min-microvolt = <900000>;
  160                                 regulator-max-microvolt = <900000>;
  161                                 regulator-state-mem {
  162                                         regulator-on-in-suspend;
  163                                         regulator-suspend-microvolt = <900000>;
  164                                 };
  165                         };
  166 
  167                         vcc_1v8: LDO_REG2 {
  168                                 regulator-name = "vcc_1v8";
  169                                 regulator-always-on;
  170                                 regulator-boot-on;
  171                                 regulator-min-microvolt = <1800000>;
  172                                 regulator-max-microvolt = <1800000>;
  173                                 regulator-state-mem {
  174                                         regulator-on-in-suspend;
  175                                         regulator-suspend-microvolt = <1800000>;
  176                                 };
  177                         };
  178 
  179                         vcc_0v9: LDO_REG3 {
  180                                 regulator-name = "vcc_0v9";
  181                                 regulator-always-on;
  182                                 regulator-boot-on;
  183                                 regulator-min-microvolt = <900000>;
  184                                 regulator-max-microvolt = <900000>;
  185                                 regulator-state-mem {
  186                                         regulator-on-in-suspend;
  187                                         regulator-suspend-microvolt = <900000>;
  188                                 };
  189                         };
  190 
  191                         vcca_1v8: LDO_REG4 {
  192                                 regulator-name = "vcca_1v8";
  193                                 regulator-always-on;
  194                                 regulator-boot-on;
  195                                 regulator-min-microvolt = <1850000>;
  196                                 regulator-max-microvolt = <1850000>;
  197                                 regulator-state-mem {
  198                                         regulator-on-in-suspend;
  199                                         regulator-suspend-microvolt = <1850000>;
  200                                 };
  201                         };
  202 
  203                         /*
  204                          * As per BSP, but schematic not showing any regulator
  205                          * pin for LD05.
  206                          */
  207                         vdd1v5_dvp: LDO_REG5 {
  208                                 regulator-name = "vdd1v5_dvp";
  209                                 regulator-always-on;
  210                                 regulator-boot-on;
  211                                 regulator-min-microvolt = <1500000>;
  212                                 regulator-max-microvolt = <1500000>;
  213                                 regulator-state-mem {
  214                                         regulator-off-in-suspend;
  215                                 };
  216                         };
  217 
  218                         vcc_1v5: LDO_REG6 {
  219                                 regulator-name = "vcc_1v5";
  220                                 regulator-always-on;
  221                                 regulator-boot-on;
  222                                 regulator-min-microvolt = <1500000>;
  223                                 regulator-max-microvolt = <1500000>;
  224                                 regulator-state-mem {
  225                                         regulator-off-in-suspend;
  226                                 };
  227                         };
  228 
  229                         vccio_3v0: LDO_REG7 {
  230                                 regulator-name = "vccio_3v0";
  231                                 regulator-always-on;
  232                                 regulator-boot-on;
  233                                 regulator-min-microvolt = <3000000>;
  234                                 regulator-max-microvolt = <3000000>;
  235                                 regulator-state-mem {
  236                                         regulator-off-in-suspend;
  237                                 };
  238                         };
  239 
  240                         vccio_sd: LDO_REG8 {
  241                                 regulator-name = "vccio_sd";
  242                                 regulator-always-on;
  243                                 regulator-boot-on;
  244                                 regulator-min-microvolt = <1800000>;
  245                                 regulator-max-microvolt = <3300000>;
  246                                 regulator-state-mem {
  247                                         regulator-off-in-suspend;
  248                                 };
  249                         };
  250 
  251                         /*
  252                          * As per BSP, but schematic not showing any regulator
  253                          * pin for LD09.
  254                          */
  255                         vcc_sd: LDO_REG9 {
  256                                 regulator-name = "vcc_sd";
  257                                 regulator-always-on;
  258                                 regulator-boot-on;
  259                                 regulator-min-microvolt = <3300000>;
  260                                 regulator-max-microvolt = <3300000>;
  261                                 regulator-state-mem {
  262                                         regulator-off-in-suspend;
  263                                 };
  264                         };
  265 
  266                         vcc5v0_usb2: SWITCH_REG1 {
  267                                 regulator-name = "vcc5v0_usb2";
  268                                 regulator-min-microvolt = <5000000>;
  269                                 regulator-max-microvolt = <5000000>;
  270                                 regulator-state-mem {
  271                                         regulator-on-in-suspend;
  272                                         regulator-suspend-microvolt = <5000000>;
  273                                 };
  274                         };
  275 
  276                         vccio_3v3: vcc_lan: SWITCH_REG2 {
  277                                 regulator-name = "vccio_3v3";
  278                                 regulator-always-on;
  279                                 regulator-boot-on;
  280                                 regulator-min-microvolt = <3300000>;
  281                                 regulator-max-microvolt = <3300000>;
  282                                 regulator-state-mem {
  283                                         regulator-off-in-suspend;
  284                                 };
  285                         };
  286                 };
  287         };
  288 };
  289 
  290 &i2c1 {
  291         i2c-scl-falling-time-ns = <30>;
  292         i2c-scl-rising-time-ns = <140>;
  293         status = "okay";
  294 };
  295 
  296 &i2c2 {
  297         clock-frequency = <400000>;
  298         status = "okay";
  299 
  300         hym8563: hym8563@51 {
  301                 compatible = "haoyu,hym8563";
  302                 reg = <0x51>;
  303                 #clock-cells = <0>;
  304                 clock-frequency = <32768>;
  305                 clock-output-names = "hym8563";
  306                 pinctrl-names = "default";
  307                 pinctrl-0 = <&hym8563_int>;
  308                 interrupt-parent = <&gpio4>;
  309                 interrupts = <RK_PD6 IRQ_TYPE_LEVEL_LOW>;
  310         };
  311 };
  312 
  313 &i2c3 {
  314         i2c-scl-rising-time-ns = <450>;
  315         i2c-scl-falling-time-ns = <15>;
  316         status = "okay";
  317 };
  318 
  319 &io_domains {
  320         status = "okay";
  321         bt656-supply = <&vcca_1v8>;
  322         gpio1830-supply = <&vccio_3v0>;
  323         sdmmc-supply = <&vccio_sd>;
  324 };
  325 
  326 &pcie_phy {
  327         status = "okay";
  328 };
  329 
  330 &pcie0 {
  331         ep-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
  332         num-lanes = <4>;
  333         pinctrl-0 = <&pcie_clkreqnb_cpm>;
  334         pinctrl-names = "default";
  335         vpcie0v9-supply = <&vcca_0v9>;  /* VCC_0V9_S0 */
  336         vpcie1v8-supply = <&vcca_1v8>;  /* VCC_1V8_S0 */
  337         vpcie3v3-supply = <&vcc3v3_pcie>;
  338         status = "okay";
  339 };
  340 
  341 &pinctrl {
  342         hym8563 {
  343                 hym8563_int: hym8563-int {
  344                         rockchip,pins = <4 RK_PD6 0 &pcfg_pull_up>;
  345                 };
  346         };
  347 
  348         pcie {
  349                 pcie_pwr: pcie-pwr {
  350                         rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
  351                 };
  352         };
  353 
  354         pmic {
  355                 pmic_int_l: pmic-int-l {
  356                         rockchip,pins = <1 RK_PC2 0 &pcfg_pull_up>;
  357                 };
  358         };
  359 
  360         sdio-pwrseq {
  361                 wifi_enable_h: wifi-enable-h {
  362                         rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
  363                 };
  364         };
  365 
  366         vbus_host {
  367                 usb1_en_oc: usb1-en-oc {
  368                         rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>;
  369                 };
  370         };
  371 
  372         vbus_typec {
  373                 usb0_en_oc: usb0-en-oc {
  374                         rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>;
  375                 };
  376         };
  377 };
  378 
  379 &pmu_io_domains {
  380         status = "okay";
  381         pmu1830-supply = <&vcc_1v8>;
  382 };
  383 
  384 &sdio_pwrseq {
  385         /*
  386          * On the module itself this is one of these (depending
  387          * on the actual card populated):
  388          * - SDIO_RESET_L_WL_REG_ON
  389          * - PDN (power down when low)
  390          */
  391         reset-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>;
  392 };
  393 
  394 &sdhci {
  395         bus-width = <8>;
  396         mmc-hs400-1_8v;
  397         mmc-hs400-enhanced-strobe;
  398         non-removable;
  399         status = "okay";
  400 };
  401 
  402 &sdmmc {
  403         cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
  404         max-frequency = <150000000>;
  405 };
  406 
  407 &tcphy0 {
  408         status = "okay";
  409 };
  410 
  411 &tsadc {
  412         rockchip,hw-tshut-mode = <1>;
  413         rockchip,hw-tshut-polarity = <1>;
  414         status = "okay";
  415 };
  416 
  417 &u2phy0 {
  418         status = "okay";
  419 
  420         u2phy0_otg: otg-port {
  421                 phy-supply = <&vbus_typec>;
  422                 status = "okay";
  423         };
  424 
  425         u2phy0_host: host-port {
  426                 phy-supply = <&vbus_host>;
  427                 status = "okay";
  428         };
  429 };
  430 
  431 
  432 &u2phy1 {
  433         status = "okay";
  434 
  435         u2phy1_host: host-port {
  436                 phy-supply = <&vbus_host>;
  437                 status = "okay";
  438         };
  439 };
  440 
  441 &usb_host0_ehci {
  442         status = "okay";
  443 };
  444 
  445 &usb_host0_ohci {
  446         status = "okay";
  447 };
  448 
  449 &usb_host1_ehci {
  450         status = "okay";
  451 };
  452 
  453 &usb_host1_ohci {
  454         status = "okay";
  455 };
  456 
  457 &usbdrd3_0 {
  458         status = "okay";
  459 };
  460 
  461 &usbdrd_dwc3_0 {
  462         status = "okay";
  463 };
  464 
  465 &vbus_host {
  466         enable-active-high;
  467         gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>; /* USB1_EN_OC# */
  468         pinctrl-names = "default";
  469         pinctrl-0 = <&usb1_en_oc>;
  470 };
  471 
  472 &vbus_typec {
  473         enable-active-high;
  474         gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; /* USB0_EN_OC# */
  475         pinctrl-names = "default";
  476         pinctrl-0 = <&usb0_en_oc>;
  477 };

Cache object: 394ef9ce1772c30c56d4138b7067cab6


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