MGE(4) FreeBSD Kernel Interfaces Manual MGE(4)


mgeMarvell Gigabit Ethernet device driver


To compile this driver into the kernel, place the following lines in your kernel configuration file:

device mge
device miibus


The mge driver provides support for gigabit Ethernet controller integrated in Marvell system-on-chip devices.

The mge driver supports the following media types:

Enable autoselection of the media type and options
Set 10Mbps operation
Set 100Mbps operation
Set 1000baseT operation

The mge driver supports the following media options:

Set full duplex operation

The mge driver supports polled operation when the system is configured with DEVICE_POLLING kernel option, see polling(4) for more details.

The mge driver supports reception and transmission of extended frames for vlan(4). This capability of mge can be controlled by means of the vlanmtu parameter to ifconfig(8).

The mge driver supports interrupts coalescing (IC) so that raising a transmit/receive frame interrupt is delayed, if possible, until a threshold-defined period of time has elapsed. The following sysctls regulate this behaviour (separately for each path):


Value of 0 disables IC on the given path, value greater than zero corresponds to a real time period and is expressed in units equivalent to 64 ticks of the MGE clock. Maximum allowed value depends on MGE hardware revision. User provided values larger than supported will be trimmed to the maximum supported. More details are available in the reference manual of the device.


Gigabit Ethernet controllers built into the following Marvell systems-on-chip are known to work with the mge driver:

  • Orion 88F5182
  • Orion 88F5281
  • Kirkwood 88F6281 (MGE V2)
  • Discovery MV78100 (MGE V2)

There are also Marvell system controllers for PowerPC processors, which include a variation of this gigabit Ethernet module integrated on chip, and they should also work with the mge driver, but this wasn't tested:

  • MV64430
  • MV64460, MV64461, MV64462


The mge device driver first appeared in FreeBSD 8.0.


The base version of mge device driver was written by Grzegorz Bernacki. It has been extended with advanced features (polling, interrupt coalescing, multicast, h/w checksum calculation etc.) by Piotr Ziecik. This manual page was written by Rafal Jaworowski.
November 27, 2008 FreeBSD