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/intel-ixp42x-linksys-wrv54g.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: ISC
    2 /*
    3  * Device Tree file for the Linksys WRV54G router
    4  * Also known as Gemtek GTWX5715
    5  * Based on a board file by George T. Joseph and other patches.
    6  * This machine is based on IXP425.
    7  */
    8 
    9 /dts-v1/;
   10 
   11 #include "intel-ixp42x.dtsi"
   12 #include <dt-bindings/input/input.h>
   13 
   14 / {
   15         model = "Linksys WRV54G / Gemtek GTWX5715";
   16         compatible = "linksys,wrv54g", "gemtek,gtwx5715", "intel,ixp42x";
   17         #address-cells = <1>;
   18         #size-cells = <1>;
   19 
   20         memory@0 {
   21                 /* 32 MB memory */
   22                 device_type = "memory";
   23                 reg = <0x00000000 0x2000000>;
   24         };
   25 
   26         chosen {
   27                 bootargs = "console=ttyS0,115200n8";
   28                 stdout-path = "uart1:115200n8";
   29         };
   30 
   31         aliases {
   32                 /* UART2 is the primary console */
   33                 serial0 = &uart1;
   34                 serial1 = &uart0;
   35         };
   36 
   37         /* There is an unpopulated LED slot (3) connected to GPIO 8 */
   38         leds {
   39                 compatible = "gpio-leds";
   40                 led-power {
   41                         label = "wrv54g:yellow:power";
   42                         gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
   43                         default-state = "on";
   44                         linux,default-trigger = "heartbeat";
   45                 };
   46                 led-wireless {
   47                         label = "wrv54g:yellow:wireless";
   48                         gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
   49                         default-state = "on";
   50                 };
   51                 led-internet {
   52                         label = "wrv54g:yellow:internet";
   53                         gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
   54                         default-state = "on";
   55                 };
   56                 led-dmz {
   57                         label = "wrv54g:green:dmz";
   58                         gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
   59                         default-state = "on";
   60                 };
   61         };
   62 
   63         /* This set-up comes from an OpenWrt patch */
   64         spi {
   65                 compatible = "spi-gpio";
   66                 #address-cells = <1>;
   67                 #size-cells = <0>;
   68 
   69                 sck-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
   70                 miso-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
   71                 mosi-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
   72                 cs-gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
   73                 num-chipselects = <1>;
   74 
   75                 switch@0 {
   76                         compatible = "micrel,ks8995";
   77                         reg = <0>;
   78                         spi-max-frequency = <50000000>;
   79                 };
   80         };
   81 
   82         soc {
   83                 bus@c4000000 {
   84                         flash@0,0 {
   85                                 compatible = "intel,ixp4xx-flash", "cfi-flash";
   86                                 bank-width = <2>;
   87                                 /* Enable writes on the expansion bus */
   88                                 intel,ixp4xx-eb-write-enable = <1>;
   89                                 /* 8 MB of Flash mapped in at CS0 */
   90                                 reg = <0 0x00000000 0x00800000>;
   91 
   92                                 partitions {
   93                                         compatible = "fixed-partitions";
   94                                         /*
   95                                          * Partition info from a boot log
   96                                          * CHECKME: not using redboot? FIS index 0x3f @7e00000?
   97                                          */
   98                                         #address-cells = <1>;
   99                                         #size-cells = <1>;
  100                                         partition@0 {
  101                                                 label = "boot";
  102                                                 reg = <0x0 0x140000>;
  103                                                 read-only;
  104                                         };
  105                                         partition@140000 {
  106                                                 label = "linux";
  107                                                 reg = <0x140000 0x100000>;
  108                                                 read-only;
  109                                         };
  110                                         partition@240000 {
  111                                                 label = "root";
  112                                                 reg = <0x240000 0x480000>;
  113                                                 read-write;
  114                                         };
  115                                 };
  116                         };
  117                 };
  118 
  119                 pci@c0000000 {
  120                         status = "ok";
  121 
  122                         /*
  123                          * We have up to 2 slots (IDSEL) with 2 swizzled IRQs.
  124                          * Derived from the GTWX5715 PCI boardfile.
  125                          */
  126                         #interrupt-cells = <1>;
  127                         interrupt-map-mask = <0xf800 0 0 7>;
  128                         interrupt-map =
  129                         /* IDSEL 0 */
  130                         <0x0000 0 0 1 &gpio0 10 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 0 is irq 10 */
  131                         <0x0000 0 0 2 &gpio0 11 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 0 is irq 11 */
  132                         /* IDSEL 1 */
  133                         <0x0800 0 0 1 &gpio0 11 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 1 is irq 11 */
  134                         <0x0800 0 0 2 &gpio0 10 IRQ_TYPE_LEVEL_LOW>; /* INT B on slot 1 is irq 10 */
  135                 };
  136 
  137                 /*
  138                  * EthB - connected to the KS8995 switch ports 1-4
  139                  * FIXME: the boardfile defines .phy_mask = 0x1e for this port to enable output to
  140                  * all four switch ports, also using an out of tree multiphy patch.
  141                  * Do we need a new binding and property for this?
  142                  */
  143                 ethernet@c8009000 {
  144                         status = "ok";
  145                         queue-rx = <&qmgr 3>;
  146                         queue-txready = <&qmgr 20>;
  147                         phy-mode = "rgmii";
  148                         phy-handle = <&phy4>;
  149 
  150                         mdio {
  151                                 #address-cells = <1>;
  152                                 #size-cells = <0>;
  153 
  154                                 /* Should be ports 1-4 on the KS8995 switch */
  155                                 phy4: ethernet-phy@4 {
  156                                         reg = <4>;
  157                                 };
  158 
  159                                 /* Should be port 5 on the KS8995 switch */
  160                                 phy5: ethernet-phy@5 {
  161                                         reg = <5>;
  162                                 };
  163                         };
  164                 };
  165 
  166                 /* EthC - connected to KS8995 switch port 5 */
  167                 ethernet@c800a000 {
  168                         status = "ok";
  169                         queue-rx = <&qmgr 4>;
  170                         queue-txready = <&qmgr 21>;
  171                         phy-mode = "rgmii";
  172                         phy-handle = <&phy5>;
  173                 };
  174         };
  175 };

Cache object: d6d006a68039a4b79b9969a1b6d47181


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