xref: /OK3568_Linux_fs/kernel/Documentation/networking/dsa/lan9303.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun==============================
2*4882a593SmuzhiyunLAN9303 Ethernet switch driver
3*4882a593Smuzhiyun==============================
4*4882a593Smuzhiyun
5*4882a593SmuzhiyunThe LAN9303 is a three port 10/100 Mbps ethernet switch with integrated phys for
6*4882a593Smuzhiyunthe two external ethernet ports. The third port is an RMII/MII interface to a
7*4882a593Smuzhiyunhost master network interface (e.g. fixed link).
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunDriver details
11*4882a593Smuzhiyun==============
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunThe driver is implemented as a DSA driver, see ``Documentation/networking/dsa/dsa.rst``.
14*4882a593Smuzhiyun
15*4882a593SmuzhiyunSee ``Documentation/devicetree/bindings/net/dsa/lan9303.txt`` for device tree
16*4882a593Smuzhiyunbinding.
17*4882a593Smuzhiyun
18*4882a593SmuzhiyunThe LAN9303 can be managed both via MDIO and I2C, both supported by this driver.
19*4882a593Smuzhiyun
20*4882a593SmuzhiyunAt startup the driver configures the device to provide two separate network
21*4882a593Smuzhiyuninterfaces (which is the default state of a DSA device). Due to HW limitations,
22*4882a593Smuzhiyunno HW MAC learning takes place in this mode.
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunWhen both user ports are joined to the same bridge, the normal HW MAC learning
25*4882a593Smuzhiyunis enabled. This means that unicast traffic is forwarded in HW. Broadcast and
26*4882a593Smuzhiyunmulticast is flooded in HW. STP is also supported in this mode. The driver
27*4882a593Smuzhiyunsupport fdb/mdb operations as well, meaning IGMP snooping is supported.
28*4882a593Smuzhiyun
29*4882a593SmuzhiyunIf one of the user ports leave the bridge, the ports goes back to the initial
30*4882a593Smuzhiyunseparated operation.
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun
33*4882a593SmuzhiyunDriver limitations
34*4882a593Smuzhiyun==================
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun - Support for VLAN filtering is not implemented
37*4882a593Smuzhiyun - The HW does not support VLAN-specific fdb entries
38