Permalink
Browse files

phy: add driver for GW16083 Ethernet Expansion Mezzanine

This driver supports a Gateworks Ventana GW16083 Ethernet Expansion Mezzanine,
an optional expansion board for the Gateworks Ventana baseboards which adds a
7-port GigE switch (MV88E6176) connected to to the host CPU via an Intel i210
GigE MAC on the PCIe bus and providing 4 dedicated RJ45 GigE ports and 2
configurable RJ45/SFP ports via MV88E1111 PHYs.

Port5 and Port6 (labeled Ethernet5/Ethernet6 on the board silkscreen) are
connected to an MV88E1111 PHY with auto-selection between copper and SerDes
modes. Standard genphy polling is used to check the phy for a auto-selection
change and configure the switch port accordingly. For SerDes mode (SFP module)
we force a 1000mbps link up and auto-negotiate duplex. For copper mode we
auto-negotiate speed/link/duplex.

GPIO signals from the SFP module connector are used for presence detect, loss
of signal, and transmit enable and allow detection of SFP module insertion and
removal. Upon insertion we will read and validate the SFP MSA.

The GW16083 has a 24LC16BT I2C EEPROM at 0x52 as well as a PCA9543 I2C Mux at
0x70 on its i2c bus, which when used on a Ventana baseboard, is the 2nd i2c bus
(i2c2). The mux is used to steer the I2C bus to one or the other SFP module
connector for accessing SFP MSA at 0x50 and 0x51.

Basic sysfs support for GW16083 provides the following:
 - symlink /sys/kernel/gw16083 to device node
 - add ethernet1-ethernet6 nodes for get/set port enable
 - add ethernet5_mode and ethernet6_mode for get/set SFP/RJ45 mode
   (SFP|RJ45|auto)
 - add ethernet5_sfp and ethernet6_sfp to get SFP details

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
  • Loading branch information...
Gateworks committed May 10, 2014
1 parent 9bf1c63 commit 35a41e4125a65a63b1547801571fbfbe80b92bed
Showing with 1,081 additions and 0 deletions.
  1. +8 −0 drivers/net/phy/Kconfig
  2. +1 −0 drivers/net/phy/Makefile
  3. +949 −0 drivers/net/phy/gw16083.c
  4. +123 −0 drivers/net/phy/gw16083.h
View
@@ -205,6 +205,14 @@ config MDIO_BUS_MUX_MMIOREG
Currently, only 8-bit registers are supported.
config GATEWORKS_GW16083
tristate "Gateworks GW16083 Ethernet Expansion Mezzanine"
---help---
The Gateworks GW16083 Ethernet Expansion Mezzanine connects to a
Gateworks Ventana baseboard and provides a 7-port GbE managed
Ethernet switch with 4 dedicated GbE RJ45 ports, and 2 Gbe/SFP
ports"
endif # PHYLIB
config MICREL_KS8995MA
View
@@ -24,6 +24,7 @@ obj-$(CONFIG_NATIONAL_PHY) += national.o
obj-$(CONFIG_DP83640_PHY) += dp83640.o
obj-$(CONFIG_STE10XP) += ste10Xp.o
obj-$(CONFIG_MICREL_PHY) += micrel.o
obj-$(CONFIG_GATEWORKS_GW16083) += gw16083.o
obj-$(CONFIG_MDIO_OCTEON) += mdio-octeon.o
obj-$(CONFIG_MICREL_KS8995MA) += spi_ks8995.o
obj-$(CONFIG_AT803X_PHY) += at803x.o
Oops, something went wrong.

0 comments on commit 35a41e4

Please sign in to comment.