TSEC(4) FreeBSD Kernel Interfaces Manual TSEC(4)


tsecFreescale Three-Speed Ethernet Controller device driver


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

device tsec
device miibus


The tsec driver provides support for the gigabit Ethernet controller integrated in some of the Freescale system-on-chip devices.

The tsec driver supports the following media types:

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

The tsec driver supports the following media options:

Set full duplex operation

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

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

The tsec 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, or a threshold-defined frame counter has been reached (whichever occurs first). The following sysctls regulate this behaviour:


Value of 0 for either time or count disables IC on the given path. Time value 1-65535 corresponds to a real time period and is expressed in units equivalent to 64 ticks of the TSEC clock. Count 1-255 represents the number of frames (note that value of 1 is equivalent to IC disabled). 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 Freescale system-on-chip devices are known to work with the tsec driver:

  • MPC8349
  • MPC8533, MPC8541, MPC8555

The enhanced version of the controller (eTSEC), integrated in the following devices, is also supported by this driver:

  • MPC8548, MPC8572


The tsec device driver first appeared in FreeBSD 8.0.


The base version of tsec device driver was written by Piotr Kruszynski. It has been extended with polling and interrupt coalescing support by Rafal Jaworowski. It has been further enhanced with multicast, h/w checksum calculation and vlan support by Piotr Ziecik. This manual page was written by Rafal Jaworowski.
April 22, 2009 FreeBSD