From: Yijie Yang <yijie.yang@oss.qualcomm.com>
To: Vinod Koul <vkoul@kernel.org>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Richard Cochran <richardcochran@gmail.com>
Cc: netdev@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
stable+noautosel@kernel.org,
Yijie Yang <yijie.yang@oss.qualcomm.com>
Subject: [PATCH v4 2/6] net: stmmac: Inverse the phy-mode definition
Date: Tue, 19 Aug 2025 14:35:57 +0800 [thread overview]
Message-ID: <20250819-qcs615_eth-v4-2-5050ed3402cb@oss.qualcomm.com> (raw)
In-Reply-To: <20250819-qcs615_eth-v4-0-5050ed3402cb@oss.qualcomm.com>
In the initial device tree submission, the definitions of rgmii and
rgmii-id in the phy-mode property were inverted compared to the
conventions used by the upstream Linux kernel community.
Only QCS-EVB-400 and SA8155-ADP platforms are affected due to the
incorrect PHY mode configuration: 'rgmii' was used instead of the
correct 'rgmii-id'. This change results in an ABI compatibility break,
but it is acceptable as these platforms are not actively used by any
customers, based on current observations.
Qualcomm expects the MAC, not the PHY, to introduce the timing delay,
and the driver is designed accordingly. This is due to specific SoC
hardware that handles delay and sampling internally.
Signed-off-by: Yijie Yang <yijie.yang@oss.qualcomm.com>
---
drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
index a4ea72f86ca8..a3e595e3b1e4 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
@@ -390,14 +390,11 @@ static int ethqos_dll_configure(struct qcom_ethqos *ethqos)
static int ethqos_rgmii_macro_init(struct qcom_ethqos *ethqos, int speed)
{
struct device *dev = ðqos->pdev->dev;
- int phase_shift;
+ int phase_shift = 0;
int loopback;
/* Determine if the PHY adds a 2 ns TX delay or the MAC handles it */
- if (ethqos->phy_mode == PHY_INTERFACE_MODE_RGMII_ID ||
- ethqos->phy_mode == PHY_INTERFACE_MODE_RGMII_TXID)
- phase_shift = 0;
- else
+ if (ethqos->phy_mode == PHY_INTERFACE_MODE_RGMII_ID)
phase_shift = RGMII_CONFIG2_TX_CLK_PHASE_SHIFT_EN;
/* Disable loopback mode */
@@ -803,7 +800,14 @@ static int qcom_ethqos_probe(struct platform_device *pdev)
if (!ethqos)
return -ENOMEM;
+ /* Qualcomm configures the MAC to introduce delay; instruct the
+ * PHY not to add additional delay.
+ */
+ if (plat_dat->phy_interface == PHY_INTERFACE_MODE_RGMII_ID)
+ plat_dat->phy_interface = PHY_INTERFACE_MODE_RGMII;
+
ethqos->phy_mode = plat_dat->phy_interface;
+
switch (ethqos->phy_mode) {
case PHY_INTERFACE_MODE_RGMII:
case PHY_INTERFACE_MODE_RGMII_ID:
--
2.34.1
next prev parent reply other threads:[~2025-08-19 6:36 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-19 6:35 [PATCH v4 0/6] Enable ethernet on qcs615 Yijie Yang
2025-08-19 6:35 ` [PATCH v4 1/6] net: stmmac: Add support for 10 Mbps and 100 Mbps Ethernet speeds Yijie Yang
2025-08-19 6:35 ` Yijie Yang [this message]
2025-08-19 16:20 ` [PATCH v4 2/6] net: stmmac: Inverse the phy-mode definition Andrew Lunn
2025-08-21 2:22 ` Yijie Yang
2025-08-21 3:33 ` Andrew Lunn
2025-08-19 6:35 ` [PATCH v4 3/6] arm64: dts: qcom: qcs615: add ethernet node YijieYang
2025-08-19 6:44 ` Krzysztof Kozlowski
2025-08-19 6:51 ` Yijie Yang
2025-08-19 7:15 ` Krzysztof Kozlowski
2025-08-19 9:04 ` Yijie Yang
2025-08-19 9:08 ` Krzysztof Kozlowski
2025-08-20 8:57 ` Yijie Yang
2025-08-20 13:08 ` Krzysztof Kozlowski
2025-08-19 6:35 ` [PATCH v4 4/6] arm64: dts: qcom: qcs615-ride: Enable " YijieYang
2025-08-19 16:24 ` Andrew Lunn
2025-08-20 3:18 ` Yijie Yang
2025-08-19 6:36 ` [PATCH v4 5/6] arm64: dts: qcom: qcs404: Inverse phy-mode for EVB-4000 Yijie Yang
2025-08-19 6:36 ` [PATCH v4 6/6] arm64: dts: qcom: sa8155p-adp: Inverse phy-mode Yijie Yang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250819-qcs615_eth-v4-2-5050ed3402cb@oss.qualcomm.com \
--to=yijie.yang@oss.qualcomm.com \
--cc=alexandre.torgue@foss.st.com \
--cc=andersson@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
--cc=robh@kernel.org \
--cc=stable+noautosel@kernel.org \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®