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/arm/sun8i-h3-nanopi-duo2.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) 2019 Karl Palsson <karlp@tweak.net.au>
    4  */
    5 
    6 /dts-v1/;
    7 #include "sun8i-h3.dtsi"
    8 #include "sunxi-common-regulators.dtsi"
    9 
   10 #include <dt-bindings/gpio/gpio.h>
   11 #include <dt-bindings/input/input.h>
   12 
   13 / {
   14         model = "FriendlyARM NanoPi Duo2";
   15         compatible = "friendlyarm,nanopi-duo2", "allwinner,sun8i-h3";
   16 
   17         aliases {
   18                 serial0 = &uart0;
   19         };
   20 
   21         chosen {
   22                 stdout-path = "serial0:115200n8";
   23         };
   24 
   25         leds {
   26                 compatible = "gpio-leds";
   27 
   28                 led-0 {
   29                         label = "nanopi:red:pwr";
   30                         gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */
   31                         default-state = "on";
   32                 };
   33 
   34                 led-1 {
   35                         label = "nanopi:green:status";
   36                         gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */
   37                 };
   38         };
   39 
   40         gpio-keys {
   41                 compatible = "gpio-keys";
   42 
   43                 key-0 {
   44                         label = "k1";
   45                         linux,code = <BTN_0>;
   46                         gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; /* PL3 */
   47                 };
   48         };
   49 
   50         reg_vdd_cpux: vdd-cpux-regulator {
   51                 compatible = "regulator-gpio";
   52                 regulator-name = "vdd-cpux";
   53                 regulator-min-microvolt = <1100000>;
   54                 regulator-max-microvolt = <1300000>;
   55                 regulator-always-on;
   56                 regulator-boot-on;
   57                 regulator-ramp-delay = <50>; /* 4ms */
   58 
   59                 enable-active-high;
   60                 enable-gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */
   61                 gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
   62                 gpios-states = <0x1>;
   63                 states = <1100000 0>, <1300000 1>;
   64         };
   65 
   66         reg_vcc_dram: vcc-dram {
   67                 compatible = "regulator-fixed";
   68                 regulator-name = "vcc-dram";
   69                 regulator-min-microvolt = <1500000>;
   70                 regulator-max-microvolt = <1500000>;
   71                 regulator-always-on;
   72                 regulator-boot-on;
   73                 enable-active-high;
   74                 gpio = <&r_pio 0 9 GPIO_ACTIVE_HIGH>; /* PL9 */
   75                 vin-supply = <&reg_vcc5v0>;
   76         };
   77 
   78         reg_vdd_sys: vdd-sys {
   79                 compatible = "regulator-fixed";
   80                 regulator-name = "vdd-sys";
   81                 regulator-min-microvolt = <1200000>;
   82                 regulator-max-microvolt = <1200000>;
   83                 regulator-always-on;
   84                 regulator-boot-on;
   85                 enable-active-high;
   86                 gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */
   87                 vin-supply = <&reg_vcc5v0>;
   88         };
   89 
   90         wifi_pwrseq: wifi_pwrseq {
   91                 compatible = "mmc-pwrseq-simple";
   92                 reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
   93                 clocks = <&rtc CLK_OSC32K_FANOUT>;
   94                 clock-names = "ext_clock";
   95         };
   96 
   97 };
   98 
   99 &cpu0 {
  100         cpu-supply = <&reg_vdd_cpux>;
  101 };
  102 
  103 &ehci0 {
  104         status = "okay";
  105 };
  106 
  107 &mmc0 {
  108         bus-width = <4>;
  109         cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
  110         status = "okay";
  111         vmmc-supply = <&reg_vcc3v3>;
  112 };
  113 
  114 &mmc1 {
  115         vmmc-supply = <&reg_vcc3v3>;
  116         vqmmc-supply = <&reg_vcc3v3>;
  117         mmc-pwrseq = <&wifi_pwrseq>;
  118         bus-width = <4>;
  119         non-removable;
  120         status = "okay";
  121 
  122         sdio_wifi: sdio_wifi@1 {
  123                 reg = <1>;
  124                 compatible = "brcm,bcm4329-fmac";
  125                 interrupt-parent = <&pio>;
  126                 interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */
  127                 interrupt-names = "host-wake";
  128         };
  129 };
  130 
  131 &ohci0 {
  132         status = "okay";
  133 };
  134 
  135 &reg_usb0_vbus {
  136         gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */
  137         status = "okay";
  138 };
  139 
  140 &uart0 {
  141         pinctrl-names = "default";
  142         pinctrl-0 = <&uart0_pa_pins>;
  143         status = "okay";
  144 };
  145 
  146 &uart2 {
  147         pinctrl-names = "default";
  148         pinctrl-0 = <&uart2_pins>, <&uart2_rts_cts_pins>;
  149         uart-has-rtscts;
  150         status = "okay";
  151 
  152         bluetooth {
  153                 compatible = "brcm,bcm43438-bt";
  154                 clocks = <&rtc CLK_OSC32K_FANOUT>;
  155                 clock-names = "lpo";
  156                 vbat-supply = <&reg_vcc3v3>;
  157                 vddio-supply = <&reg_vcc3v3>;
  158                 device-wakeup-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */
  159                 host-wakeup-gpios = <&pio 0 7 GPIO_ACTIVE_HIGH>; /* PA7 */
  160                 shutdown-gpios = <&pio 6 13 GPIO_ACTIVE_HIGH>; /* PG13 */
  161         };
  162 };
  163 
  164 &usb_otg {
  165         status = "okay";
  166         dr_mode = "otg";
  167 };
  168 
  169 &usbphy {
  170         usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
  171         usb0_vbus-supply = <&reg_usb0_vbus>;
  172         status = "okay";
  173 };

Cache object: 1e188485e230526ce8656bccb9d59bbd


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