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/gemini-dlink-dns-313.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
    2 /*
    3  * Device Tree file for D-Link DNS-313 1-Bay Network Storage Enclosure
    4  */
    5 
    6 /dts-v1/;
    7 
    8 #include "gemini.dtsi"
    9 #include <dt-bindings/input/input.h>
   10 #include <dt-bindings/thermal/thermal.h>
   11 
   12 / {
   13         model = "D-Link DNS-313 1-Bay Network Storage Enclosure";
   14         compatible = "dlink,dns-313", "cortina,gemini";
   15         #address-cells = <1>;
   16         #size-cells = <1>;
   17 
   18         memory@0 {
   19                 /* 64 MB SDRAM in a Nanya NT5DS32M16BS-6K package */
   20                 device_type = "memory";
   21                 reg = <0x00000000 0x4000000>;
   22         };
   23 
   24         aliases {
   25                 mdio-gpio0 = &mdio0;
   26         };
   27 
   28         chosen {
   29                 bootargs = "console=ttyS0,19200n8 root=/dev/sda4 rw rootwait";
   30                 stdout-path = "uart0:19200n8";
   31         };
   32 
   33         gpio_keys {
   34                 compatible = "gpio-keys";
   35 
   36                 button-esc {
   37                         debounce-interval = <100>;
   38                         wakeup-source;
   39                         linux,code = <KEY_ESC>;
   40                         label = "reset";
   41                         gpios = <&gpio1 31 GPIO_ACTIVE_LOW>;
   42                 };
   43         };
   44 
   45         leds {
   46                 compatible = "gpio-leds";
   47                 led-power {
   48                         label = "dns313:blue:power";
   49                         gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
   50                         default-state = "on";
   51                         linux,default-trigger = "heartbeat";
   52                 };
   53                 led-disk-blue {
   54                         label = "dns313:blue:disk";
   55                         gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
   56                         default-state = "off";
   57                 };
   58                 led-disk-green {
   59                         label = "dns313:green:disk";
   60                         gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
   61                         default-state = "off";
   62                         linux,default-trigger = "disk-read";
   63                 };
   64                 led-disk-red {
   65                         label = "dns313:red:disk";
   66                         gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
   67                         default-state = "off";
   68                         linux,default-trigger = "disk-write";
   69                 };
   70         };
   71 
   72         /*
   73          * This is a ADDA AD0405GB-G73 fan @3000 and 6000 RPM.
   74          */
   75         fan0: gpio-fan {
   76                 compatible = "gpio-fan";
   77                 gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>,
   78                         <&gpio0 12 GPIO_ACTIVE_HIGH>;
   79                 gpio-fan,speed-map = <0 0>, <3000 1>, <6000 2>;
   80                 #cooling-cells = <2>;
   81         };
   82 
   83 
   84         /* Global Mixed-Mode Technology G751 mounted on GPIO I2C */
   85         i2c {
   86                 compatible = "i2c-gpio";
   87                 sda-gpios = <&gpio0 15 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
   88                 scl-gpios = <&gpio0 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
   89                 #address-cells = <1>;
   90                 #size-cells = <0>;
   91 
   92                 g751: temperature-sensor@48 {
   93                         compatible = "gmt,g751";
   94                         reg = <0x48>;
   95                         #thermal-sensor-cells = <0>;
   96                 };
   97         };
   98 
   99         thermal-zones {
  100                 chassis-thermal {
  101                         /* Poll every 20 seconds */
  102                         polling-delay = <20000>;
  103                         /* Poll every 2nd second when cooling */
  104                         polling-delay-passive = <2000>;
  105 
  106                         thermal-sensors = <&g751>;
  107 
  108                         /* Tripping points from the fan.script in the rootfs */
  109                         trips {
  110                                 chassis_alert0: chassis-alert0 {
  111                                         /* At 43 degrees turn on low speed */
  112                                         temperature = <43000>;
  113                                         hysteresis = <3000>;
  114                                         type = "active";
  115                                 };
  116                                 chassis_alert1: chassis-alert1 {
  117                                         /* At 47 degrees turn on high speed */
  118                                         temperature = <47000>;
  119                                         hysteresis = <3000>;
  120                                         type = "active";
  121                                 };
  122                                 chassis_crit: chassis-crit {
  123                                         /* Just shut down at 60 degrees */
  124                                         temperature = <60000>;
  125                                         hysteresis = <2000>;
  126                                         type = "critical";
  127                                 };
  128                         };
  129 
  130                         cooling-maps {
  131                                 map0 {
  132                                         trip = <&chassis_alert0>;
  133                                         cooling-device = <&fan0 1 1>;
  134                                 };
  135                                 map1 {
  136                                         trip = <&chassis_alert1>;
  137                                         cooling-device = <&fan0 2 2>;
  138                                 };
  139                         };
  140                 };
  141         };
  142 
  143         mdio0: mdio {
  144                 compatible = "virtual,mdio-gpio";
  145                 /* Uses MDC and MDIO */
  146                 gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>, /* MDC */
  147                         <&gpio0 21 GPIO_ACTIVE_HIGH>; /* MDIO */
  148                 #address-cells = <1>;
  149                 #size-cells = <0>;
  150 
  151                 /* This is a Realtek RTL8211B Gigabit ethernet transceiver */
  152                 phy0: ethernet-phy@1 {
  153                         reg = <1>;
  154                         device_type = "ethernet-phy";
  155                 };
  156         };
  157 
  158         soc {
  159                 flash@30000000 {
  160                         /*
  161                          * This is a Eon EN29LV400AB 512 KiB flash with
  162                          * three partitions.
  163                          */
  164                         compatible = "cortina,gemini-flash", "jedec-flash";
  165                         status = "okay";
  166                         reg = <0x30000000 0x00080000>;
  167 
  168                         /*
  169                          * This "RedBoot" is the Storlink derivative.
  170                          */
  171                         partition@0 {
  172                                 label = "RedBoot";
  173                                 reg = <0x00000000 0x00040000>;
  174                                 read-only;
  175                         };
  176                         partition@40000 {
  177                                 label = "MTD1";
  178                                 reg = <0x00040000 0x00020000>;
  179                                 read-only;
  180                         };
  181                         partition@60000 {
  182                                 label = "MTD2";
  183                                 reg = <0x00060000 0x00020000>;
  184                                 read-only;
  185                         };
  186                 };
  187 
  188                 syscon: syscon@40000000 {
  189                         pinctrl {
  190                                 /*
  191                                  */
  192                                 gpio0_default_pins: pinctrl-gpio0 {
  193                                         mux {
  194                                                 function = "gpio0";
  195                                                 groups =
  196                                                 /* Used by LEDs conflicts ICE */
  197                                                 "gpio0bgrp",
  198                                                 /* Used by ? conflicts ICE */
  199                                                 "gpio0cgrp",
  200                                                 /*
  201                                                  * Used by fan & G751, conflicts LPC,
  202                                                  * UART modem lines, SSP
  203                                                  */
  204                                                 "gpio0egrp",
  205                                                 /* Used by G751 */
  206                                                 "gpio0fgrp",
  207                                                 /* Used by MDIO */
  208                                                 "gpio0igrp";
  209                                         };
  210                                 };
  211                                 gpio1_default_pins: pinctrl-gpio1 {
  212                                         mux {
  213                                                 function = "gpio1";
  214                                                 /* Used by "reset" button */
  215                                                 groups = "gpio1dgrp";
  216                                         };
  217                                 };
  218                                 pinctrl-gmii {
  219                                         mux {
  220                                                 function = "gmii";
  221                                                 groups = "gmii_gmac0_grp";
  222                                         };
  223                                         /*
  224                                          * In the vendor Linux tree, these values are set for the C3
  225                                          * version of the SL3512 ASIC with the comment "benson suggest"
  226                                          */
  227                                         conf0 {
  228                                                 pins = "R8 GMAC0 RXDV", "U11 GMAC1 RXDV";
  229                                                 skew-delay = <0>;
  230                                         };
  231                                         conf1 {
  232                                                 pins = "T8 GMAC0 RXC";
  233                                                 skew-delay = <10>;
  234                                         };
  235                                         conf2 {
  236                                                 pins = "T11 GMAC1 RXC";
  237                                                 skew-delay = <15>;
  238                                         };
  239                                         conf3 {
  240                                                 pins = "P8 GMAC0 TXEN", "V11 GMAC1 TXEN";
  241                                                 skew-delay = <7>;
  242                                         };
  243                                         conf4 {
  244                                                 pins = "V7 GMAC0 TXC", "P10 GMAC1 TXC";
  245                                                 skew-delay = <10>;
  246                                         };
  247                                         conf5 {
  248                                                 /* The data lines all have default skew */
  249                                                 pins = "U8 GMAC0 RXD0", "V8 GMAC0 RXD1",
  250                                                        "P9 GMAC0 RXD2", "R9 GMAC0 RXD3",
  251                                                        "R11 GMAC1 RXD0", "P11 GMAC1 RXD1",
  252                                                        "V12 GMAC1 RXD2", "U12 GMAC1 RXD3",
  253                                                        "R10 GMAC1 TXD0", "T10 GMAC1 TXD1",
  254                                                        "U10 GMAC1 TXD2", "V10 GMAC1 TXD3";
  255                                                 skew-delay = <7>;
  256                                         };
  257                                         conf6 {
  258                                                 pins = "U7 GMAC0 TXD0", "T7 GMAC0 TXD1",
  259                                                        "R7 GMAC0 TXD2", "P7 GMAC0 TXD3";
  260                                                 skew-delay = <5>;
  261                                         };
  262                                         /* Set up drive strength on GMAC0 to 16 mA */
  263                                         conf7 {
  264                                                 groups = "gmii_gmac0_grp";
  265                                                 drive-strength = <16>;
  266                                         };
  267                                 };
  268                         };
  269                 };
  270 
  271                 sata: sata@46000000 {
  272                         /* The ROM uses this muxmode */
  273                         cortina,gemini-ata-muxmode = <0>;
  274                         cortina,gemini-enable-sata-bridge;
  275                         status = "okay";
  276                 };
  277 
  278                 gpio0: gpio@4d000000 {
  279                         pinctrl-names = "default";
  280                         pinctrl-0 = <&gpio0_default_pins>;
  281                 };
  282 
  283                 gpio1: gpio@4e000000 {
  284                         pinctrl-names = "default";
  285                         pinctrl-0 = <&gpio1_default_pins>;
  286                 };
  287 
  288                 ethernet@60000000 {
  289                         status = "okay";
  290 
  291                         ethernet-port@0 {
  292                                 phy-mode = "rgmii";
  293                                 phy-handle = <&phy0>;
  294                         };
  295                         ethernet-port@1 {
  296                                 /* Not used in this platform */
  297                         };
  298                 };
  299 
  300                 ide@63000000 {
  301                         status = "okay";
  302                 };
  303         };
  304 };

Cache object: d12d5e2f7f1f2f3507acacfb57d63e7a


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