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/rk3328-nanopi-r2s.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 David Bauer <mail@david-bauer.net>
    4  */
    5 
    6 /dts-v1/;
    7 
    8 #include <dt-bindings/input/input.h>
    9 #include <dt-bindings/gpio/gpio.h>
   10 #include "rk3328.dtsi"
   11 
   12 / {
   13         model = "FriendlyElec NanoPi R2S";
   14         compatible = "friendlyarm,nanopi-r2s", "rockchip,rk3328";
   15 
   16         aliases {
   17                 ethernet1 = &rtl8153;
   18                 mmc0 = &sdmmc;
   19         };
   20 
   21         chosen {
   22                 stdout-path = "serial2:1500000n8";
   23         };
   24 
   25         gmac_clk: gmac-clock {
   26                 compatible = "fixed-clock";
   27                 clock-frequency = <125000000>;
   28                 clock-output-names = "gmac_clkin";
   29                 #clock-cells = <0>;
   30         };
   31 
   32         keys {
   33                 compatible = "gpio-keys";
   34                 pinctrl-0 = <&reset_button_pin>;
   35                 pinctrl-names = "default";
   36 
   37                 key-reset {
   38                         label = "reset";
   39                         gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
   40                         linux,code = <KEY_RESTART>;
   41                         debounce-interval = <50>;
   42                 };
   43         };
   44 
   45         leds {
   46                 compatible = "gpio-leds";
   47                 pinctrl-0 = <&lan_led_pin>,  <&sys_led_pin>, <&wan_led_pin>;
   48                 pinctrl-names = "default";
   49 
   50                 lan_led: led-0 {
   51                         gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
   52                         label = "nanopi-r2s:green:lan";
   53                 };
   54 
   55                 sys_led: led-1 {
   56                         gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
   57                         label = "nanopi-r2s:red:sys";
   58                         default-state = "on";
   59                 };
   60 
   61                 wan_led: led-2 {
   62                         gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>;
   63                         label = "nanopi-r2s:green:wan";
   64                 };
   65         };
   66 
   67         vcc_io_sdio: sdmmcio-regulator {
   68                 compatible = "regulator-gpio";
   69                 enable-active-high;
   70                 gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;
   71                 pinctrl-0 = <&sdio_vcc_pin>;
   72                 pinctrl-names = "default";
   73                 regulator-name = "vcc_io_sdio";
   74                 regulator-always-on;
   75                 regulator-min-microvolt = <1800000>;
   76                 regulator-max-microvolt = <3300000>;
   77                 regulator-settling-time-us = <5000>;
   78                 regulator-type = "voltage";
   79                 startup-delay-us = <2000>;
   80                 states = <1800000 0x1>,
   81                          <3300000 0x0>;
   82                 vin-supply = <&vcc_io_33>;
   83         };
   84 
   85         vcc_sd: sdmmc-regulator {
   86                 compatible = "regulator-fixed";
   87                 gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
   88                 pinctrl-0 = <&sdmmc0m1_pin>;
   89                 pinctrl-names = "default";
   90                 regulator-name = "vcc_sd";
   91                 regulator-boot-on;
   92                 regulator-min-microvolt = <3300000>;
   93                 regulator-max-microvolt = <3300000>;
   94                 vin-supply = <&vcc_io_33>;
   95         };
   96 
   97         vdd_5v: vdd-5v {
   98                 compatible = "regulator-fixed";
   99                 regulator-name = "vdd_5v";
  100                 regulator-always-on;
  101                 regulator-boot-on;
  102                 regulator-min-microvolt = <5000000>;
  103                 regulator-max-microvolt = <5000000>;
  104         };
  105 
  106         vdd_5v_lan: vdd-5v-lan {
  107                 compatible = "regulator-fixed";
  108                 enable-active-high;
  109                 gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
  110                 pinctrl-0 = <&lan_vdd_pin>;
  111                 pinctrl-names = "default";
  112                 regulator-name = "vdd_5v_lan";
  113                 regulator-always-on;
  114                 regulator-boot-on;
  115                 vin-supply = <&vdd_5v>;
  116         };
  117 };
  118 
  119 &cpu0 {
  120         cpu-supply = <&vdd_arm>;
  121 };
  122 
  123 &cpu1 {
  124         cpu-supply = <&vdd_arm>;
  125 };
  126 
  127 &cpu2 {
  128         cpu-supply = <&vdd_arm>;
  129 };
  130 
  131 &cpu3 {
  132         cpu-supply = <&vdd_arm>;
  133 };
  134 
  135 &display_subsystem {
  136         status = "disabled";
  137 };
  138 
  139 &gmac2io {
  140         assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
  141         assigned-clock-parents = <&gmac_clk>, <&gmac_clk>;
  142         clock_in_out = "input";
  143         phy-handle = <&rtl8211e>;
  144         phy-mode = "rgmii";
  145         phy-supply = <&vcc_io_33>;
  146         pinctrl-0 = <&rgmiim1_pins>;
  147         pinctrl-names = "default";
  148         rx_delay = <0x18>;
  149         snps,aal;
  150         tx_delay = <0x24>;
  151         status = "okay";
  152 
  153         mdio {
  154                 compatible = "snps,dwmac-mdio";
  155                 #address-cells = <1>;
  156                 #size-cells = <0>;
  157 
  158                 rtl8211e: ethernet-phy@1 {
  159                         reg = <1>;
  160                         pinctrl-0 = <&eth_phy_reset_pin>;
  161                         pinctrl-names = "default";
  162                         reset-assert-us = <10000>;
  163                         reset-deassert-us = <50000>;
  164                         reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
  165                 };
  166         };
  167 };
  168 
  169 &i2c1 {
  170         status = "okay";
  171 
  172         rk805: pmic@18 {
  173                 compatible = "rockchip,rk805";
  174                 reg = <0x18>;
  175                 interrupt-parent = <&gpio1>;
  176                 interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
  177                 #clock-cells = <1>;
  178                 clock-output-names = "xin32k", "rk805-clkout2";
  179                 gpio-controller;
  180                 #gpio-cells = <2>;
  181                 pinctrl-0 = <&pmic_int_l>;
  182                 pinctrl-names = "default";
  183                 rockchip,system-power-controller;
  184                 wakeup-source;
  185 
  186                 vcc1-supply = <&vdd_5v>;
  187                 vcc2-supply = <&vdd_5v>;
  188                 vcc3-supply = <&vdd_5v>;
  189                 vcc4-supply = <&vdd_5v>;
  190                 vcc5-supply = <&vcc_io_33>;
  191                 vcc6-supply = <&vdd_5v>;
  192 
  193                 regulators {
  194                         vdd_log: DCDC_REG1 {
  195                                 regulator-name = "vdd_log";
  196                                 regulator-always-on;
  197                                 regulator-boot-on;
  198                                 regulator-min-microvolt = <712500>;
  199                                 regulator-max-microvolt = <1450000>;
  200                                 regulator-ramp-delay = <12500>;
  201 
  202                                 regulator-state-mem {
  203                                         regulator-on-in-suspend;
  204                                         regulator-suspend-microvolt = <1000000>;
  205                                 };
  206                         };
  207 
  208                         vdd_arm: DCDC_REG2 {
  209                                 regulator-name = "vdd_arm";
  210                                 regulator-always-on;
  211                                 regulator-boot-on;
  212                                 regulator-min-microvolt = <712500>;
  213                                 regulator-max-microvolt = <1450000>;
  214                                 regulator-ramp-delay = <12500>;
  215 
  216                                 regulator-state-mem {
  217                                         regulator-on-in-suspend;
  218                                         regulator-suspend-microvolt = <950000>;
  219                                 };
  220                         };
  221 
  222                         vcc_ddr: DCDC_REG3 {
  223                                 regulator-name = "vcc_ddr";
  224                                 regulator-always-on;
  225                                 regulator-boot-on;
  226 
  227                                 regulator-state-mem {
  228                                         regulator-on-in-suspend;
  229                                 };
  230                         };
  231 
  232                         vcc_io_33: DCDC_REG4 {
  233                                 regulator-name = "vcc_io_33";
  234                                 regulator-always-on;
  235                                 regulator-boot-on;
  236                                 regulator-min-microvolt = <3300000>;
  237                                 regulator-max-microvolt = <3300000>;
  238 
  239                                 regulator-state-mem {
  240                                         regulator-on-in-suspend;
  241                                         regulator-suspend-microvolt = <3300000>;
  242                                 };
  243                         };
  244 
  245                         vcc_18: LDO_REG1 {
  246                                 regulator-name = "vcc_18";
  247                                 regulator-always-on;
  248                                 regulator-boot-on;
  249                                 regulator-min-microvolt = <1800000>;
  250                                 regulator-max-microvolt = <1800000>;
  251 
  252                                 regulator-state-mem {
  253                                         regulator-on-in-suspend;
  254                                         regulator-suspend-microvolt = <1800000>;
  255                                 };
  256                         };
  257 
  258                         vcc18_emmc: LDO_REG2 {
  259                                 regulator-name = "vcc18_emmc";
  260                                 regulator-always-on;
  261                                 regulator-boot-on;
  262                                 regulator-min-microvolt = <1800000>;
  263                                 regulator-max-microvolt = <1800000>;
  264 
  265                                 regulator-state-mem {
  266                                         regulator-on-in-suspend;
  267                                         regulator-suspend-microvolt = <1800000>;
  268                                 };
  269                         };
  270 
  271                         vdd_10: LDO_REG3 {
  272                                 regulator-name = "vdd_10";
  273                                 regulator-always-on;
  274                                 regulator-boot-on;
  275                                 regulator-min-microvolt = <1000000>;
  276                                 regulator-max-microvolt = <1000000>;
  277 
  278                                 regulator-state-mem {
  279                                         regulator-on-in-suspend;
  280                                         regulator-suspend-microvolt = <1000000>;
  281                                 };
  282                         };
  283                 };
  284         };
  285 };
  286 
  287 &io_domains {
  288         pmuio-supply = <&vcc_io_33>;
  289         vccio1-supply = <&vcc_io_33>;
  290         vccio2-supply = <&vcc18_emmc>;
  291         vccio3-supply = <&vcc_io_sdio>;
  292         vccio4-supply = <&vcc_18>;
  293         vccio5-supply = <&vcc_io_33>;
  294         vccio6-supply = <&vcc_io_33>;
  295         status = "okay";
  296 };
  297 
  298 &pinctrl {
  299         button {
  300                 reset_button_pin: reset-button-pin {
  301                         rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
  302                 };
  303         };
  304 
  305         gmac2io {
  306                 eth_phy_reset_pin: eth-phy-reset-pin {
  307                         rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
  308                 };
  309         };
  310 
  311         leds {
  312                 lan_led_pin: lan-led-pin {
  313                         rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
  314                 };
  315 
  316                 sys_led_pin: sys-led-pin {
  317                         rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
  318                 };
  319 
  320                 wan_led_pin: wan-led-pin {
  321                         rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
  322                 };
  323         };
  324 
  325         lan {
  326                 lan_vdd_pin: lan-vdd-pin {
  327                         rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
  328                 };
  329         };
  330 
  331         pmic {
  332                 pmic_int_l: pmic-int-l {
  333                         rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
  334                 };
  335         };
  336 
  337         sd {
  338                 sdio_vcc_pin: sdio-vcc-pin {
  339                         rockchip,pins = <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
  340                 };
  341         };
  342 };
  343 
  344 &pwm2 {
  345         status = "okay";
  346 };
  347 
  348 &sdmmc {
  349         bus-width = <4>;
  350         cap-sd-highspeed;
  351         disable-wp;
  352         pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>;
  353         pinctrl-names = "default";
  354         sd-uhs-sdr12;
  355         sd-uhs-sdr25;
  356         sd-uhs-sdr50;
  357         sd-uhs-sdr104;
  358         vmmc-supply = <&vcc_sd>;
  359         vqmmc-supply = <&vcc_io_sdio>;
  360         status = "okay";
  361 };
  362 
  363 &tsadc {
  364         rockchip,hw-tshut-mode = <0>;
  365         rockchip,hw-tshut-polarity = <0>;
  366         status = "okay";
  367 };
  368 
  369 &u2phy {
  370         status = "okay";
  371 };
  372 
  373 &u2phy_host {
  374         status = "okay";
  375 };
  376 
  377 &u2phy_otg {
  378         status = "okay";
  379 };
  380 
  381 &uart2 {
  382         status = "okay";
  383 };
  384 
  385 &usb20_otg {
  386         status = "okay";
  387         dr_mode = "host";
  388 };
  389 
  390 &usbdrd3 {
  391         dr_mode = "host";
  392         status = "okay";
  393         #address-cells = <1>;
  394         #size-cells = <0>;
  395 
  396         /* Second port is for USB 3.0 */
  397         rtl8153: device@2 {
  398                 compatible = "usbbda,8153";
  399                 reg = <2>;
  400         };
  401 };
  402 
  403 &usb_host0_ehci {
  404         status = "okay";
  405 };
  406 
  407 &usb_host0_ohci {
  408         status = "okay";
  409 };

Cache object: b05d5bf559902248671a67f83413e66f


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