On Mon, Jun 24, 2024 at 01:01:44AM +0200, Benjamin Larsson wrote: > Hi, > > Code like this is making me wounder about the split between MAC > > driver, DSA driver and DSA tag driver. Or if it should actually be a > > pure switchdev driver? > > > > If there some open architecture documentation for this device? > > > > What are these ports about? > > > > > +static int airoha_dev_open(struct net_device *dev) > > > +{ > > > + struct airoha_eth *eth = netdev_priv(dev); > > > + int err; > > > + > > > + if (netdev_uses_dsa(dev)) > > > + airoha_fe_set(eth, REG_GDM1_INGRESS_CFG, GDM1_STAG_EN_MASK); > > > + else > > > + airoha_fe_clear(eth, REG_GDM1_INGRESS_CFG, GDM1_STAG_EN_MASK); > > Does that imply both instances of the GMAC are not connected to the > > switch? Can one be used with a PHY? > > > > Andrew > > https://mirror2.openwrt.org/docs/MT7981B_Wi-Fi6_Platform_Datasheet_Open_V1.0.pdf > > page 107 (text for 9.1.1 is relevant but not a complete match). In the > EN7581 case there is a 5 port switch in the place of GMAC1 (one switch port > is connected to GDM1). The typical DSA architecture is that the SoC MAC is connected to a switch MAC port. You say here, the switch is directly connected to the GGM1. So there is no GMAC involved? If there is no MAC, you don't need a MAC driver. It seems more likely there is a GMAC, and the SGMII interface, or something similar is connected to the switch? Andrew