From patchwork Sun Sep 27 18:52:19 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Hilliard X-Patchwork-Id: 3512 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10]) by mxe881.netcup.net (Postfix) with ESMTPS id 675C51C1EBF for ; Sun, 27 Sep 2026 20:53:21 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 172.234.253.10) smtp.mailfrom=linux-sunxi+bounces-26345-noreply=patchwork.local@lists.linux.dev smtp.helo=sea.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.234.253.10 as permitted sender) client-ip=172.234.253.10; envelope-from=linux-sunxi+bounces-26345-noreply=patchwork.local@lists.linux.dev; helo=sea.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by sea.lore.kernel.org (Postfix) with ESMTP id 2560B2B174 for ; Sun, 27 Sep 2026 18:52:35 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 070CC432316; Sun, 27 Sep 2026 18:52:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hCFI4/PP" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-oo2-f43.google.com (mail-oo2-f43.google.com [74.125.231.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 28FFC439327 for ; Sun, 27 Sep 2026 18:52:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.231.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790535154; cv=none; b=Jy2e5Kid2FTOEihMmzme4EAu7LnT6oHCwaXPGavC4xWY3KJb9HBFbo8yfFLkVUd3UmOOMZHFAA6JaaOvSvmYdPufUCDE1QUnbsBe93uBlw1R7UMFQzuJC+mRFN44fHICtfEN4CNSuUCNlgBtohQEnZrM2L2xefucFyZBOlVa/8A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790535154; c=relaxed/simple; bh=psnWFMW3NPVNytYJTkQa/ZphUpHOQe34G4oYriA8Hk0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=J66wNoFYCtt406wyf1ilR8hV2eo+6saoW1Fpmr0/VL0sGNdLEdjy+jxIkd95a1s2M2VH52MOSIr2PFk9ab/aKSOT8EdSbLkE4hlF4rHgHKxWIiCyhcSk2Ua0sLs7tSHI2a8O+mSuBcW8v9DEE+8NeoBdoCXJUUlVAE8F4y5sn6o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hCFI4/PP; arc=none smtp.client-ip=74.125.231.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-oo2-f43.google.com with SMTP id 006d021491bc7-6d7e33da780so475198eaf.3 for ; Sun, 27 Sep 2026 11:52:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790535152; x=1791139952; darn=lists.linux.dev; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=DLWTLjVNNOaJBBp+6jLPkB34blfAphSZQL2nUEax2lA=; b=hCFI4/PP/I8+Pjuhph5Qb/YPTMW7JLaruGftSminAHhJeM79Se8FSuOJNjireWOd6k ZSlo4zaR8ryG5OgLgO8VQhWroxHnP8jQLWPa15N4A/bXREgWfcGa29tqN46PrzSSs2Jp nUumMAmK9dAeoHagZcdXWaEgOoVt99QtEsNzms9NTrhZI/tM3Uq8wFeOgJeO3zi9sMQa 4K8u+zVJUvsc6IOIrsjgWAb30tb2GSpQuClCneJBWEv1vyHCYalBfOKhpM8D3e0uVr2U ja47VwIJMjxJihTyoP+PaM5iXuRhUKmfFMt8ivrEO+sffy7+0iWshFRYygjHLelcA9rX bRkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790535152; x=1791139952; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=DLWTLjVNNOaJBBp+6jLPkB34blfAphSZQL2nUEax2lA=; b=dHHIP31ILdVOjPKzDrpPTyx2AIEpEHjUKB2Ar1FdD6tLvzbd7VNHmuRUbWH5RYJDJO ZYAOvTcT3feRi7XuFrynhMEAGbAda4ZwGE1oOpT44H65/MnfDEJzx68pJ3eY6vP7Hp8d OVCqwtjgSE9ACEp5ZQb8iGYtLKBxG3nsBGE2hY2pfgXURiuWaUM+OrMvAuTQFrwPFQE5 IbwbQUOZ7Otf8AHFuoLk2p4TpheImEtEiec9d8raZ+tyv786VzTCraFJoh5+k5CZivBJ /JShWu31fhETK0ZhuVf0Cd1sCBiyeHZJFPZqnE4bvub++3N7OqyL+hVDz6RVqHZLiMLc q2Zw== X-Forwarded-Encrypted: i=1; AKwUvByZgl7akySJCUZ3hLi4+SohX6vyx5kD/1HW8Q0KJ1YlvFHqTmmMmy7rmRyDg2YfsLRuIDc2XpW6Tuzjng==@lists.linux.dev X-Gm-Message-State: AFuF++nhvj2NbIF7OoHcDJo0VASP5oG5OgKytoRvDYftxt5UTWaf3rBI 0vQEe1mGX1jL/Dp4f+K5klR6TBhCjcDIBWdmzuTJFRaQQtqsotE0S83E X-Gm-Gg: AYBFou2vFloRP2K3ErPgnqTM2Rsq/j2+HLQjDUHCs7pE0jIr6Ew70ch/aNxpIBdtrnw s9qK4b/Opdc+n4c+3eb5/xJK0//U1we9m9ZdJYAnJT8UWLIXEkw4thjffO7y2oEUbvSUtB1qIoM XexfemfMLK73U7a80pCTfQ6YlEBLF7eLoQIPs2IazoLh8YNnnx1tjYkdtv3TvdQyc9alE8jTzOr XXMFU4xAxjmCVqtumAMBpBmOBbWHjrJqst5uq/UhsWE3XBg4ThokXKxoAaZHfRAs/DQaHtOl8RG k/MTjRY1D+oCZqqWPzajFhittIqTRvef2d3E/S3zykKCsqhxHt8mZxUEMtsongMQred1VreY1ud b0PgKqBnbYjRLgSF5WTlCoIgbSS/P7eEvaVMrm7tI3b87dgGReYCEmkSdidea/RVXLjuDSEj2F3 +EsGxuPUved6CgJrayPVeCYuuQf20Kgndx676nHrIyVINLyDcNPr8XRt5nTNU9v3XTWNjCViChc mRNoPjBT5x37kQ7Rtu5oBwbLxOOCh4GFpsxDIyk2qVMOsvj1lRYjfHTVUEI20blckOAtx9c9/gZ UhUrr1DNWbMN/fEyb4TTX7Fk5cLvZVY8SYZN5BYQfvpQ1KkJ4ioTipjNmWCzZSJUV313BRKB2E6 Fi4x6eJZ0zfrLqS4Mky8W X-Received: by 2002:a05:6820:4c82:b0:6b7:46fa:169a with SMTP id 006d021491bc7-6d43ff69796mr10523773eaf.47.1790535152003; Sun, 27 Sep 2026 11:52:32 -0700 (PDT) Received: from [127.0.1.1] (174-29-1-49.hlrn.qwest.net. [174.29.1.49]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-494877590e5sm4489452fac.13.2026.09.27.11.52.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Sep 2026 11:52:29 -0700 (PDT) From: James Hilliard Date: Sun, 27 Sep 2026 12:52:19 -0600 Subject: [PATCH net-next v6 1/3] net: stmmac: sun8i: reset the MAC after PHY initialization Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20260927-submit-h616-emac1-v1-v6-1-e64971f4e414@gmail.com> References: <20260927-submit-h616-emac1-v1-v6-0-e64971f4e414@gmail.com> In-Reply-To: <20260927-submit-h616-emac1-v1-v6-0-e64971f4e414@gmail.com> To: Richard Genoud , Maxime Chevallier , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Maxime Coquelin , Alexandre Torgue , LABBE Corentin , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Giuseppe Cavallaro , Jose Abreu Cc: Alastair D'Silva , Maxime Ripard , James Hilliard , netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-stm32@st-md-mailman.stormreply.com, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org X-Mailer: b4 0.15.2 X-MORS-Enabled: yes X-MORS-DOMAIN: patchwork.local X-MORS-HOSTING: hosting172546 X-MORS-USER: hosting172546 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= The MAC software reset needs a running receive clock from the PHY. Resetting the MAC at the end of probe therefore fails when the PHY driver has not been loaded or its probe has deferred on a missing supplier. The failure removes the MAC and its MDIO bus, so loading the missing driver later cannot recover the interface without reprobing the MAC. Perform the software reset in the DMA reset callback instead. The stmmac core calls it during hardware setup after attaching and initializing the PHY, and resumes a suspended PHY before reopening or resuming the MAC. Mask interrupts before requesting the reset and retain the existing DMA and interrupt-register clearing even if the reset times out. Return reset errors through the normal hardware-setup error path. Remove the unconditional reset from probe. Keep the separate H3 MDIO-mux reset after switching the mux and powering the selected PHY, since it is needed to latch the selected interface before MDIO accesses. Fixes: 9f93ac8d4085 ("net-next: stmmac: Add dwmac-sun8i") Tested-by: Maxime Chevallier Reviewed-by: Maxime Chevallier Signed-off-by: James Hilliard --- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 53 +++++++++++------------ 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c index 38d7e71de925..5691da796454 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c @@ -269,11 +269,33 @@ static const struct emac_variant emac_variant_h6 = { #define SYSCON_ETCS_EXT_GMII 0x1 #define SYSCON_ETCS_INT_GMII 0x2 +static int sun8i_dwmac_reset(void __iomem *ioaddr) +{ + u32 v; + + v = readl(ioaddr + EMAC_BASIC_CTL1); + writel(v | 0x01, ioaddr + EMAC_BASIC_CTL1); + + /* The timeout was previously set to 10ms, but some board (OrangePI0) + * need more if no cable plugged. 100ms seems OK + */ + return readl_poll_timeout(ioaddr + EMAC_BASIC_CTL1, v, + !(v & 0x01), 100, 100000); +} + /* sun8i_dwmac_dma_reset() - reset the EMAC * Called from stmmac via stmmac_dma_ops->reset */ static int sun8i_dwmac_dma_reset(void __iomem *ioaddr) { + int ret; + + writel(0, ioaddr + EMAC_INT_EN); + + /* The PHY receive clock must be running for the reset to complete. */ + ret = sun8i_dwmac_reset(ioaddr); + + /* Leave DMA and interrupts disabled even if the reset timed out. */ writel(0, ioaddr + EMAC_RX_CTL1); writel(0, ioaddr + EMAC_TX_CTL1); writel(0, ioaddr + EMAC_RX_FRM_FLT); @@ -281,7 +303,7 @@ static int sun8i_dwmac_dma_reset(void __iomem *ioaddr) writel(0, ioaddr + EMAC_TX_DESC_LIST); writel(0, ioaddr + EMAC_INT_EN); writel(0x1FFFFFF, ioaddr + EMAC_INT_STA); - return 0; + return ret; } /* sun8i_dwmac_dma_init() - initialize the EMAC @@ -738,27 +760,6 @@ static void sun8i_dwmac_flow_ctrl(struct mac_device_info *hw, writel(v, ioaddr + EMAC_TX_FLOW_CTL); } -static int sun8i_dwmac_reset(struct stmmac_priv *priv) -{ - u32 v; - int err; - - v = readl(priv->ioaddr + EMAC_BASIC_CTL1); - writel(v | 0x01, priv->ioaddr + EMAC_BASIC_CTL1); - - /* The timeout was previously set to 10ms, but some board (OrangePI0) - * need more if no cable plugged. 100ms seems OK - */ - err = readl_poll_timeout(priv->ioaddr + EMAC_BASIC_CTL1, v, - !(v & 0x01), 100, 100000); - - if (err) { - dev_err(priv->device, "EMAC reset timeout\n"); - return err; - } - return 0; -} - /* Search in mdio-mux node for internal PHY node and get its clk/reset */ static int get_ephy_nodes(struct stmmac_priv *priv) { @@ -899,7 +900,9 @@ static int mdio_mux_syscon_switch_fn(int current_child, int desired_child, /* After changing syscon value, the MAC need reset or it will * use the last value (and so the last PHY set). */ - ret = sun8i_dwmac_reset(priv); + ret = sun8i_dwmac_reset(priv->ioaddr); + if (ret) + dev_err(priv->device, "EMAC reset timeout\n"); } return ret; } @@ -1221,10 +1224,6 @@ static int sun8i_dwmac_probe(struct platform_device *pdev) dev_err(&pdev->dev, "Failed to register mux\n"); goto dwmac_mux; } - } else { - ret = sun8i_dwmac_reset(priv); - if (ret) - goto dwmac_remove; } pm_runtime_put(&pdev->dev); From patchwork Sun Sep 27 18:52:20 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Hilliard X-Patchwork-Id: 3511 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from sto.lore.kernel.org (sto.lore.kernel.org [172.232.135.74]) by mxe881.netcup.net (Postfix) with ESMTPS id 8C4D51C1EBF for ; Sun, 27 Sep 2026 20:52:46 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 172.232.135.74) smtp.mailfrom=linux-sunxi+bounces-26346-noreply=patchwork.local@lists.linux.dev smtp.helo=sto.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.232.135.74 as permitted sender) client-ip=172.232.135.74; envelope-from=linux-sunxi+bounces-26346-noreply=patchwork.local@lists.linux.dev; helo=sto.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by sto.lore.kernel.org (Postfix) with ESMTP id 261D1604718 for ; Sun, 27 Sep 2026 18:52:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B600943B3CE; Sun, 27 Sep 2026 18:52:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="d9m9V5Bc" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-oa2-f34.google.com (mail-oa2-f34.google.com [74.125.231.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 327723B14C3 for ; Sun, 27 Sep 2026 18:52:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.231.98 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790535161; cv=none; b=XbvesQrxazDBqBVPPZrLaRI7Fywk/MrSTr4u2JlvIjxFZC16GT/zvy7zhBKW8wQUG2pJGoFIBkpBlOnBgLksfpuuF1IqWheXvZONYRdWw2sFMXO7lgmqHbALlt34FG7PgYrBUy3vUOgjOjeFjV/XmK3ZIP1jX/0uct36FoTYMlU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790535161; c=relaxed/simple; bh=HeUIDZzk449KX7gatFI/4s8CJnL+sVcLapPU5ie+Nfo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=O28DG17l3dy7aWP80VDb1mibtr2KbLTFL9C8nkeJSgau8n9IO76JGTb6du0g2UKsi6qKPoeiTjJHlOTTVKc41NOBmYaJtmMlifWP53Q7exhAKcn9YcUceTicbYwwA0olCRwauMPvnc7T/rgwwE+Szkpk0N6FBPOK98jUeiunRpo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=d9m9V5Bc; arc=none smtp.client-ip=74.125.231.98 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-oa2-f34.google.com with SMTP id 586e51a60fabf-466ccde2ad9so1693393fac.1 for ; Sun, 27 Sep 2026 11:52:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790535159; x=1791139959; darn=lists.linux.dev; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=NbHMYUvXV7KivNO4nzT7c/gFlgP0cqBHWzvGETsZmKc=; b=d9m9V5Bc+AQ2i716iBMGAJjUB3hNBKgIeC1jAYkRDqRSh/WGNO+4HjXW89BFm/lwv4 7naYRhp7lC16TNCWkEOj7F+RTaie5Ud40JIAaV6iHEpUoBH6fSP4biMJ0YWC+mwdCGX0 UEUxD2V8U3ZDWEign1QOAuUiMcnddX2wh2rHV4gTyV5w4anh94VuCcFYmgq8MIBmOrt0 TTG726Lutl+Yrk2uPRAESQi1vnJFA+AALmADgNkWC5QxGulXmHQ3iRsgPyJsX+5JATfM vnKm/P7fKWc+/kwlb/TfPOG8FmQg6VsFIdusQ1uCG6xxDL2gK2CBqARrDODyfwIFeG6v Tfpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790535159; x=1791139959; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=NbHMYUvXV7KivNO4nzT7c/gFlgP0cqBHWzvGETsZmKc=; b=lWjwVkoYb5vaHMMHu4Rg6Cmcxi6Ldwh01ZSSos8btk8s5dM5jgWOVFsgP4Aa6kuuET pNtpm7SwO7bysEI8xah+g7UN3NnaRDqylv0sVhtysL8PicSaxFt72+HFVC1Los135tKR AzLDoeC1yKB1WSnh6kOmzozeOunSqtZM+ZZcJJrxjeZkf2HxlOpXkIopiSqjh0xLf6FU iHtgnxMP/6DkhUKmyYC+uWMLcSsHwXFU9w9K04Mnbne5TqFDBcRf0npJsgYyS1g1vUBF 5a/gvAOvZMjZQFIBJHIQaxPc0jNq8F00a7J+fo+6TEX2ZfLPtxgsshk9kygjKe8+3PTp M5xg== X-Forwarded-Encrypted: i=1; AKwUvBxgYVWePyHf4FRFxMBGWO9o2dIIYGfhi/1fLheyS/QB5eOSQXDcNCbDaZgLfYu4fqhQNq655SWGXU2mXA==@lists.linux.dev X-Gm-Message-State: AFq9FYKH82z4gxAcUA4Og3HB+qaLEDf+yCXUlTvmAG1RQ0G41OEpYv/k oD+yToK5OW1ZI3BNefskjt/TP17mfdKKlDkrI2kWIqsn+lrbLe+EBVWD X-Gm-Gg: AYBFou2vB+LHeb41hDr0kG8lTAFHir8qN8fKa1dliCHSppOFia/N35nOgSuPrL1aCPh DHkX97bqwJHclpI+ru0gghMUaOQbG7+mD/MIFfql8FC2YiahCLHBrf4mVAV3Id/npSXWY36Pm5k mwJ2g8ziL5sA2yAdOq79PxGTU0SIOx2OrOpTKjzIH0Q3MEqzzNvgucjsLK5iDWNNLEaxRz3JuXo Y3HlgxWGh97tRqPtmPMdNo/mzzrbYEiv+SswqSY8Pat1d2ylYFc//qRzsJmkYDzoP1G12EPDLDA 1KUp5CExIMuGMitrwVq8WbreiVBrwLHCYwH3F2X9Fy+dwQb9btwpvCUY1HwJ09sQgLYpcOesNh6 Uq++xA5M0EgzONDiGdum6tHhT4HsuhA47JkBSyVJVRES4llR8RlSgSBJZ8iS6muIBhZPATJ6CBC 2lbDHQve2MVXKvtynosm2sm5xVW/NTrUgl47bV9wB82Mo0MllpwDkhobrI3tUrI+m74q3i3ZD1S +X5zagCOrFzPmAwOvC/T5QRQqqO4QaNE23uukD1J7Y410gDn9K/bMUIXSeSmir64AwPPmBNXyFO V9p7sgC03LK3bGO3hfNOAQxPmiOGSzquv54SnDKkP/WrN/rqYqqG8EP01yB/HEr8YB9HYdDbNWj El+l44dc7mVBFjsbT6NYAJp/dvF8pCx8= X-Received: by 2002:a05:6870:9a14:b0:485:d31b:775d with SMTP id 586e51a60fabf-491e55b11c7mr11348983fac.27.1790535154236; Sun, 27 Sep 2026 11:52:34 -0700 (PDT) Received: from [127.0.1.1] (174-29-1-49.hlrn.qwest.net. [174.29.1.49]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-494877590e5sm4489452fac.13.2026.09.27.11.52.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Sep 2026 11:52:33 -0700 (PDT) From: James Hilliard Date: Sun, 27 Sep 2026 12:52:20 -0600 Subject: [PATCH net-next v6 2/3] dt-bindings: net: allwinner: add H616 EMAC1 Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20260927-submit-h616-emac1-v1-v6-2-e64971f4e414@gmail.com> References: <20260927-submit-h616-emac1-v1-v6-0-e64971f4e414@gmail.com> In-Reply-To: <20260927-submit-h616-emac1-v1-v6-0-e64971f4e414@gmail.com> To: Richard Genoud , Maxime Chevallier , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Maxime Coquelin , Alexandre Torgue , LABBE Corentin , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Giuseppe Cavallaro , Jose Abreu Cc: Alastair D'Silva , Maxime Ripard , James Hilliard , netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-stm32@st-md-mailman.stormreply.com, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Andre Przywara , Krzysztof Kozlowski X-Mailer: b4 0.15.2 X-MORS-Enabled: yes X-MORS-DOMAIN: patchwork.local X-MORS-HOSTING: hosting172546 X-MORS-USER: hosting172546 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= The H616 secondary EMAC uses a separate system-control clock register and supports only RMII at 10/100 Mbps. Add its distinct compatible without an older fallback, since using the primary EMAC clock register would not work. Constrain the PHY interface mode to RMII, matching the hardware. Reviewed-by: Andre Przywara Reviewed-by: Krzysztof Kozlowski Signed-off-by: James Hilliard --- .../devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml | 13 +++++++++++++ Documentation/devicetree/bindings/net/snps,dwmac.yaml | 2 ++ 2 files changed, 15 insertions(+) diff --git a/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml b/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml index 323a669fa982..2cae0133b3cd 100644 --- a/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml +++ b/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml @@ -21,6 +21,7 @@ select: - allwinner,sun8i-r40-gmac - allwinner,sun8i-v3s-emac - allwinner,sun50i-a64-emac + - allwinner,sun50i-h616-emac1 - allwinner,sun55i-a523-gmac200 required: - compatible @@ -33,6 +34,7 @@ properties: - const: allwinner,sun8i-r40-gmac - const: allwinner,sun8i-v3s-emac - const: allwinner,sun50i-a64-emac + - const: allwinner,sun50i-h616-emac1 - items: - enum: - allwinner,sun20i-d1-emac @@ -91,6 +93,17 @@ required: allOf: - $ref: snps,dwmac.yaml# + - if: + properties: + compatible: + contains: + const: allwinner,sun50i-h616-emac1 + + then: + properties: + phy-mode: + const: rmii + - if: properties: compatible: diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml index d3e591157faf..2218a492817f 100644 --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml @@ -57,6 +57,7 @@ properties: - allwinner,sun8i-r40-gmac - allwinner,sun8i-v3s-emac - allwinner,sun50i-a64-emac + - allwinner,sun50i-h616-emac1 - amlogic,meson6-dwmac - amlogic,meson8b-dwmac - amlogic,meson8m2-dwmac @@ -573,6 +574,7 @@ allOf: - allwinner,sun8i-r40-gmac - allwinner,sun8i-v3s-emac - allwinner,sun50i-a64-emac + - allwinner,sun50i-h616-emac1 - loongson,ls2k-dwmac - loongson,ls7a-dwmac - ingenic,jz4775-mac From patchwork Sun Sep 27 18:52:21 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Hilliard X-Patchwork-Id: 3513 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10]) by mxe881.netcup.net (Postfix) with ESMTPS id ECD9A1C1EBF for ; Sun, 27 Sep 2026 20:54:58 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 172.234.253.10) smtp.mailfrom=linux-sunxi+bounces-26347-noreply=patchwork.local@lists.linux.dev smtp.helo=sea.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.234.253.10 as permitted sender) client-ip=172.234.253.10; envelope-from=linux-sunxi+bounces-26347-noreply=patchwork.local@lists.linux.dev; helo=sea.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by sea.lore.kernel.org (Postfix) with ESMTP id 5273F359A6 for ; Sun, 27 Sep 2026 18:52:43 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 340164349BC; Sun, 27 Sep 2026 18:52:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bIYiE8iF" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-oa2-f34.google.com (mail-oa2-f34.google.com [74.125.231.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5CCF841F37D for ; Sun, 27 Sep 2026 18:52:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.231.98 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790535163; cv=none; b=JBJ+ThdYMsQsTTLggPhJmzkTIkEU3vEYU/shClPpfr3erV2vGMi5PnTPwacSO8tziLbuKYC1C2lI9DN3uXL79KHJk6+XVnJqaNQqqgi5KlMWGjiru414uupUmY9fFzChiwKWbAIdTXWblSQ4C7OonajcfBbluFerryhJZ0P6+No= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790535163; c=relaxed/simple; bh=LZU2UEoJoqXa5uqbCSIGcGZQwGpaf5s9d0O/6M07Sus=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lee+ZFTc4QlIs9toraTMRreziHE8fahbgODY5w62Vc1Ta3a0qJV4JuEL0s0MVEI5UjAzva9UZp5vNb+YktqUaRLOPx7t6zXfUezprX//e4bXouCpmIR9+/fuxFk07XnYPNGsJNjMQJfWobN891A0NfpBJcgqiAxeDpytvvZvnsM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bIYiE8iF; arc=none smtp.client-ip=74.125.231.98 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-oa2-f34.google.com with SMTP id 586e51a60fabf-494ab4d6128so243379fac.0 for ; Sun, 27 Sep 2026 11:52:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790535156; x=1791139956; darn=lists.linux.dev; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=AU4yKGQ6L9A+Mmj7ksqDUcZd7jKkYCDxeCg2XUTgNgQ=; b=bIYiE8iFbZu2zVRydOMNAeDcnWsAmosd5akeCP2rMve1bprVXD3GfDm0b3J0Wm8UFg r1zRYfpO4nfZfBUSlTcmV9riEQZjeihwc4MYdPi4UujAQgiCog6g5HC08yDVdvAGnEG7 7iGpoqv2PqGBOraqxmf6lqI8gBbzG8WIpz8GchBZpD4ltDV+B7k4Mk9TSLISvpy8ChJK MBna11HGxEEMN77tyLnw19Yc7iLjyUMxus8+SxMDZlCocGbi11aUEYXp9t21HMdnAB9s 1H71m1z6GieL00KhoCoa1S9bRLo4GhWTHXjE/RkkgF30O/FesXYjD+kvGMB5wuUwqnpg JqSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790535156; x=1791139956; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=AU4yKGQ6L9A+Mmj7ksqDUcZd7jKkYCDxeCg2XUTgNgQ=; b=wLyIm0rTeT8sTGHrHsMFC619XxnwcaMidCRIW5mnMLZinRBm9UofGB2H+Gyjdg238x BAfBmo7vQqQFUPhRlUe7naOz5Sq1lk2r/35YVNCWjd9cDiYN7jMKi1hJNmN/7Z70TSCc 1Bl0+4Tdlx3ltX10ODOl6U0OiRqMfpxI3TtOSS7ac3VuW8EuViRaC1BMhVQ9aDVZHmE6 unDfE2h/OzgFwUTHuocJ6qR3WSFxvyflp6hzjeuSA+J3AO9I175SoTmWZyfpSF2ohGco 8rh1830tZ3OJSTprTp0yCx9BMSRHRC5m3MPvk0IJ9eFO44XZyiNwFyJrEVW1RvRdQFYp Kw1Q== X-Forwarded-Encrypted: i=1; AKwUvBxCei+M9TJJ3fPUhf5Bnv4DUOmdmxm61Itu2gx7IosmpLzX1HYHK5/ZuS8pK4sc9k6h6HKcYmVnx+Hrww==@lists.linux.dev X-Gm-Message-State: AFuF++kKMh0kYrvWgpFy00uLBQybk8vDFNLg9NOXWYGYhkiGZ8nIqSI8 1d4g5hSjjqHGrAvsRbU8ieXWGkZ1YeBaiWvpyXxgx3wqJXLqNJA3xG2L X-Gm-Gg: AYBFou3ISEkTs/tx8wsk2006mmoZTT3Q9+Ud2A+4Oa5B3CfflMtqV211wHgWfvOD2GG rVFYVFOLxA/lp3nU2f0VCeFvaCzsTHQ3RT1as/GtqrbkOru4SRljqyhyi+Oa+1ebvmOyfnO8T+N dOEFBdVXaYC+OMdJDI3tv9Z78Uozpf8FOuCOSG2TLOhJzO4NIC8EEIvsRhcJd7t12h0Bp4h6qCY f4rABD1Xi59dkKv8OJN9m7tcLfCRm8LgvyxOBHSnn51p75p5wJlBeghsxqCBZdhIDJHaHlyuq6o NvmTh8Lyn8U6JiDYDw+HgNZxwEfEVG9kAvUp50xr4cqmO1pygdm68cnRBzi5dJtTw+5EQpq+o4O ZOjySoGBNX74o8teKlszfZo28oAIlLzN5VTfPB8DBmGMDGnpaOB/wugHxGS1JMp8eqt6avB8s5X ajZeahYZFgm5GtfjCNTob/vlyjCV2fll4nu3H+rnDCnBV/rknY0SCP4unMWXDCg+R/LSbWMyv06 3qn16u66KKBvgWHbt92wMAKpx9rGk7ganGg4t7IxZhSNboZHD2/lPDMLT0uzwBOzTHKL4aCc1fU HnvdINON6us6rFv/+/gJn7SsTsjQF/Zj9kGHDQzvgZOIWB7wERacN1gvHk/mfH/xbw+1nNXtVFO JilHVZ3NGO0ZGV3iKDAPC X-Received: by 2002:a05:6871:1d2:b0:47b:dbb4:7cbb with SMTP id 586e51a60fabf-491e4f73b4bmr12418319fac.14.1790535156264; Sun, 27 Sep 2026 11:52:36 -0700 (PDT) Received: from [127.0.1.1] (174-29-1-49.hlrn.qwest.net. [174.29.1.49]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-494877590e5sm4489452fac.13.2026.09.27.11.52.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Sep 2026 11:52:35 -0700 (PDT) From: James Hilliard Date: Sun, 27 Sep 2026 12:52:21 -0600 Subject: [PATCH net-next v6 3/3] net: stmmac: sun8i: add support for Allwinner H616 EMAC1 Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20260927-submit-h616-emac1-v1-v6-3-e64971f4e414@gmail.com> References: <20260927-submit-h616-emac1-v1-v6-0-e64971f4e414@gmail.com> In-Reply-To: <20260927-submit-h616-emac1-v1-v6-0-e64971f4e414@gmail.com> To: Richard Genoud , Maxime Chevallier , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Maxime Coquelin , Alexandre Torgue , LABBE Corentin , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Giuseppe Cavallaro , Jose Abreu Cc: Alastair D'Silva , Maxime Ripard , James Hilliard , netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-stm32@st-md-mailman.stormreply.com, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Andre Przywara X-Mailer: b4 0.15.2 X-MORS-Enabled: yes X-MORS-DOMAIN: patchwork.local X-MORS-HOSTING: hosting172546 X-MORS-USER: hosting172546 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= The H616 secondary EMAC uses a separate system-control clock register and supports only RMII at 10/100 Mbps. It connects internally to the co-packaged AC200 or AC300 EPHY and has no external PHY pins. Add an EMAC1 variant using the dedicated register and enable only RMII. Leave PHY initialization to the PHY driver instead of using the H3 internal-PHY controls. No RX or TX clock delays are configured for this RMII-only variant. Co-developed-by: Richard Genoud Signed-off-by: Richard Genoud Reviewed-by: Maxime Chevallier Reviewed-by: Andre Przywara Reviewed-by: Alastair D'Silva Tested-by: Alastair D'Silva Signed-off-by: James Hilliard --- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c index 5691da796454..47954537b29e 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c @@ -81,6 +81,13 @@ static const struct reg_field sun8i_syscon_reg_field = { .msb = 31, }; +/* EMAC1 clock register @ 0x34 in the "system control" address range */ +static const struct reg_field sun8i_syscon_reg_field_emac1 = { + .reg = 0x34, + .lsb = 0, + .msb = 31, +}; + /* EMAC clock register @ 0x164 in the CCU address range */ static const struct reg_field sun8i_ccu_reg_field = { .reg = 0x164, @@ -143,6 +150,13 @@ static const struct emac_variant emac_variant_h6 = { .tx_delay_max = 7, }; +static const struct emac_variant emac_variant_h616_emac1 = { + .syscon_field = &sun8i_syscon_reg_field_emac1, + /* The co-packaged AC200/AC300 PHY does not use the H3 PHY controls. */ + .soc_has_internal_phy = false, + .support_rmii = true, +}; + #define EMAC_BASIC_CTL0 0x00 #define EMAC_BASIC_CTL1 0x04 #define EMAC_INT_STA 0x08 @@ -1281,6 +1295,8 @@ static const struct of_device_id sun8i_dwmac_match[] = { .data = &emac_variant_a64 }, { .compatible = "allwinner,sun50i-h6-emac", .data = &emac_variant_h6 }, + { .compatible = "allwinner,sun50i-h616-emac1", + .data = &emac_variant_h616_emac1 }, { } }; MODULE_DEVICE_TABLE(of, sun8i_dwmac_match);