From patchwork Sun Jul 23 21:57:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Golle X-Patchwork-Id: 13323357 Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3D6344C7F for ; Sun, 23 Jul 2023 21:57:43 +0000 (UTC) Received: from pidgin.makrotopia.org (pidgin.makrotopia.org [185.142.180.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DF7B094; Sun, 23 Jul 2023 14:57:41 -0700 (PDT) Received: from local by pidgin.makrotopia.org with esmtpsa (TLS1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.96) (envelope-from ) id 1qNh4p-0005PG-2t; Sun, 23 Jul 2023 21:57:19 +0000 Date: Sun, 23 Jul 2023 22:57:08 +0100 From: Daniel Golle To: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Felix Fietkau , John Crispin , Sean Wang , Mark Lee , Lorenzo Bianconi , Matthias Brugger , AngeloGioacchino Del Regno , Russell King , =?iso-8859-1?q?Bj=F8rn?= Mork , Greg Ungerer , Florian Fainelli , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: [PATCH net-next v5 0/9] net: ethernet: mtk_eth_soc: add basic support for MT7988 SoC Message-ID: Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Patchwork-Delegate: kuba@kernel.org 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"). The series should not conflict with Russell's recently submitted series "Remove legacy phylink behaviour", hence the order of them being picked into net-next doesn't matter. 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. 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 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 net: ethernet: mtk_eth_soc: add basic support for MT7988 SoC .../devicetree/bindings/net/mediatek,net.yaml | 109 ++++- drivers/net/ethernet/mediatek/mtk_eth_path.c | 36 +- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 398 ++++++++++++++---- drivers/net/ethernet/mediatek/mtk_eth_soc.h | 327 +++++++++----- 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, 668 insertions(+), 226 deletions(-)