mbox series

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

Message ID cover.1690246066.git.daniel@makrotopia.org (mailing list archive)
Headers show
Series net: ethernet: mtk_eth_soc: add basic support for MT7988 SoC | expand

Message

Daniel Golle July 25, 2023, 12:51 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 v5:
  * Rebase again on current net-next tree

Changes since v4:
  * Rebase on current net-next tree

Changes since v3:
  * Set 'mediatek,infracfg = false;' in dt-bindings for those chips
    which do not require infracfg phandle.

Changes since v2:
  * Use version number instead of feature bits for NETSYS version
  * Remove unneeded check for NULL when calling mtk_pcs_lynxi_destroy
  * Reduce dt-bindings to what is actually needed at this point for
    the driver to work.

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 (5):
  net: ethernet: mtk_eth_soc: add version in mtk_soc_data
  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 NETSYS_V3 version support
  net: ethernet: mtk_eth_soc: convert caps in mtk_soc_data struct to u64

 .../devicetree/bindings/net/mediatek,net.yaml | 109 +++++++-
 drivers/net/ethernet/mediatek/mtk_eth_path.c  |  22 +-
 drivers/net/ethernet/mediatek/mtk_eth_soc.c   | 205 +++++++++------
 drivers/net/ethernet/mediatek/mtk_eth_soc.h   | 241 ++++++++++--------
 drivers/net/ethernet/mediatek/mtk_ppe.c       |  18 +-
 .../net/ethernet/mediatek/mtk_ppe_offload.c   |   2 +-
 drivers/net/ethernet/mediatek/mtk_wed.c       |   4 +-
 7 files changed, 399 insertions(+), 202 deletions(-)

Comments

Jakub Kicinski July 27, 2023, 5:07 a.m. UTC | #1
On Tue, 25 Jul 2023 01:51:00 +0100 Daniel Golle wrote:
> 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").

This was dangerously close to Russell's recent work.
Do double check that I haven't fumbled applying it..
patchwork-bot+netdevbpf@kernel.org July 27, 2023, 5:10 a.m. UTC | #2
Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Tue, 25 Jul 2023 01:51:00 +0100 you wrote:
> 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.
> 
> [...]

Here is the summary with links:
  - [net-next,v6,1/8] dt-bindings: net: mediatek,net: add missing mediatek,mt7621-eth
    https://git.kernel.org/netdev/net-next/c/1cbf487d7d3a
  - [net-next,v6,2/8] dt-bindings: net: mediatek,net: add mt7988-eth binding
    https://git.kernel.org/netdev/net-next/c/c94a9aabec36
  - [net-next,v6,3/8] net: ethernet: mtk_eth_soc: add version in mtk_soc_data
    https://git.kernel.org/netdev/net-next/c/a008e2a84e6b
  - [net-next,v6,4/8] net: ethernet: mtk_eth_soc: increase MAX_DEVS to 3
    https://git.kernel.org/netdev/net-next/c/6ca265571b9e
  - [net-next,v6,5/8] net: ethernet: mtk_eth_soc: rely on MTK_MAX_DEVS and remove MTK_MAC_COUNT
    https://git.kernel.org/netdev/net-next/c/e05fd6274ee6
  - [net-next,v6,6/8] net: ethernet: mtk_eth_soc: add NETSYS_V3 version support
    https://git.kernel.org/netdev/net-next/c/1953f134a1a8
  - [net-next,v6,7/8] net: ethernet: mtk_eth_soc: convert caps in mtk_soc_data struct to u64
    https://git.kernel.org/netdev/net-next/c/51a4df60db5c
  - [net-next,v6,8/8] net: ethernet: mtk_eth_soc: convert clock bitmap to u64
    https://git.kernel.org/netdev/net-next/c/c75e416ccfd2
  - [v6,net-next,9/9] net: ethernet: mtk_eth_soc: add basic support for MT7988 SoC
    (no matching commit)

You are awesome, thank you!
Simon Horman July 27, 2023, 12:43 p.m. UTC | #3
On Thu, Jul 27, 2023 at 05:10:23AM +0000, patchwork-bot+netdevbpf@kernel.org wrote:
> Hello:
> 
> This series was applied to netdev/net-next.git (main)
> by Jakub Kicinski <kuba@kernel.org>:
> 
> On Tue, 25 Jul 2023 01:51:00 +0100 you wrote:
> > 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.
> > 
> > [...]
> 
> Here is the summary with links:
>   - [net-next,v6,1/8] dt-bindings: net: mediatek,net: add missing mediatek,mt7621-eth
>     https://git.kernel.org/netdev/net-next/c/1cbf487d7d3a
>   - [net-next,v6,2/8] dt-bindings: net: mediatek,net: add mt7988-eth binding
>     https://git.kernel.org/netdev/net-next/c/c94a9aabec36
>   - [net-next,v6,3/8] net: ethernet: mtk_eth_soc: add version in mtk_soc_data
>     https://git.kernel.org/netdev/net-next/c/a008e2a84e6b
>   - [net-next,v6,4/8] net: ethernet: mtk_eth_soc: increase MAX_DEVS to 3
>     https://git.kernel.org/netdev/net-next/c/6ca265571b9e
>   - [net-next,v6,5/8] net: ethernet: mtk_eth_soc: rely on MTK_MAX_DEVS and remove MTK_MAC_COUNT
>     https://git.kernel.org/netdev/net-next/c/e05fd6274ee6
>   - [net-next,v6,6/8] net: ethernet: mtk_eth_soc: add NETSYS_V3 version support
>     https://git.kernel.org/netdev/net-next/c/1953f134a1a8
>   - [net-next,v6,7/8] net: ethernet: mtk_eth_soc: convert caps in mtk_soc_data struct to u64
>     https://git.kernel.org/netdev/net-next/c/51a4df60db5c
>   - [net-next,v6,8/8] net: ethernet: mtk_eth_soc: convert clock bitmap to u64
>     https://git.kernel.org/netdev/net-next/c/c75e416ccfd2
>   - [v6,net-next,9/9] net: ethernet: mtk_eth_soc: add basic support for MT7988 SoC
>     (no matching commit)

This last one seems to be:
	https://git.kernel.org/netdev/net-next/c/445eb6448ed3

> You are awesome, thank you!
> -- 
> Deet-doot-dot, I am a bot.
> https://korg.docs.kernel.org/patchwork/pwbot.html
> 
> 
>