From: Yi Cong <cong.yi@linux.dev>
To: Frank.Sae@motor-comm.com, andrew@lunn.ch, hkallweit1@gmail.com,
linux@armlinux.org.uk
Cc: davem@davemloft.net, kuba@kernel.org, netdev@vger.kernel.org,
Yi Cong <yicong@kylinos.cn>
Subject: [PATCH net-next 2/2] net: phy: motorcomm: correct the default tx delay config for the rgmii
Date: Wed, 29 Oct 2025 11:00:43 +0800 [thread overview]
Message-ID: <20251029030043.39444-3-cong.yi@linux.dev> (raw)
In-Reply-To: <20251029030043.39444-1-cong.yi@linux.dev>
From: Yi Cong <yicong@kylinos.cn>
According to the dataSheet, rx delay default value is set to 750 ps.
Signed-off-by: Yi Cong <yicong@kylinos.cn>
---
drivers/net/phy/motorcomm.c | 29 ++++++++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/drivers/net/phy/motorcomm.c b/drivers/net/phy/motorcomm.c
index 620c879d89e4..15e59b980704 100644
--- a/drivers/net/phy/motorcomm.c
+++ b/drivers/net/phy/motorcomm.c
@@ -213,6 +213,33 @@
#define YT8521_RC1R_RGMII_2_100_NS 14
#define YT8521_RC1R_RGMII_2_250_NS 15
+/* The value of the register and the actual tx delay
+ * have a nonlinear relationship at 1000Mbps(ext_reg 0xA003[3:0]):
+ * ------------------------------------------
+ * ext_reg0xA003[3:0] | tx delay(PS)
+ * ------------------------------------------
+ * b'0100 0
+ * b'0101 150
+ * b'0110 300
+ * b'0111 450
+ * b'0000 600
+ * b'0001 750
+ * b'0010 900
+ * b'0011 1050
+ * b'1100 1200
+ * b'1101 1350
+ * b'1110 1500
+ * b'1111 1650
+ * b'1000 1800
+ * b'1001 1950
+ * b'1010 2100
+ * b'1011 2250
+ * ------------------------------------------
+ * According to the dataSheet, it set to 4b'1 and
+ * the delay value is 750 ps(b'0001)
+ */
+#define YT8521_RC1R_RGMII_NONLINEAR_0_750_NS 1
+
/* LED CONFIG */
#define YT8521_MAX_LEDS 3
#define YT8521_LED0_CFG_REG 0xA00C
@@ -893,7 +920,7 @@ static int ytphy_rgmii_clk_delay_config(struct phy_device *phydev)
YT8521_RC1R_RGMII_0_000_NS);
tx_reg = ytphy_get_delay_reg_value(phydev, "tx-internal-delay-ps",
ytphy_rgmii_delays, tb_size, NULL,
- YT8521_RC1R_RGMII_1_950_NS);
+ YT8521_RC1R_RGMII_NONLINEAR_0_750_NS);
switch (phydev->interface) {
case PHY_INTERFACE_MODE_RGMII:
--
2.25.1
prev parent reply other threads:[~2025-10-29 3:01 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-29 3:00 [PATCH net-next 0/2] Correct the config according to the motorcomm chip manual Yi Cong
2025-10-29 3:00 ` [PATCH net-next 1/2] net: phy: motorcomm: correct the default rx delay config for the rgmii Yi Cong
2025-10-29 12:07 ` Andrew Lunn
2025-10-30 2:25 ` Yi Cong
2025-10-30 12:57 ` Andrew Lunn
2025-10-31 2:27 ` Yi Cong
2025-10-31 12:21 ` Andrew Lunn
2025-10-29 3:00 ` Yi Cong [this message]
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=20251029030043.39444-3-cong.yi@linux.dev \
--to=cong.yi@linux.dev \
--cc=Frank.Sae@motor-comm.com \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=hkallweit1@gmail.com \
--cc=kuba@kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=yicong@kylinos.cn \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.