From nobody Fri Sep 25 23:51:08 2026 Received: from ultrarisc.com (unknown [218.76.62.146]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6FE523E49FE; Mon, 7 Sep 2026 07:47:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=218.76.62.146 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788767257; cv=none; b=D8M576PwwMnQ0BQJ0KNKrhhJtz5L3YuXT0sBEKLJMAAi3Rk/x4+RAzPeDKUQL+Bg0oFxtOgBHI+Bs8QN3UTrLMnpbn2MHq3rcsBGrCL8c6NMpZLfIFhFMtc6OuYpQofbpYtKPTGuaQl1EGjcVIHxq0n0uFRiD4nuaJoFvF8DdUA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788767257; c=relaxed/simple; bh=8JFbeS+Py36rOhLIgvUhB9mAaPmVG/RndlIsx1DgsiM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qgkI9rN0aRv739f4aB04hxTVrQ8a3JTVp4AHS8wjcvEcAS9u15Uhisc4XXeJVJZsb2fhsnX2QiS4fqkFXuCH7pLrhSvl6+Kh55A3lRexmsY+/FnsUvwsToqssRFuQjbjx8QwyecfoJ3bn3OzdRLOVQFwXuf30Za+YABJgf4rJ4g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ultrarisc.com; spf=none smtp.mailfrom=ultrarisc.com; dkim=pass (1024-bit key) header.d=ultrarisc.com header.i=@ultrarisc.com header.b=i4Wk9lQT; arc=none smtp.client-ip=218.76.62.146 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ultrarisc.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=ultrarisc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ultrarisc.com header.i=@ultrarisc.com header.b="i4Wk9lQT" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ultrarisc.com; s=dkim; h=Received:From:Date:Subject: MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id: References:In-Reply-To:To:Cc; bh=826tG4CJ8qXFpoWs+M4CKnCE0V6wdTg DiM5l8QR/xC0=; b=i4Wk9lQTV1c8cUxckKQbwikaLXzLidwHd907Qxwqs3rCjJj F1uxUjuR7SEMN6wDILp40V+kF/MTAUcloEc6WNADj8Mi6UJT3X0MpVk+qQRvf+6w 7FaazqjFKoNeheg1I12blBhVmSQoPeObmMaAqrnlng1eF2nQG8hpMm9GOsIc= Received: from [127.0.0.1] (unknown [192.168.100.1]) by localhost.localdomain (Coremail) with SMTP id AQAAfwDHQAf_a55qnlUAAA--.364S3; Mon, 07 Sep 2026 15:47:18 +0800 (CST) From: Jia Wang Date: Mon, 07 Sep 2026 15:46:50 +0800 Subject: [PATCH net-next v2 1/5] net: stmmac: Add common internal RGMII delay handling Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260907-dwmac-ultrarisc-v2-1-9a39bf8db313@ultrarisc.com> References: <20260907-dwmac-ultrarisc-v2-0-9a39bf8db313@ultrarisc.com> In-Reply-To: <20260907-dwmac-ultrarisc-v2-0-9a39bf8db313@ultrarisc.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Maxime Chevallier , Maxime Coquelin , Alexandre Torgue , Giuseppe Cavallaro , Jose Abreu , Chen Wang , Inochi Amaoto Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Jia Wang , sophgo@lists.linux.dev X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788767221; l=2291; i=wangjia@ultrarisc.com; s=20260515; h=from:subject:message-id; bh=8JFbeS+Py36rOhLIgvUhB9mAaPmVG/RndlIsx1DgsiM=; b=U54wAoUOL/UPMsjC/20nyWiakLD/fkZD8+RhaL3RFCDl5C7EBqSc173xsMTwiaWma0ybZQDE7 N5lKAYPGMB6BQV4hsQWg/jNQc6rSZJOGZsOPakAP94oi0ZDMnC4/rQx X-Developer-Key: i=wangjia@ultrarisc.com; a=ed25519; pk=wGVm18siRScehKOkOz0WKxgxDy7IezHEszhnN4/TUCY= X-CM-TRANSID: AQAAfwDHQAf_a55qnlUAAA--.364S3 X-Coremail-Antispam: 1UD129KBjvJXoW7ZrWDGw15Kr1rZrW8JF1xGrg_yoW8Kr13pa yDCa43Xr1kGr17KwnxCa1UZFyY9ay7KrW2k34UW393Zay7tr9Iqrn0qrWjyFnxCrZxW3W7 tr12ka98ua98ZrJanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUmC14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_Jr4l82xGYIkIc2 x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0 Y4vE2Ix0cI8IcVAFwI0_Jr0_JF4l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Cr0_Gr1UM2 8EF7xvwVC2z280aVAFwI0_Gr0_Cr1l84ACjcxK6I8E87Iv6xkF7I0E14v26r4UJVWxJr1l e2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI 8IcVAFwI0_JrI_JrylYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwAC jcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lFIxGxcIEc7CjxVA2Y2ka0x kIwI1lc7CjxVAaw2AFwI0_GFv_Wrylc2xSY4AK6svPMxAIw28IcxkI7VAKI48JMxC20s02 6xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_Jr I_JrWlx4CE17CEb7AF67AKxVW8ZVWrXwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v2 6r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWxJVW8Jr1lIxAIcVCF04k26cxKx2IYs7 xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Gr0_ Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0JUU9N3UUUUU= X-CM-SenderInfo: pzdqwylld63zxwud2x1vfou0bp/1tbiAQACEWqdDaQAAQANsA Some DWMAC integrations add fixed RGMII clock delays internally. Glue drivers need to account for these delays before passing the interface mode to the PHY. Add TX and RX delay capability flags to the common platform data. Apply phy_fix_phy_mode_for_mac_delays() in stmmac_pltfr_probe() when either capability is present. This lets glue drivers describe the MAC capabilities without duplicating the interface-mode validation and conversion. Signed-off-by: Jia Wang Reviewed-by: Maxime Chevallier --- drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 11 +++++++++++ include/linux/stmmac.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/driver= s/net/ethernet/stmicro/stmmac/stmmac_platform.c index 6128ed1bd521..93b9af203a18 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c @@ -16,6 +16,7 @@ #include #include #include +#include =20 #include "stmmac.h" #include "stmmac_platform.h" @@ -847,6 +848,16 @@ int stmmac_pltfr_probe(struct platform_device *pdev, struct plat_stmmacenet_data *plat, struct stmmac_resources *res) { + if (plat->has_internal_tx_delay || plat->has_internal_rx_delay) { + plat->phy_interface =3D + phy_fix_phy_mode_for_mac_delays(plat->phy_interface, + plat->has_internal_tx_delay, + plat->has_internal_rx_delay); + if (plat->phy_interface =3D=3D PHY_INTERFACE_MODE_NA) + return dev_err_probe(&pdev->dev, -EINVAL, + "unsupported phy interface mode\n"); + } + if (!plat->suspend && plat->exit) plat->suspend =3D stmmac_plat_suspend; if (!plat->resume && plat->init) diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h index 4430b967abde..00be2df63d22 100644 --- a/include/linux/stmmac.h +++ b/include/linux/stmmac.h @@ -242,6 +242,8 @@ struct plat_stmmacenet_data { * that phylink uses. */ phy_interface_t phy_interface; + bool has_internal_tx_delay; + bool has_internal_rx_delay; struct stmmac_mdio_bus_data *mdio_bus_data; struct device_node *phy_node; struct device_node *mdio_node; --=20 2.34.1 From nobody Fri Sep 25 23:51:08 2026 Received: from ultrarisc.com (unknown [218.76.62.146]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 5A31741A926; Mon, 7 Sep 2026 07:47:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=218.76.62.146 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788767253; cv=none; b=V9TilFQSHMpqX3WhfBbgY2oxsFlcumeCOxzXugLCTHDGsFlthxbvhjjf7iT0aUKjIVwKkhoAGrRnIy7jDDpf1+nA4NOvDdYErE79QjEmVhIT26/Vc4hO+OmwbVBGz+sabq1zy7eihnsAtYtzVZD632Hq38S7rZEAMoMmqBoZp1o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788767253; c=relaxed/simple; bh=CDI070e+NOZ/ruqicjlaZpPE25aCTxfliAy88qsKICo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VaWl23jwEdr7IB7AQHbo8NeqLz1y84CVm5INSpMRUxdBQL99JHlItpm8RtV1spvfWWbXBrQV2MSQqlfdZJN2PYtJAyKi0e427WBo9640bGdfVcH3Vn/TiPFQgRCtdp6qhgvX4zq8RfRUhaQ4ouK+lk5Wyp+SN6j7TSwSI7XhCNo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ultrarisc.com; spf=none smtp.mailfrom=ultrarisc.com; dkim=pass (1024-bit key) header.d=ultrarisc.com header.i=@ultrarisc.com header.b=ZtJifY6q; arc=none smtp.client-ip=218.76.62.146 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ultrarisc.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=ultrarisc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ultrarisc.com header.i=@ultrarisc.com header.b="ZtJifY6q" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ultrarisc.com; s=dkim; h=Received:From:Date:Subject: MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id: References:In-Reply-To:To:Cc; bh=+nPO1TI6PhcIovZv4CegSlinuFtOw5S UcbsLM6dvhUU=; b=ZtJifY6qz+n1xQC7E8yC6YfAJhyMYlTTYA7SabGkgKkESMe +OXOG4Ya+3NmB88YK1kUKtxp6BddPG41Vhk/49qz9pbFWoJyOewsXzcYXqwUYGQa BxvJeG5QgPJAWx22z+ADXg6zz5gACOpX71WDs4SGyLlmVF9jjHBjLEFcCrGs= Received: from [127.0.0.1] (unknown [192.168.100.1]) by localhost.localdomain (Coremail) with SMTP id AQAAfwDHQAf_a55qnlUAAA--.364S4; Mon, 07 Sep 2026 15:47:19 +0800 (CST) From: Jia Wang Date: Mon, 07 Sep 2026 15:46:51 +0800 Subject: [PATCH net-next v2 2/5] net: stmmac: sophgo: Use common RGMII delay handling Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260907-dwmac-ultrarisc-v2-2-9a39bf8db313@ultrarisc.com> References: <20260907-dwmac-ultrarisc-v2-0-9a39bf8db313@ultrarisc.com> In-Reply-To: <20260907-dwmac-ultrarisc-v2-0-9a39bf8db313@ultrarisc.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Maxime Chevallier , Maxime Coquelin , Alexandre Torgue , Giuseppe Cavallaro , Jose Abreu , Chen Wang , Inochi Amaoto Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Jia Wang , sophgo@lists.linux.dev X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788767221; l=1357; i=wangjia@ultrarisc.com; s=20260515; h=from:subject:message-id; bh=CDI070e+NOZ/ruqicjlaZpPE25aCTxfliAy88qsKICo=; b=IQF3xUotir2QfLDg3r7ZgEAnMaIc0rhUw8Jyn+COg58zKlYEvAyzLQJcHMCEMeDMSQNy/Eym6 SbxQS1Zz9uZBX9n3GyIwwcYaEumahXlVcDAx+Fav+0HlgAhVbHHcDMo X-Developer-Key: i=wangjia@ultrarisc.com; a=ed25519; pk=wGVm18siRScehKOkOz0WKxgxDy7IezHEszhnN4/TUCY= X-CM-TRANSID: AQAAfwDHQAf_a55qnlUAAA--.364S4 X-Coremail-Antispam: 1UD129KBjvJXoW7CrW8uw4UurW3CrWUJw1rtFb_yoW8GFy5pr ZrCa4a9rn7tr4aq3Z8Jr48ZFy5Wa47KFWj9a48tws3Zay0yFyaqwn0yFW0qFnrAFWUZry7 tr4UZFy5ZF98Ar7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUmK14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_Jryl82xGYIkIc2 x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0 Y4vE2Ix0cI8IcVAFwI0_Jr0_JF4l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Cr0_Gr1UM2 8EF7xvwVC2z280aVAFwI0_Gr0_Cr1l84ACjcxK6I8E87Iv6xkF7I0E14v26r4UJVWxJr1l e2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI 8IcVAFwI0_JrI_JrylYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwAC jcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lFIxGxcIEc7CjxVA2Y2ka0x kIwI1lc7CjxVAaw2AFwI0_GFv_Wrylc2xSY4AK6svPMxAIw28IcxkI7VAKI48JMxC20s02 6xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_Jr I_JrWlx4CE17CEb7AF67AKxVW8ZVWrXwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v2 6r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWxJVW8Jr1lIxAIcVCF04k26cxKx2IYs7 xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Gr1j 6F4UJbIYCTnIWIevJa73UjIFyTuYvjTRRCJPDUUUU X-CM-SenderInfo: pzdqwylld63zxwud2x1vfou0bp/1tbiAQACEWqdDaQAAQAPsC Describe the SG2042 internal RX delay through the common stmmac platform data and let stmmac_pltfr_probe() adjust the PHY interface mode. This removes the duplicated mode conversion without changing the hardware behavior. Signed-off-by: Jia Wang Reviewed-by: Maxime Chevallier --- drivers/net/ethernet/stmicro/stmmac/dwmac-sophgo.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sophgo.c b/drivers/n= et/ethernet/stmicro/stmmac/dwmac-sophgo.c index e02ad3762b5f..f62c803665ad 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sophgo.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sophgo.c @@ -55,14 +55,10 @@ static int sophgo_dwmac_probe(struct platform_device *p= dev) return ret; =20 data =3D device_get_match_data(&pdev->dev); - if (data && data->has_internal_rx_delay) { - plat_dat->phy_interface =3D phy_fix_phy_mode_for_mac_delays(plat_dat->ph= y_interface, - false, true); - if (plat_dat->phy_interface =3D=3D PHY_INTERFACE_MODE_NA) - return -EINVAL; - } - - return stmmac_dvr_probe(dev, plat_dat, &stmmac_res); + if (data) + plat_dat->has_internal_rx_delay =3D data->has_internal_rx_delay; + + return stmmac_pltfr_probe(pdev, plat_dat, &stmmac_res); } =20 static const struct sophgo_dwmac_data sg2042_dwmac_data =3D { --=20 2.34.1 From nobody Fri Sep 25 23:51:08 2026 Received: from ultrarisc.com (unknown [218.76.62.146]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 81C9641D223; Mon, 7 Sep 2026 07:47:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=218.76.62.146 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788767256; cv=none; b=V8DG4NbKcebWSUoSWFXgWOEk463+MXD/jU+0i4OplYiVAxiYHM9U2uvAM0ZFN0OCWP2LOIBHxStCLPodnaDGHBuvyTz5nxbDF2mDpNUiJQJLBfpi4rnAcNK2l5/GdQ3d0tairDOrPbg5fJtkGKJZs1jVQP9dpFq8d0cMJp2fG7o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788767256; c=relaxed/simple; bh=SuFGe/sSDEWhlUQ1aJzOHS5LIgzsemZW8aQnnH1+XXk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jhPFfcBVvNEF00Yjl/mPyC2HIcRWFDjdWTik9vpCe/+NFN2BoPi5opYb2U4JffFE81Trb7k8U5XOt4tXQvbnsFfTbt7dCGlP9BGoO1X8abPCNSqgO4wy8rD2XwRcrcGj8khRiXgv0hchd1HH1z3ZgDu+sM74lTJ96e08RbLn5tw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ultrarisc.com; spf=none smtp.mailfrom=ultrarisc.com; dkim=pass (1024-bit key) header.d=ultrarisc.com header.i=@ultrarisc.com header.b=WZwdspzX; arc=none smtp.client-ip=218.76.62.146 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ultrarisc.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=ultrarisc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ultrarisc.com header.i=@ultrarisc.com header.b="WZwdspzX" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ultrarisc.com; s=dkim; h=Received:From:Date:Subject: MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id: References:In-Reply-To:To:Cc; bh=5jENh/0l0LNZVmFEg64Ol7Bta4qDRru PwnuCrL/AhvE=; b=WZwdspzXtkOcZ7PR7yp8U1UB6WxWdjMV+aZPaNwheDmwmiA +knZyK7tqruTFu1XbGeatR+m21DWadNGV8pIEFQuo2Agf16J/ui9/j/pXyMPxiw4 Kr2Y0lRc42nWrvbSVmb7cR3cDqEimL7EBUViJn9u+a9I8L/5C/7uoGj4/2wE= Received: from [127.0.0.1] (unknown [192.168.100.1]) by localhost.localdomain (Coremail) with SMTP id AQAAfwDHQAf_a55qnlUAAA--.364S5; Mon, 07 Sep 2026 15:47:20 +0800 (CST) From: Jia Wang Date: Mon, 07 Sep 2026 15:46:52 +0800 Subject: [PATCH net-next v2 3/5] net: stmmac: eic7700: Use common RGMII delay handling Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260907-dwmac-ultrarisc-v2-3-9a39bf8db313@ultrarisc.com> References: <20260907-dwmac-ultrarisc-v2-0-9a39bf8db313@ultrarisc.com> In-Reply-To: <20260907-dwmac-ultrarisc-v2-0-9a39bf8db313@ultrarisc.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Maxime Chevallier , Maxime Coquelin , Alexandre Torgue , Giuseppe Cavallaro , Jose Abreu , Chen Wang , Inochi Amaoto Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Jia Wang , sophgo@lists.linux.dev X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788767221; l=1620; i=wangjia@ultrarisc.com; s=20260515; h=from:subject:message-id; bh=SuFGe/sSDEWhlUQ1aJzOHS5LIgzsemZW8aQnnH1+XXk=; b=fBYf/2wtekR69urD4J+/hhkDuxjZTH0yE1cyaNs3FaCAO4Ncs7lX53uqv1OXmg0nYdP/txVOh m5ZKSVEU8cdBbsYwLLSdthhHNOMelWdOR8fehVrqO7lqGK5bruR6tTk X-Developer-Key: i=wangjia@ultrarisc.com; a=ed25519; pk=wGVm18siRScehKOkOz0WKxgxDy7IezHEszhnN4/TUCY= X-CM-TRANSID: AQAAfwDHQAf_a55qnlUAAA--.364S5 X-Coremail-Antispam: 1UD129KBjvJXoW7CrW5AF4xGr1UKF17WF4DArb_yoW8WF4xpF Z3GFW3Arn7tr1ft3WDJF48ZryFgF47tF1S9392ywn3ZFs5trZ0q3yYyay0qFWkCrWkXF12 qr4jkFyUZas0krJanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUQj14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JrWl82xGYIkIc2 x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0 Y4vE2Ix0cI8IcVAFwI0_Jr0_JF4l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJw A2z4x0Y4vEx4A2jsIE14v26r4j6F4UM28EF7xvwVC2z280aVCY1x0267AKxVW8Jr0_Cr1U M2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjx v20xvE14v26r106r15McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1l F7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2 IY04v7MxkF7I0En4kS14v26r4a6rW5MxkIecxEwVCm-wCF04k20xvY0x0EwIxGrwCFx2Iq xVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r 106r1rMI8E67AF67kF1VAFwI0_GFv_WrylIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AK xVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJwCI42IY6xAIw20EY4v20x vaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVW8 Jr0_Cr1UYxBIdaVFxhVjvjDU0xZFpf9x0JUUl1kUUUUU= X-CM-SenderInfo: pzdqwylld63zxwud2x1vfou0bp/1tbiAQACEWqdDaQAAQARsc Describe the EIC7700 inherent TX delay through the common stmmac platform data and let stmmac_pltfr_probe() adjust the PHY interface mode. Keep the existing programmable TX and RX delay configuration in the EIC7700 glue driver. Signed-off-by: Jia Wang Reviewed-by: Maxime Chevallier --- drivers/net/ethernet/stmicro/stmmac/dwmac-eic7700.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-eic7700.c b/drivers/= net/ethernet/stmicro/stmmac/dwmac-eic7700.c index eab8c13fbdcc..0d654ec07f33 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-eic7700.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-eic7700.c @@ -198,18 +198,9 @@ static int eic7700_dwmac_probe(struct platform_device = *pdev) /* * The MAC silicon unconditionally adds ~2 ns TX delay; prevent * the PHY from also adding TX delay to avoid doubling it. - * - * DT specifies rgmii-id (TX from MAC silicon, RX from PHY); - * override to rgmii-rxid so the PHY only adds its RX delay. + * The common platform code adjusts the PHY interface accordingly. */ - if (data->has_internal_tx_delay) { - plat_dat->phy_interface =3D - phy_fix_phy_mode_for_mac_delays(plat_dat->phy_interface, - true, false); - if (plat_dat->phy_interface =3D=3D PHY_INTERFACE_MODE_NA) - return dev_err_probe(&pdev->dev, -EINVAL, - "phy interface mode is NA\n"); - } + plat_dat->has_internal_tx_delay =3D data->has_internal_tx_delay; =20 /* Read rx-internal-delay-ps and update rx_clk delay */ if (!of_property_read_u32(pdev->dev.of_node, --=20 2.34.1 From nobody Fri Sep 25 23:51:08 2026 Received: from ultrarisc.com (unknown [218.76.62.146]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 568F0411FA6; Mon, 7 Sep 2026 07:47:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=218.76.62.146 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788767258; cv=none; b=DJLkQFHU1G+x3Pw0hRGvG8TCBBbsqXw6HYG0O7WtlTyCvE+uTU2+yCojgXm+Yk67WFqPeRIRR5nGkntadWVUqnaywacT+sFcVC9LxX26kHvBF2KhXyJVZow1cbcrFgPSr6sRDw121a3AR00fjfgGeYkAzASxXpvF6r75VwV54Dg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788767258; c=relaxed/simple; bh=hVW7kxIlJWKK6GmEDtwPV5h6IvvOs7xgT4usmIedGEw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=d6yCgXXEL161FzL1YG2EEleoi/sDYiikDVKd7kgAjmDAegGEUXH0P/rp69R7fdSJGcWCVsGaRk6auC/fKlsLhHMDtXhPKD4AMY4CQleeDwXaDciIvgazJ8pL5JJsj4UYWf2QO6ap6/0jhdGdPWUZNG4nX7RdHDCJ61q/4dTYuDU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ultrarisc.com; spf=none smtp.mailfrom=ultrarisc.com; dkim=pass (1024-bit key) header.d=ultrarisc.com header.i=@ultrarisc.com header.b=WUewQy2L; arc=none smtp.client-ip=218.76.62.146 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ultrarisc.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=ultrarisc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ultrarisc.com header.i=@ultrarisc.com header.b="WUewQy2L" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ultrarisc.com; s=dkim; h=Received:From:Date:Subject: MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id: References:In-Reply-To:To:Cc; bh=5AEcR7kglOxkPlraOwPL2V4mlGtETzE yke9xSmsbwpI=; b=WUewQy2LEwUM8ZXXtXi1utzS2MvhXxpi4rI3RATGH0zvY23 es5DgiIz1VStOEetJv7l3TyrWBX75wHmgEHm+PgUAu7XEto1E1Jq4G3v28Zg4VXH DRSgCwymh5Fa5fkDnOIb00UHnRJmSjwho/6HtOJW5XVD1a2jTnWEGkAvjgzs= Received: from [127.0.0.1] (unknown [192.168.100.1]) by localhost.localdomain (Coremail) with SMTP id AQAAfwDHQAf_a55qnlUAAA--.364S6; Mon, 07 Sep 2026 15:47:24 +0800 (CST) From: Jia Wang Date: Mon, 07 Sep 2026 15:46:53 +0800 Subject: [PATCH net-next v2 4/5] dt-bindings: net: Add UltraRISC DP1000 GMAC Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260907-dwmac-ultrarisc-v2-4-9a39bf8db313@ultrarisc.com> References: <20260907-dwmac-ultrarisc-v2-0-9a39bf8db313@ultrarisc.com> In-Reply-To: <20260907-dwmac-ultrarisc-v2-0-9a39bf8db313@ultrarisc.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Maxime Chevallier , Maxime Coquelin , Alexandre Torgue , Giuseppe Cavallaro , Jose Abreu , Chen Wang , Inochi Amaoto Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Jia Wang , sophgo@lists.linux.dev, Conor Dooley X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788767221; l=3690; i=wangjia@ultrarisc.com; s=20260515; h=from:subject:message-id; bh=hVW7kxIlJWKK6GmEDtwPV5h6IvvOs7xgT4usmIedGEw=; b=WQkgTG42gvlcvGWw+mpq3+buBMHKqc7QB3Fb/UkBfAn9ERSSF7VP/DRrjFNFIEMdBjwdT0ooR M4UEd/0l0PxAfcmshVyCycClcVWsNvBoIjpZ/OJ26YqpYN/vfzBwZOQ X-Developer-Key: i=wangjia@ultrarisc.com; a=ed25519; pk=wGVm18siRScehKOkOz0WKxgxDy7IezHEszhnN4/TUCY= X-CM-TRANSID: AQAAfwDHQAf_a55qnlUAAA--.364S6 X-Coremail-Antispam: 1UD129KBjvJXoWxAw13Jw13Kry8Zr1rXw1kZrb_yoW5KrW3pF ZxCFs3JFn2gr13Ww4fta4xA3ZIqw18AFy3A3Z2yw18tF98Was5XwsFk345ZF98ArW7Xayq 9Fy09r1Fy3W09w7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUQF14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JF0E3s1l82xGYI kIc2x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2 z4x0Y4vE2Ix0cI8IcVAFwI0_JFI_Gr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F 4UJwA2z4x0Y4vEx4A2jsIE14v26r4j6F4UM28EF7xvwVC2z280aVCY1x0267AKxVW8Jr0_ Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6x IIjxv20xvE14v26r106r15McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_ Gr1lF7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8c xan2IY04v7MxkF7I0En4kS14v26r4a6rW5MxkIecxEwVCm-wCF04k20xvY0x0EwIxGrwCF x2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14 v26r106r1rMI8E67AF67kF1VAFwI0_GFv_WrylIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY 67AKxVWUCVW8JwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJwCI42IY6xAIw20EY4 v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AK xVW8Jr0_Cr1UYxBIdaVFxhVjvjDU0xZFpf9x0pRiF4iUUUUU= X-CM-SenderInfo: pzdqwylld63zxwud2x1vfou0bp/1tbiAQACEWqdDaQAAQATse The DP1000 integrates a Synopsys DesignWare GMAC from the 5.20 series with one MMIO register range, one clock and one interrupt. It also provides fixed TX and RX RGMII clock delays that cannot be disabled. Board connections must therefore not add either delay in PCB traces, making "rgmii-id" the only supported phy-mode. Signed-off-by: Jia Wang Reviewed-by: Conor Dooley --- .../devicetree/bindings/net/snps,dwmac.yaml | 1 + .../bindings/net/ultrarisc,dp1000-gmac.yaml | 74 ++++++++++++++++++= ++++ MAINTAINERS | 5 ++ 3 files changed, 80 insertions(+) diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Docume= ntation/devicetree/bindings/net/snps,dwmac.yaml index 2449311c6d28..2ed4564ae99d 100644 --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml @@ -119,6 +119,7 @@ properties: - starfive,jh7110-dwmac - tesla,fsd-ethqos - thead,th1520-gmac + - ultrarisc,dp1000-gmac =20 reg: minItems: 1 diff --git a/Documentation/devicetree/bindings/net/ultrarisc,dp1000-gmac.ya= ml b/Documentation/devicetree/bindings/net/ultrarisc,dp1000-gmac.yaml new file mode 100644 index 000000000000..13029302877b --- /dev/null +++ b/Documentation/devicetree/bindings/net/ultrarisc,dp1000-gmac.yaml @@ -0,0 +1,74 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/ultrarisc,dp1000-gmac.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: UltraRISC DP1000 DWMAC Ethernet controller + +maintainers: + - Jia Wang + +description: + The DP1000 integrates a Synopsys DesignWare GMAC controller from the + 5.20 series. The SoC integration adds fixed RGMII TX and RX clock delays + which cannot be disabled. Consequently, a functional RGMII link requires + a PCB without TX or RX clock delays, represented by "rgmii-id". + +select: + properties: + compatible: + contains: + const: ultrarisc,dp1000-gmac + required: + - compatible + +properties: + compatible: + items: + - const: ultrarisc,dp1000-gmac + - const: snps,dwmac-5.20 + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + + clock-names: + const: stmmaceth + + interrupts: + maxItems: 1 + + interrupt-names: + const: macirq + + phy-mode: + const: rgmii-id + +required: + - compatible + - reg + - clocks + - clock-names + - interrupts + - interrupt-names + - phy-mode + +allOf: + - $ref: snps,dwmac.yaml# + +unevaluatedProperties: false + +examples: + - | + ethernet@38000000 { + compatible =3D "ultrarisc,dp1000-gmac", "snps,dwmac-5.20"; + reg =3D <0x38000000 0x1000000>; + clocks =3D <&clk 0>; + clock-names =3D "stmmaceth"; + interrupts =3D <84>; + interrupt-names =3D "macirq"; + phy-mode =3D "rgmii-id"; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 6215fcb07770..01597d1df270 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -27995,6 +27995,11 @@ F: Documentation/devicetree/bindings/clock/ultrari= sc,dp1000-clk.yaml F: drivers/clk/ultrarisc/* F: include/dt-bindings/clock/ultrarisc,dp1000-clk.h =20 +ULTRARISC DP1000 DWMAC GLUE LAYER +M: Jia Wang +S: Maintained +F: Documentation/devicetree/bindings/net/ultrarisc,dp1000-gmac.yaml + ULTRARISC DP1000 PINCTRL DRIVER M: Jia Wang L: linux-gpio@vger.kernel.org --=20 2.34.1 From nobody Fri Sep 25 23:51:08 2026 Received: from ultrarisc.com (unknown [218.76.62.146]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1DD1842123F; Mon, 7 Sep 2026 07:47:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=218.76.62.146 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788767259; cv=none; b=GPSkADOh/hW73m31FblmTvUXiOeu3H7QjPiyXA1f1CQuRwxcKDtGzRamjmV1TwTbtdpgouh3Mg4ZCDWS2n31QBa6wMlmrCUARRro0zNOjFoGzy4AsBSdX8eT7GsBcpZui3c2U8Rd/syWeAKLySFiafoMA3vCdV9b+nYuHz6r4sg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788767259; c=relaxed/simple; bh=yTRJ3O2vGzuKktzCTO2ExXjbMgtp5fK54GThI+QzDJk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=C9MgwLFVt0qGQQP+d/h06zMvfGE7vyne/CAeBlNlbBG8MpO54DfBr2fXWDYA9xKxVeKyDhoKGP8Crmk5jtvkWbg24Ecx3DFb+whvOsopH1zUrqXZN6s62lDLxB8jdMXXSCVShtq8IWnZ2oKGwIuQxLxIfDnFcWHs10oRtyIVR88= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ultrarisc.com; spf=none smtp.mailfrom=ultrarisc.com; dkim=pass (1024-bit key) header.d=ultrarisc.com header.i=@ultrarisc.com header.b=qQMDxo0u; arc=none smtp.client-ip=218.76.62.146 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ultrarisc.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=ultrarisc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ultrarisc.com header.i=@ultrarisc.com header.b="qQMDxo0u" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ultrarisc.com; s=dkim; h=Received:From:Date:Subject: MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id: References:In-Reply-To:To:Cc; bh=atDrDIj1PcjKidTFHnL55UaKYtXCuL3 hBASpWFdruY8=; b=qQMDxo0uhM2xATPD9kUqsI4XafS8ffqKSBddZagzdL0h2d2 6P7SY7IchW58qpVRciRM+eTJsooa30zDKgCwwTid4xQmmgcGLwxJvwV2VVJ2oqe0 G/FMFMP9DrxNJR1kJmHof6c5zFcpHnrDhnwoZ55Zpvt8B02ESsmCEqmNC1dg= Received: from [127.0.0.1] (unknown [192.168.100.1]) by localhost.localdomain (Coremail) with SMTP id AQAAfwDHQAf_a55qnlUAAA--.364S7; Mon, 07 Sep 2026 15:47:26 +0800 (CST) From: Jia Wang Date: Mon, 07 Sep 2026 15:46:54 +0800 Subject: [PATCH net-next v2 5/5] net: stmmac: Add UltraRISC DP1000 GMAC support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260907-dwmac-ultrarisc-v2-5-9a39bf8db313@ultrarisc.com> References: <20260907-dwmac-ultrarisc-v2-0-9a39bf8db313@ultrarisc.com> In-Reply-To: <20260907-dwmac-ultrarisc-v2-0-9a39bf8db313@ultrarisc.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Maxime Chevallier , Maxime Coquelin , Alexandre Torgue , Giuseppe Cavallaro , Jose Abreu , Chen Wang , Inochi Amaoto Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Jia Wang , sophgo@lists.linux.dev X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788767221; l=4434; i=wangjia@ultrarisc.com; s=20260515; h=from:subject:message-id; bh=yTRJ3O2vGzuKktzCTO2ExXjbMgtp5fK54GThI+QzDJk=; b=wDw1qcKWmwEtubwcSkYU+uZyIRt7R2Vkdkz38DrQgy66mEEWAge3zp5nn9c9vAPbSQU5CpG/I kgS/iquNGGWBE+DZWk4Stnw5XECEOF0zPWM0Aa6MW2Q7u19Dye9CpZv X-Developer-Key: i=wangjia@ultrarisc.com; a=ed25519; pk=wGVm18siRScehKOkOz0WKxgxDy7IezHEszhnN4/TUCY= X-CM-TRANSID: AQAAfwDHQAf_a55qnlUAAA--.364S7 X-Coremail-Antispam: 1UD129KBjvJXoWxZr43JFy7CFWrtF4xZw15CFg_yoWruF4DpF WDCa43Zr97Jr43Ka1fJw1kuF95tay8trW7WFyfKwnaqFZ0yryYqr9rK3y5AF1DGrWDXFy2 yr4UCwnrCan0v37anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUQF14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JF0E3s1l82xGYI kIc2x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2 z4x0Y4vE2Ix0cI8IcVAFwI0_JFI_Gr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F 4UJwA2z4x0Y4vEx4A2jsIE14v26r4j6F4UM28EF7xvwVC2z280aVCY1x0267AKxVW8Jr0_ Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6x IIjxv20xvE14v26r106r15McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_ Gr1lF7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8c xan2IY04v7MxkF7I0En4kS14v26r4a6rW5MxkIecxEwVCm-wCF04k20xvY0x0EwIxGrwCF x2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14 v26r106r1rMI8E67AF67kF1VAFwI0_GFv_WrylIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY 67AKxVWUCVW8JwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJwCI42IY6xAIw20EY4 v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AK xVW8Jr0_Cr1UYxBIdaVFxhVjvjDU0xZFpf9x0pRiF4iUUUUU= X-CM-SenderInfo: pzdqwylld63zxwud2x1vfou0bp/1tbiAQACEWqdDaQAAQAVsY The UltraRISC DP1000 GMAC provides fixed internal delays on both TX and RX RGMII clock paths. Add a platform glue driver and describe both delay capabilities through the common stmmac platform data. This lets the common RGMII delay handling adjust the interface mode passed to the PHY and reject incompatible RGMII modes. Signed-off-by: Jia Wang Reviewed-by: Maxime Chevallier --- MAINTAINERS | 1 + drivers/net/ethernet/stmicro/stmmac/Kconfig | 11 +++++ drivers/net/ethernet/stmicro/stmmac/Makefile | 1 + .../net/ethernet/stmicro/stmmac/dwmac-ultrarisc.c | 52 ++++++++++++++++++= ++++ 4 files changed, 65 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 01597d1df270..d6fb876227e9 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -27999,6 +27999,7 @@ ULTRARISC DP1000 DWMAC GLUE LAYER M: Jia Wang S: Maintained F: Documentation/devicetree/bindings/net/ultrarisc,dp1000-gmac.yaml +F: drivers/net/ethernet/stmicro/stmmac/dwmac-ultrarisc.c =20 ULTRARISC DP1000 PINCTRL DRIVER M: Jia Wang diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethe= rnet/stmicro/stmmac/Kconfig index e3dd5adda5ac..ab3c4cf96423 100644 --- a/drivers/net/ethernet/stmicro/stmmac/Kconfig +++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig @@ -319,6 +319,17 @@ config DWMAC_THEAD the stmmac device driver. This driver is used for T-HEAD TH1520 ethernet controller. =20 +config DWMAC_ULTRARISC + tristate "UltraRISC DWMAC support" + default ARCH_ULTRARISC + depends on OF && (ARCH_ULTRARISC || COMPILE_TEST) + help + Support for the Ethernet controller on the UltraRISC DP1000 SoC. + + This selects the UltraRISC platform specific glue layer support + for the stmmac device driver. This driver is used for the DP1000 + GMAC Ethernet controller. + config DWMAC_IMX8 tristate "NXP IMX8 DWMAC support" default ARCH_MXC diff --git a/drivers/net/ethernet/stmicro/stmmac/Makefile b/drivers/net/eth= ernet/stmicro/stmmac/Makefile index a1cea2f57252..b16a456b730e 100644 --- a/drivers/net/ethernet/stmicro/stmmac/Makefile +++ b/drivers/net/ethernet/stmicro/stmmac/Makefile @@ -36,6 +36,7 @@ obj-$(CONFIG_DWMAC_SUNXI) +=3D dwmac-sunxi.o obj-$(CONFIG_DWMAC_SUN8I) +=3D dwmac-sun8i.o obj-$(CONFIG_DWMAC_SUN55I) +=3D dwmac-sun55i.o obj-$(CONFIG_DWMAC_THEAD) +=3D dwmac-thead.o +obj-$(CONFIG_DWMAC_ULTRARISC) +=3D dwmac-ultrarisc.o obj-$(CONFIG_DWMAC_DWC_QOS_ETH) +=3D dwmac-dwc-qos-eth.o obj-$(CONFIG_DWMAC_INTEL_PLAT) +=3D dwmac-intel-plat.o obj-$(CONFIG_DWMAC_LOONGSON1) +=3D dwmac-loongson1.o diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-ultrarisc.c b/driver= s/net/ethernet/stmicro/stmmac/dwmac-ultrarisc.c new file mode 100644 index 000000000000..0b62a75b782a --- /dev/null +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-ultrarisc.c @@ -0,0 +1,52 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * UltraRISC DWMAC platform driver + * + * Copyright (C) 2026 UltraRISC Technology (Shanghai) Co., Ltd. + */ + +#include +#include + +#include "stmmac_platform.h" + +static int ultrarisc_dwmac_probe(struct platform_device *pdev) +{ + struct plat_stmmacenet_data *plat_dat; + struct stmmac_resources stmmac_res; + struct device *dev =3D &pdev->dev; + int ret; + + ret =3D stmmac_get_platform_resources(pdev, &stmmac_res); + if (ret) + return dev_err_probe(dev, ret, "failed to get resources\n"); + + plat_dat =3D devm_stmmac_probe_config_dt(pdev, stmmac_res.mac); + if (IS_ERR(plat_dat)) + return dev_err_probe(dev, PTR_ERR(plat_dat), + "failed to parse DT parameters\n"); + + plat_dat->has_internal_tx_delay =3D true; + plat_dat->has_internal_rx_delay =3D true; + + return devm_stmmac_pltfr_probe(pdev, plat_dat, &stmmac_res); +} + +static const struct of_device_id ultrarisc_dwmac_match[] =3D { + { .compatible =3D "ultrarisc,dp1000-gmac" }, + { } +}; +MODULE_DEVICE_TABLE(of, ultrarisc_dwmac_match); + +static struct platform_driver ultrarisc_dwmac_driver =3D { + .probe =3D ultrarisc_dwmac_probe, + .driver =3D { + .name =3D "ultrarisc-dwmac", + .pm =3D &stmmac_pltfr_pm_ops, + .of_match_table =3D ultrarisc_dwmac_match, + }, +}; +module_platform_driver(ultrarisc_dwmac_driver); + +MODULE_DESCRIPTION("UltraRISC DWMAC platform driver"); +MODULE_LICENSE("GPL"); --=20 2.34.1