mbox series

[v2,net-next,0/9] net: ethernet: mtk_eth_soc: add basic support for MT7988 SoC

Message ID cover.1689012506.git.daniel@makrotopia.org
Headers show
Series net: ethernet: mtk_eth_soc: add basic support for MT7988 SoC | expand

Message

Daniel Golle July 13, 2023, 2:16 a.m. UTC
The MediaTek MT7988 SoC introduces a new version (3) of the NETSYS
block and comes with three instead of two MACs.

The first MAC can be internally connected to a built-in Gigabit
Ethernet switch with four 1000M/100M/10M twisted pair user ports.

The second MAC can be internally connected to a built-in 2500Base-T
Ethernet PHY.

There are two SerDes units which can be operated in USXGMII, 10GBase-(K)R,
5GBase-R, 2500Base-X, 1000Base-X or SGMII interface mode.

This series adds initial support for NETSYS v3 and the first MAC of the
MT7988 SoC connecting the built-in DSA switch.

The switch is supported since commit 110c18bfed414 ("net: dsa: mt7530:
introduce driver for MT7988 built-in switch").

Basic support for the 1000M/100M/10M built-in PHYs connected to the
switch ports is present since commit ("98c485eaf509b net: phy: add
driver for MediaTek SoC built-in GE PHYs").

Changes since v1:
  * Set MTK_MAX_DEVS to 3 instead of converting to dynamic number of
    Ethernet MACs.
  * use mtk_m32 when ever possible
  * more small improvements and minor comments addressed

Daniel Golle (3):
  dt-bindings: net: mediatek,net: add missing mediatek,mt7621-eth
  dt-bindings: net: mediatek,net: add mt7988-eth binding
  net: ethernet: mtk_eth_soc: convert clock bitmap to u64

Lorenzo Bianconi (6):
  net: ethernet: mtk_eth_soc: add MTK_NETSYS_V1 capability bit
  net: ethernet: mtk_eth_soc: increase MAX_DEVS to 3
  net: ethernet: mtk_eth_soc: rely on MTK_MAX_DEVS and remove
    MTK_MAC_COUNT
  net: ethernet: mtk_eth_soc: add MTK_NETSYS_V3 capability bit
  net: ethernet: mtk_eth_soc: convert caps in mtk_soc_data struct to u64
  net: ethernet: mtk_eth_soc: add basic support for MT7988 SoC

 .../devicetree/bindings/net/mediatek,net.yaml | 138 ++++++-
 drivers/net/ethernet/mediatek/mtk_eth_path.c  |  36 +-
 drivers/net/ethernet/mediatek/mtk_eth_soc.c   | 380 ++++++++++++++----
 drivers/net/ethernet/mediatek/mtk_eth_soc.h   | 327 ++++++++++-----
 4 files changed, 678 insertions(+), 203 deletions(-)

Comments

Lorenzo Bianconi July 15, 2023, 4:11 p.m. UTC | #1
> on thu, jul 13, 2023 at 03:19:49am +0100, daniel golle wrote:
> > +
> > +		if (mtk_has_caps(eth->soc->caps, mtk_netsys_v3)) {
> 
> this is a case in point for one of my previous comments...
> 
> this code started out believing that testing for mtk_netsys_v2 for v2
> features would be sufficient. your first patch ended up having to
> change that to !v1. how long until this becomes !v1 && !v2 because
> it gets used on v3 and v4 etc?
> 
> this is why i think an integer version field would be a much saner
> approach.

ack, I will fix it.

Regards,
Lorenzo

> 
> -- 
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
>