From: "Min Lin" <linmin@eswincomputing.com>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>
Cc: "Bo Gan" <ganboing@gmail.com>, "Andrew Lunn" <andrew@lunn.ch>,
"Krzysztof Kozlowski" <krzk@kernel.org>,
李志 <lizhi2@eswincomputing.com>,
devicetree@vger.kernel.org, andrew+netdev@lunn.ch,
davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
netdev@vger.kernel.org, pabeni@redhat.com,
mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com,
linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, ningyu@eswincomputing.com,
pinkesh.vaghela@einfochips.com, weishangjuan@eswincomputing.com
Subject: Re: Re: Re: [PATCH v1 1/2] dt-bindings: ethernet: eswin: add clock sampling control
Date: Tue, 27 Jan 2026 14:14:51 +0800 (GMT+08:00) [thread overview]
Message-ID: <32a1f814.2c79.19bfe173225.Coremail.linmin@eswincomputing.com> (raw)
In-Reply-To: <aXeydXuWEMDz-yVM@shell.armlinux.org.uk>
Hi Russell,
> -----Original Messages-----
> From: "Russell King (Oracle)" <linux@armlinux.org.uk>
> Send time:Tuesday, 27/01/2026 02:29:09
> To: "Min Lin" <linmin@eswincomputing.com>
> Cc: "Bo Gan" <ganboing@gmail.com>, "Andrew Lunn" <andrew@lunn.ch>, "Krzysztof Kozlowski" <krzk@kernel.org>, 李志 <lizhi2@eswincomputing.com>, devicetree@vger.kernel.org, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, netdev@vger.kernel.org, pabeni@redhat.com, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, ningyu@eswincomputing.com, pinkesh.vaghela@einfochips.com, weishangjuan@eswincomputing.com
> Subject: Re: Re: [PATCH v1 1/2] dt-bindings: ethernet: eswin: add clock sampling control
>
> On Mon, Jan 26, 2026 at 11:10:12AM +0800, Min Lin wrote:
> > Due to chip backend reasons, there is already a ~4-5ns skew between the RX
> > clock and data of the eth1 MAC controller inside the silicon.
>
> Let's analyse this.
>
> TXC / RXC TXC / RXC
> Speed Clock rate Clock period
> 1G 125MHz 8ns
> 100M 25MHz 40ns
> 10M 2.5MHz 400ns
>
> The required skew for TXC and RXC at the receiver is specified to be
> between 1 and 2.6ns irrespective of the speed. The edge of the clock
> is also important: the rising edge indicates the lower 4 bits, and
> the falling edge indicates the upper 4 bits.
>
> At 1G speed, with a "4 to 5ns" skew in the chip. If this is accurate,
> then inverting the clock and adding 1ns of additional skew by some
> means (PCB trace, or at the MAC or PHY) will give the required clock
> at the receiver.
>
Yes, that's exactly the case.
> The timing table in the RGMII standard (3.3) allows for Tcyc (the
> clock rate) to be scaled, but there is no allowance for scaling
> TskewR (the required 1 to 2.6ns skew.) This skew parameter is
> fixed.
>
> So, at the other speeds, you are completely unable to meet the timing
> specification, whether irrespective of the clock inversion. In effect,
> the only speed that you can meet the specification is 1G.
>
The timing table in the RGMII standard(3.3) says the max value of Tskew
for 10/100 is unspecified.
Quotation:"note1: ...,For 10/100 the Max value is unspecified."
I think for 10/100, the "4 to 5ns" skew in the chip doesn't break the
standard. At 10/100 speeds, it meets the timing specification without
having to to add clock inversion.
In practice, it works at 10/100 speeds in the rgmii-id phy mode.
> Thus, I think this is something that needs a lot more than just "do
> we need to invert the clock". You also need to prevent 10M and 100M
> being supported IMHO.
>
Regards,
Lin Min
next prev parent reply other threads:[~2026-01-27 6:15 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-09 8:06 [PATCH v1 0/2] net: stmmac: eic7700: fix EIC7700 eth1 RX sampling timing lizhi2
2026-01-09 8:08 ` [PATCH v1 1/2] dt-bindings: ethernet: eswin: add clock sampling control lizhi2
2026-01-09 18:27 ` Andrew Lunn
2026-01-10 18:26 ` Russell King (Oracle)
2026-01-11 4:05 ` Bo Gan
2026-01-12 7:05 ` 李志
2026-01-22 13:27 ` Andrew Lunn
2026-01-22 16:03 ` Russell King (Oracle)
2026-01-27 7:05 ` Min Lin
2026-01-27 13:40 ` Andrew Lunn
2026-01-12 6:00 ` 李志
2026-01-22 13:32 ` Andrew Lunn
2026-01-23 3:00 ` 李志
2026-01-23 3:19 ` Andrew Lunn
2026-01-23 7:39 ` Bo Gan
2026-01-23 9:52 ` 李志
2026-01-23 10:07 ` Krzysztof Kozlowski
2026-01-23 10:47 ` Bo Gan
2026-01-23 19:43 ` Andrew Lunn
2026-01-24 4:57 ` Bo Gan
2026-01-26 3:10 ` Min Lin
2026-01-26 18:29 ` Russell King (Oracle)
2026-01-27 6:14 ` Min Lin [this message]
2026-01-28 2:38 ` Bo Gan
2026-01-28 5:48 ` Min Lin
2026-02-03 6:06 ` Min Lin
2026-02-03 13:16 ` Andrew Lunn
2026-01-28 10:05 ` Krzysztof Kozlowski
2026-01-29 2:01 ` Bo Gan
2026-01-09 8:09 ` [PATCH v1 2/2] net: stmmac: eic7700: enable clocks before syscon access and correct RX sampling timing lizhi2
2026-01-09 18:31 ` Andrew Lunn
2026-01-12 6:55 ` 李志
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=32a1f814.2c79.19bfe173225.Coremail.linmin@eswincomputing.com \
--to=linmin@eswincomputing.com \
--cc=alexandre.torgue@foss.st.com \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=ganboing@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=linux@armlinux.org.uk \
--cc=lizhi2@eswincomputing.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=ningyu@eswincomputing.com \
--cc=pabeni@redhat.com \
--cc=pinkesh.vaghela@einfochips.com \
--cc=robh@kernel.org \
--cc=weishangjuan@eswincomputing.com \
/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.