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-kobol-helios64.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) 2020 Aditya Prayoga <aditya@kobol.io>
    4  */
    5 
    6 /*
    7  * The Kobol Helios64 is a board designed to operate as a NAS and optionally
    8  * ships with an enclosing that can host five 2.5" hard disks.
    9  *
   10  * See https://wiki.kobol.io/helios64/intro/ for further details.
   11  */
   12 
   13 /dts-v1/;
   14 #include "rk3399.dtsi"
   15 #include "rk3399-opp.dtsi"
   16 
   17 / {
   18         model = "Kobol Helios64";
   19         compatible = "kobol,helios64", "rockchip,rk3399";
   20 
   21         aliases {
   22                 mmc0 = &sdmmc;
   23                 mmc1 = &sdhci;
   24                 spi1 = &spi1;
   25                 spi2 = &spi2;
   26                 spi5 = &spi5;
   27         };
   28 
   29         avdd_0v9_s0: avdd-0v9-s0 {
   30                 compatible = "regulator-fixed";
   31                 regulator-name = "avdd_0v9_s0";
   32                 regulator-always-on;
   33                 regulator-boot-on;
   34                 regulator-min-microvolt = <900000>;
   35                 regulator-max-microvolt = <900000>;
   36                 vin-supply = <&vcc1v8_sys_s3>;
   37         };
   38 
   39         avdd_1v8_s0: avdd-1v8-s0 {
   40                 compatible = "regulator-fixed";
   41                 regulator-name = "avdd_1v8_s0";
   42                 regulator-always-on;
   43                 regulator-boot-on;
   44                 regulator-min-microvolt = <1800000>;
   45                 regulator-max-microvolt = <1800000>;
   46                 vin-supply = <&vcc3v3_sys_s3>;
   47         };
   48 
   49         chosen {
   50                 stdout-path = "serial2:1500000n8";
   51         };
   52 
   53         clkin_gmac: external-gmac-clock {
   54                 compatible = "fixed-clock";
   55                 clock-frequency = <125000000>;
   56                 clock-output-names = "clkin_gmac";
   57                 #clock-cells = <0>;
   58         };
   59 
   60         fan1 {
   61                 /* fan connected to P7 */
   62                 compatible = "pwm-fan";
   63                 pwms = <&pwm0 0 40000 0>;
   64                 cooling-levels = <0 80 170 255>;
   65         };
   66 
   67         fan2 {
   68                 /* fan connected to P6 */
   69                 compatible = "pwm-fan";
   70                 pwms = <&pwm1 0 40000 0>;
   71                 cooling-levels = <0 80 170 255>;
   72         };
   73 
   74         leds {
   75                 compatible = "gpio-leds";
   76                 pinctrl-names = "default";
   77                 pinctrl-0 = <&sys_grn_led_on &sys_red_led_on>;
   78 
   79                 led-0 {
   80                         label = "helios64:green:status";
   81                         gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
   82                         default-state = "on";
   83                 };
   84 
   85                 led-1 {
   86                         label = "helios64:red:fault";
   87                         gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
   88                         default-state = "keep";
   89                 };
   90         };
   91 
   92         hdd_a_power: hdd-a-power {
   93                 compatible = "regulator-fixed";
   94                 enable-active-high;
   95                 gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
   96                 pinctrl-0 = <&hdd_a_power_en>;
   97                 pinctrl-names = "default";
   98                 regulator-always-on;
   99                 regulator-boot-on;
  100                 regulator-name = "hdd_a_power";
  101                 startup-delay-us = <2000000>;
  102         };
  103 
  104         hdd_b_power: hdd-b-power {
  105                 compatible = "regulator-fixed";
  106                 enable-active-high;
  107                 gpio = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
  108                 pinctrl-0 = <&hdd_b_power_en>;
  109                 pinctrl-names = "default";
  110                 regulator-always-on;
  111                 regulator-boot-on;
  112                 regulator-name = "hdd_b_power";
  113                 startup-delay-us = <2000000>;
  114         };
  115 
  116         pcie_power: pcie-power {
  117                 compatible = "regulator-fixed";
  118                 enable-active-high;
  119                 gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
  120                 pinctrl-0 = <&pcie_pwr>;
  121                 pinctrl-names = "default";
  122                 regulator-boot-on;
  123                 regulator-name = "pcie_power";
  124                 startup-delay-us = <10000>;
  125                 vin-supply = <&vcc5v0_perdev>;
  126         };
  127 
  128         usblan_power: usblan-power {
  129                 compatible = "regulator-fixed";
  130                 enable-active-high;
  131                 gpio = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>;
  132                 pinctrl-names = "default";
  133                 pinctrl-0 = <&usb_lan_en>;
  134                 regulator-name = "usblan_power";
  135                 regulator-always-on;
  136                 regulator-boot-on;
  137                 vin-supply = <&vcc5v0_usb>;
  138         };
  139 
  140         vcc1v8_sys_s0: vcc1v8-sys-s0 {
  141                 compatible = "regulator-fixed";
  142                 regulator-name = "vcc1v8_sys_s0";
  143                 regulator-always-on;
  144                 regulator-boot-on;
  145                 regulator-min-microvolt = <1800000>;
  146                 regulator-max-microvolt = <1800000>;
  147                 vin-supply = <&vcc1v8_sys_s3>;
  148         };
  149 
  150         vcc3v0_sd: vcc3v0-sd {
  151                 compatible = "regulator-fixed";
  152                 enable-active-high;
  153                 gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
  154                 regulator-name = "vcc3v0_sd";
  155                 regulator-boot-on;
  156                 regulator-min-microvolt = <3000000>;
  157                 regulator-max-microvolt = <3000000>;
  158                 pinctrl-names = "default";
  159                 pinctrl-0 = <&sdmmc0_pwr_h>;
  160                 vin-supply = <&vcc3v3_sys_s3>;
  161         };
  162 
  163         vcc3v3_sys_s3: vcc_lan: vcc3v3-sys-s3 {
  164                 compatible = "regulator-fixed";
  165                 regulator-name = "vcc3v3_sys_s3";
  166                 regulator-always-on;
  167                 regulator-boot-on;
  168                 regulator-min-microvolt = <3300000>;
  169                 regulator-max-microvolt = <3300000>;
  170                 vin-supply = <&vcc5v0_sys>;
  171 
  172                 regulator-state-mem {
  173                         regulator-on-in-suspend;
  174                 };
  175         };
  176 
  177         vcc5v0_perdev: vcc5v0-perdev {
  178                 compatible = "regulator-fixed";
  179                 regulator-name = "vcc5v0_perdev";
  180                 regulator-always-on;
  181                 regulator-boot-on;
  182                 regulator-min-microvolt = <5000000>;
  183                 regulator-max-microvolt = <5000000>;
  184                 vin-supply = <&vcc12v_dcin_bkup>;
  185         };
  186 
  187         vcc5v0_sys: vcc5v0-sys {
  188                 compatible = "regulator-fixed";
  189                 regulator-name = "vcc5v0_sys";
  190                 regulator-always-on;
  191                 regulator-boot-on;
  192                 regulator-min-microvolt = <5000000>;
  193                 regulator-max-microvolt = <5000000>;
  194                 vin-supply = <&vcc12v_dcin_bkup>;
  195 
  196                 regulator-state-mem {
  197                         regulator-on-in-suspend;
  198                 };
  199         };
  200 
  201         vcc5v0_usb: vcc5v0-usb {
  202                 compatible = "regulator-fixed";
  203                 enable-active-high;
  204                 gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
  205                 pinctrl-names = "default";
  206                 pinctrl-0 = <&vcc5v0_usb_en>;
  207                 regulator-name = "vcc5v0_usb";
  208                 regulator-always-on;
  209                 regulator-boot-on;
  210                 regulator-min-microvolt = <5000000>;
  211                 regulator-max-microvolt = <5000000>;
  212                 vin-supply = <&vcc5v0_perdev>;
  213         };
  214 
  215         vcc12v_dcin: vcc12v-dcin {
  216                 compatible = "regulator-fixed";
  217                 regulator-name = "vcc12v_dcin";
  218                 regulator-always-on;
  219                 regulator-boot-on;
  220                 regulator-min-microvolt = <12000000>;
  221                 regulator-max-microvolt = <12000000>;
  222         };
  223 
  224         vcc12v_dcin_bkup: vcc12v-dcin-bkup {
  225                 compatible = "regulator-fixed";
  226                 regulator-name = "vcc12v_dcin_bkup";
  227                 regulator-always-on;
  228                 regulator-boot-on;
  229                 regulator-min-microvolt = <12000000>;
  230                 regulator-max-microvolt = <12000000>;
  231                 vin-supply = <&vcc12v_dcin>;
  232         };
  233 };
  234 
  235 /*
  236  * The system doesn't run stable with cpu freq enabled, so disallow the lower
  237  * frequencies until this problem is properly understood and resolved.
  238  */
  239 &cluster0_opp {
  240         /delete-node/ opp00;
  241         /delete-node/ opp01;
  242         /delete-node/ opp02;
  243         /delete-node/ opp03;
  244         /delete-node/ opp04;
  245 };
  246 
  247 &cluster1_opp {
  248         /delete-node/ opp00;
  249         /delete-node/ opp01;
  250         /delete-node/ opp02;
  251         /delete-node/ opp03;
  252         /delete-node/ opp04;
  253         /delete-node/ opp05;
  254         /delete-node/ opp06;
  255 };
  256 
  257 &cpu_b0 {
  258         cpu-supply = <&vdd_cpu_b>;
  259 };
  260 
  261 &cpu_b1 {
  262         cpu-supply = <&vdd_cpu_b>;
  263 };
  264 
  265 &cpu_l0 {
  266         cpu-supply = <&vdd_cpu_l>;
  267 };
  268 
  269 &cpu_l1 {
  270         cpu-supply = <&vdd_cpu_l>;
  271 };
  272 
  273 &cpu_l2 {
  274         cpu-supply = <&vdd_cpu_l>;
  275 };
  276 
  277 &cpu_l3 {
  278         cpu-supply = <&vdd_cpu_l>;
  279 };
  280 
  281 &emmc_phy {
  282         status = "okay";
  283 };
  284 
  285 &gmac {
  286         assigned-clock-parents = <&clkin_gmac>;
  287         assigned-clocks = <&cru SCLK_RMII_SRC>;
  288         clock_in_out = "input";
  289         phy-mode = "rgmii";
  290         phy-supply = <&vcc_lan>;
  291         pinctrl-names = "default";
  292         pinctrl-0 = <&rgmii_pins &gphy_reset>;
  293         rx_delay = <0x20>;
  294         tx_delay = <0x28>;
  295         snps,reset-active-low;
  296         snps,reset-delays-us = <0 10000 50000>;
  297         snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
  298         status = "okay";
  299 };
  300 
  301 &i2c0 {
  302         clock-frequency = <400000>;
  303         i2c-scl-rising-time-ns = <168>;
  304         i2c-scl-falling-time-ns = <4>;
  305         status = "okay";
  306 
  307         rk808: pmic@1b {
  308                 compatible = "rockchip,rk808";
  309                 reg = <0x1b>;
  310                 interrupt-parent = <&gpio0>;
  311                 interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
  312                 clock-output-names = "xin32k", "rk808-clkout2";
  313                 pinctrl-names = "default";
  314                 pinctrl-0 = <&pmic_int_l>;
  315                 rockchip,system-power-controller;
  316                 vcc1-supply = <&vcc5v0_sys>;
  317                 vcc2-supply = <&vcc5v0_sys>;
  318                 vcc3-supply = <&vcc5v0_sys>;
  319                 vcc4-supply = <&vcc5v0_sys>;
  320                 vcc6-supply = <&vcc5v0_sys>;
  321                 vcc7-supply = <&vcc5v0_sys>;
  322                 vcc8-supply = <&vcc3v3_sys_s3>;
  323                 vcc9-supply = <&vcc5v0_sys>;
  324                 vcc10-supply = <&vcc5v0_sys>;
  325                 vcc11-supply = <&vcc5v0_sys>;
  326                 vcc12-supply = <&vcc3v3_sys_s3>;
  327                 vddio-supply = <&vcc3v0_s3>;
  328                 wakeup-source;
  329                 #clock-cells = <1>;
  330 
  331                 regulators {
  332                         vdd_cpu_l: DCDC_REG2 {
  333                                 regulator-name = "vdd_cpu_l";
  334                                 regulator-always-on;
  335                                 regulator-boot-on;
  336                                 regulator-min-microvolt = <750000>;
  337                                 regulator-max-microvolt = <1350000>;
  338                                 regulator-ramp-delay = <6001>;
  339 
  340                                 regulator-state-mem {
  341                                         regulator-off-in-suspend;
  342                                 };
  343                         };
  344 
  345                         vcc1v8_sys_s3: DCDC_REG4 {
  346                                 regulator-name = "vcc1v8_sys_s3";
  347                                 regulator-always-on;
  348                                 regulator-boot-on;
  349                                 regulator-min-microvolt = <1800000>;
  350                                 regulator-max-microvolt = <1800000>;
  351 
  352                                 regulator-state-mem {
  353                                         regulator-on-in-suspend;
  354                                         regulator-suspend-microvolt = <1800000>;
  355                                 };
  356                         };
  357 
  358                         vcc_sdio_s0: LDO_REG4 {
  359                                 regulator-name = "vcc_sdio_s0";
  360                                 regulator-always-on;
  361                                 regulator-boot-on;
  362                                 regulator-min-microvolt = <1800000>;
  363                                 regulator-max-microvolt = <3000000>;
  364 
  365                                 regulator-state-mem {
  366                                         regulator-on-in-suspend;
  367                                         regulator-suspend-microvolt = <3000000>;
  368                                 };
  369                         };
  370 
  371                         vcc3v0_s3: LDO_REG8 {
  372                                 regulator-name = "vcc3v0_s3";
  373                                 regulator-always-on;
  374                                 regulator-boot-on;
  375                                 regulator-min-microvolt = <3000000>;
  376                                 regulator-max-microvolt = <3000000>;
  377 
  378                                 regulator-state-mem {
  379                                         regulator-on-in-suspend;
  380                                         regulator-suspend-microvolt = <3000000>;
  381                                 };
  382                         };
  383                 };
  384         };
  385 
  386         vdd_cpu_b: regulator@40 {
  387                 compatible = "silergy,syr827";
  388                 reg = <0x40>;
  389                 fcs,suspend-voltage-selector = <1>;
  390                 regulator-name = "vdd_cpu_b";
  391                 regulator-always-on;
  392                 regulator-boot-on;
  393                 regulator-min-microvolt = <712500>;
  394                 regulator-max-microvolt = <1500000>;
  395                 regulator-ramp-delay = <1000>;
  396                 vin-supply = <&vcc5v0_sys>;
  397 
  398                 regulator-state-mem {
  399                         regulator-off-in-suspend;
  400                 };
  401         };
  402 };
  403 
  404 &i2c2 {
  405         clock-frequency = <400000>;
  406         i2c-scl-rising-time-ns = <160>;
  407         i2c-scl-falling-time-ns = <30>;
  408         status = "okay";
  409 
  410         temp@4c {
  411                 compatible = "national,lm75";
  412                 reg = <0x4c>;
  413         };
  414 };
  415 
  416 &io_domains {
  417         audio-supply = <&vcc1v8_sys_s0>;
  418         bt656-supply = <&vcc1v8_sys_s0>;
  419         gpio1830-supply = <&vcc3v0_s3>;
  420         sdmmc-supply = <&vcc_sdio_s0>;
  421         status = "okay";
  422 };
  423 
  424 &pcie_phy {
  425         status = "okay";
  426 };
  427 
  428 &pcie0 {
  429         ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
  430         max-link-speed = <2>;
  431         num-lanes = <2>;
  432         pinctrl-names = "default";
  433         status = "okay";
  434 
  435         vpcie12v-supply = <&vcc12v_dcin>;
  436         vpcie3v3-supply = <&pcie_power>;
  437         vpcie1v8-supply = <&avdd_1v8_s0>;
  438         vpcie0v9-supply = <&avdd_0v9_s0>;
  439 };
  440 
  441 &pinctrl {
  442         gmac {
  443                 gphy_reset: gphy-reset {
  444                         rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_output_low>;
  445                 };
  446         };
  447 
  448         leds {
  449                 sys_grn_led_on: sys-grn-led-on {
  450                         rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>;
  451                 };
  452 
  453                 sys_red_led_on: sys-red-led-on {
  454                         rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_down>;
  455                 };
  456         };
  457 
  458         pcie {
  459                 pcie_pwr: pcie-pwr {
  460                         rockchip,pins =
  461                                 <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
  462                 };
  463         };
  464 
  465         pmic {
  466                 pmic_int_l: pmic-int-l {
  467                         rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
  468                 };
  469         };
  470 
  471         power {
  472                 hdd_a_power_en: hdd-a-power-en {
  473                         rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
  474                 };
  475 
  476                 hdd_b_power_en: hdd-b-power-en {
  477                         rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
  478                 };
  479 
  480                 vcc5v0_usb_en: vcc5v0-usb-en {
  481                         rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
  482                 };
  483 
  484                 usb_lan_en: usb-lan-en {
  485                         rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
  486                 };
  487         };
  488 
  489         vcc3v0-sd {
  490                 sdmmc0_pwr_h: sdmmc0-pwr-h {
  491                         rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
  492                 };
  493         };
  494 };
  495 
  496 &pmu_io_domains {
  497         pmu1830-supply = <&vcc3v0_s3>;
  498         status = "okay";
  499 };
  500 
  501 &pwm0 {
  502         /* pwm-fan on P7 */
  503         status = "okay";
  504 };
  505 
  506 &pwm1 {
  507         /* pwm-fan on P6 */
  508         status = "okay";
  509 };
  510 
  511 &sdhci {
  512         bus-width = <8>;
  513         mmc-hs200-1_8v;
  514         non-removable;
  515         vqmmc-supply = <&vcc1v8_sys_s0>;
  516         status = "okay";
  517 };
  518 
  519 &sdmmc {
  520         bus-width = <4>;
  521         cap-sd-highspeed;
  522         cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
  523         disable-wp;
  524         pinctrl-names = "default";
  525         pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
  526         vmmc-supply = <&vcc3v0_sd>;
  527         vqmmc-supply = <&vcc_sdio_s0>;
  528         status = "okay";
  529 };
  530 
  531 &spi1 {
  532         status = "okay";
  533 
  534         spiflash: flash@0 {
  535                 compatible = "jedec,spi-nor";
  536                 reg = <0x0>;
  537                 spi-max-frequency = <25000000>;
  538                 status = "okay";
  539                 m25p,fast-read;
  540         };
  541 };
  542 
  543 /* UEXT connector */
  544 &spi2 {
  545         status = "okay";
  546 };
  547 
  548 &spi5 {
  549         status = "okay";
  550 };
  551 
  552 &tcphy1 {
  553         /* phy for &usbdrd_dwc3_1 */
  554         status = "okay";
  555 };
  556 
  557 &tsadc {
  558         /* tshut mode 0:CRU 1:GPIO */
  559         rockchip,hw-tshut-mode = <1>;
  560         /* tshut polarity 0:LOW 1:HIGH */
  561         rockchip,hw-tshut-polarity = <1>;
  562         status = "okay";
  563 };
  564 
  565 &u2phy1 {
  566         status = "okay";
  567 
  568         otg-port {
  569                 /* phy for &usbdrd_dwc3_1 */
  570                 phy-supply = <&vcc5v0_usb>;
  571                 status = "okay";
  572         };
  573 };
  574 
  575 &uart2 {
  576         status = "okay";
  577 };
  578 
  579 &usbdrd3_1 {
  580         status = "okay";
  581 
  582         usb@fe900000 {
  583                 dr_mode = "host";
  584                 status = "okay";
  585                 #address-cells = <1>;
  586                 #size-cells = <0>;
  587 
  588                 hub@1 {
  589                         compatible = "usb2109,0815";
  590                         reg = <1>;
  591                         #address-cells = <1>;
  592                         #size-cells = <0>;
  593 
  594                         port@1 {
  595                                 reg = <1>;
  596                                 #trigger-source-cells = <0>;
  597                         };
  598 
  599                         port@2 {
  600                                 reg = <2>;
  601                                 #trigger-source-cells = <0>;
  602                         };
  603 
  604                         port@3 {
  605                                 reg = <3>;
  606                                 #trigger-source-cells = <0>;
  607                         };
  608 
  609                         device@4 {
  610                                 compatible = "usbbda,8156";
  611                                 reg = <4>;
  612                                 #address-cells = <2>;
  613                                 #size-cells = <0>;
  614 
  615                                 interface@0 {   /* interface 0 of configuration 1 */
  616                                         compatible = "usbbda,8156.config1.0";
  617                                         reg = <0 1>;
  618                                 };
  619                         };
  620                 };
  621         };
  622 };

Cache object: cd874f94eb70878036037a21cb297d6c


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