LAN9303 Ethernet switch driver

The LAN9303 is a three port 10/100 Mbps ethernet switch with integrated phys forthe two external ethernet ports. The third port is an RMII/MII interface to ahost master network interface (e.g. fixed link).

Driver details

The driver is implemented as a DSA driver, seeDocumentation/networking/dsa/dsa.rst.

SeeDocumentation/devicetree/bindings/net/dsa/lan9303.txt for device treebinding.

The LAN9303 can be managed both via MDIO and I2C, both supported by this driver.

At startup the driver configures the device to provide two separate networkinterfaces (which is the default state of a DSA device). Due to HW limitations,no HW MAC learning takes place in this mode.

When both user ports are joined to the same bridge, the normal HW MAC learningis enabled. This means that unicast traffic is forwarded in HW. Broadcast andmulticast is flooded in HW. STP is also supported in this mode. The driversupport fdb/mdb operations as well, meaning IGMP snooping is supported.

If one of the user ports leave the bridge, the ports goes back to the initialseparated operation.

Driver limitations

  • Support for VLAN filtering is not implemented
  • The HW does not support VLAN-specific fdb entries