From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 21788CA1016 for ; Mon, 8 Sep 2025 23:52:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=KU2GY6Pci0oJMqN3MEUWgbL+2slwPbPQ35L8dKojbEc=; b=LNK5ZdhbbeL6vYsY11th/ZN+TH 9fWMpsnDXsFelYLsVjrCGnVolF6SEUrK/aJtPlD+Ejhx+s+k04vLhypvoFxt8F8bUbAvq2dlpoVv1 qGUoH0PUbKUHiQ9TnWDnMHQV73mWN8V1ES6cJY/l2faRYGUUX1aj5yqP6F1IDQLvSZ9Yj/TyZTUK9 1d7jAg1GaQUZIyRKE+kvf7nmfa/A7Bf+2bNMvmJybhd/Nf0R5Y3wojeh84VDlUtj+oyGiwl7QR21W TthQZIeUTSvtUDGsV1RviGU5/IYVUoXarg5eg7PTzBIXDTSIo2eQk9wozOz9blP3QJ7JwA2cJDeOP RQEIHNig==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uvlfC-000000033vt-16lX; Mon, 08 Sep 2025 23:52:46 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uvgKe-00000001RHA-336O for linux-arm-kernel@lists.infradead.org; Mon, 08 Sep 2025 18:11:15 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id E4EFF448E6; Mon, 8 Sep 2025 18:11:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9DA35C4CEF5; Mon, 8 Sep 2025 18:11:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1757355071; bh=MAMdQhbmM82flEwTwLg9BOOP2ELCiw2qUxgNoGhVtSA=; h=From:To:Cc:Subject:Date:From; b=PjUiOm2a1XukIdafrFe8/83EYwLJWZdlIs73VBcipHOWXSozvMNlw1gz9+1rQfr5k /t67zoD8RzOsllRan6aspkPUBHxOsXzodL4EtUlasksO0TIVhnmTZlys3Lhs1C8CrE Xv2ltmFBWWQ+gZPXMLsjgF5KzmYmmfgV/bC7elwPvAYo2n3ITzj293rdLaaZZqMZ+6 6E+RGATr95MivN+9BnMgKWjM4BoiRA8go1e2bSP2lg347TIZfa7ZhczLQm2bPUbpat qV3HxY1mF6rgNIaZwrej7I0z8xp3Hv6jGEFoFF9valVslGjJI3tBoO/mWPV2elJ3GS ZiLt7Qo/dtB4g== Received: by wens.tw (Postfix, from userid 1000) id DCCB55FE60; Tue, 09 Sep 2025 02:11:08 +0800 (CST) From: Chen-Yu Tsai To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Andre Przywara Subject: [PATCH net-next v4 00/10] net: stmmac: Add support for Allwinner A523 GMAC200 Date: Tue, 9 Sep 2025 02:10:49 +0800 Message-Id: <20250908181059.1785605-1-wens@kernel.org> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250908_111112_817231_3D222403 X-CRM114-Status: GOOD ( 22.59 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Chen-Yu Tsai Hi everyone, This is v4 of my Allwinner A523 GMAC200 support series. Changes since v3: - driver - Fixed printf format specifier warning - Link to v3 https://lore.kernel.org/all/20250906041333.642483-1-wens@kernel.org/ Changes since v2: - DT binding - Added "select" to avoid matching against all dwmac entries - driver - Include "ps" unit in "... must be multiple of ..." error message - Use FIELD_FIT to check if delay value is in range and FIELD_MAX to get the maximum value - Reword error message for delay value exceeding maximum - Drop MASK_TO_VAL - Link to v2: https://lore.kernel.org/all/20250813145540.2577789-1-wens@kernel.org/ Changes since v1: - Dropped RFT tag - Switched to generic (tx|rx)-internal-delay-ps - dwmac-sun55i driver bits - Changed dev_err() + return to dev_err_probe() - Added check of return value from syscon regmap write - Changed driver name to match file name - sram driver bits - Fixed check on return value - Expanded commit message - dtsi - Fixed typo in tx-queues-config - cubie a5e - Add PHY regulator delay - Link to v1: https://lore.kernel.org/all/20250701165756.258356-1-wens@kernel.org/ This series adds support for the second Ethernet controller found on the Allwinner A523 SoC family. This controller, dubbed GMAC200, is a DWMAC4 core with an integration layer around it. The integration layer is similar to older Allwinner generations, but with an extra memory bus gate and separate power domain. Patch 1 adds a new compatible string combo to the existing Allwinner EMAC binding. Patch 2 adds a new driver for this core and integration combo. Patch 3 extends the sunxi SRAM driver to allow access to the clock delay controls for the second Ethernet controller. Patch 4 registers the special regmap for the clock delay controls as a syscon. This allows the new network driver to use the syscon interface, instead of the following dance which the existing dwmac-sun8i driver does: of_parse_phandle(); of_find_device_by_node(); dev_get_regmap(); With this change in place we can also drop the above from the dwmac-sun8i driver. Patch 5 adds a device node and pinmux settings for the GMAC200. Patches 6 and 8 add missing Ethernet PHY reset settings for the already enabled controller. Patches 7, 9, and 10 enable the GMAC200 on three boards. I only have the Orangepi 4A, so I am asking for people to help test the two other boards. The RX/TX clock delay settings were taken from their respective BSPs, though those numbers don't always work, as is was the case for the Orangepi 4A. Please have a look and help test on the Avaota A1. I don't expect any issues there though, since the PHY is always on, unlike on the Cubie A5E. Patches 1 and 2 should go through net-next, and I will take all the other patches through the sunxi tree. Thanks ChenYu Chen-Yu Tsai (10): dt-bindings: net: sun8i-emac: Add A523 GMAC200 compatible net: stmmac: Add support for Allwinner A523 GMAC200 soc: sunxi: sram: add entry for a523 soc: sunxi: sram: register regmap as syscon arm64: dts: allwinner: a523: Add GMAC200 ethernet controller arm64: dts: allwinner: a527: cubie-a5e: Add ethernet PHY reset setting arm64: dts: allwinner: a527: cubie-a5e: Enable second Ethernet port arm64: dts: allwinner: t527: avaota-a1: Add ethernet PHY reset setting arm64: dts: allwinner: t527: avaota-a1: enable second Ethernet port arm64: dts: allwinner: t527: orangepi-4a: Enable Ethernet port .../net/allwinner,sun8i-a83t-emac.yaml | 96 ++++++++++- .../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 55 ++++++ .../dts/allwinner/sun55i-a527-cubie-a5e.dts | 31 +++- .../dts/allwinner/sun55i-t527-avaota-a1.dts | 29 +++- .../dts/allwinner/sun55i-t527-orangepi-4a.dts | 23 +++ drivers/net/ethernet/stmicro/stmmac/Kconfig | 12 ++ drivers/net/ethernet/stmicro/stmmac/Makefile | 1 + .../ethernet/stmicro/stmmac/dwmac-sun55i.c | 159 ++++++++++++++++++ drivers/soc/sunxi/sunxi_sram.c | 14 ++ 9 files changed, 414 insertions(+), 6 deletions(-) create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-sun55i.c -- 2.39.5