^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) ==============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) LAN9303 Ethernet switch driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ==============================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) The LAN9303 is a three port 10/100 Mbps ethernet switch with integrated phys for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) the two external ethernet ports. The third port is an RMII/MII interface to a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) host master network interface (e.g. fixed link).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) Driver details
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) ==============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) The driver is implemented as a DSA driver, see ``Documentation/networking/dsa/dsa.rst``.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) See ``Documentation/devicetree/bindings/net/dsa/lan9303.txt`` for device tree
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) binding.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) The LAN9303 can be managed both via MDIO and I2C, both supported by this driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) At startup the driver configures the device to provide two separate network
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) interfaces (which is the default state of a DSA device). Due to HW limitations,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) no HW MAC learning takes place in this mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) When both user ports are joined to the same bridge, the normal HW MAC learning
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) is enabled. This means that unicast traffic is forwarded in HW. Broadcast and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) multicast is flooded in HW. STP is also supported in this mode. The driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) support fdb/mdb operations as well, meaning IGMP snooping is supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) If one of the user ports leave the bridge, the ports goes back to the initial
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) separated operation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) Driver limitations
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) ==================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) - Support for VLAN filtering is not implemented
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) - The HW does not support VLAN-specific fdb entries