[PATCH 2/2] net: ethernet: nb8800: Fix RGMII TX clock delay setup
Mason
slash.tmp at free.fr
Thu Jul 20 05:33:00 PDT 2017
On 19/07/2017 23:34, Florian Fainelli wrote:
> How about you start reading the RGMII specification so we can at least,
> if nothing else agree on the terminology? It's public:
>
> http://web.archive.org/web/20160303171328/http://www.hp.com/rnd/pdfs/RGMIIv2_0_final_hp.pdf
Thanks for linking the spec. Having no EE training,
I am ill-equipped to interpret the timings table.
As you pointed out, the spec states that the
"Data to Clock input Skew (at Receiver)"
must be within [ 1.0, 2.6 ] ns.
I understand that 2 ns is 1/4 of a 125 MHz period,
but it's not clear to me why the above interval is
centered at 1.8 instead of 2.0 ns.
Also, the AR8035 PHY offers 4 possible TX clock delays:
{ 0.25, 1.3, 2.4, 3.4 } according to their doc.
The two extremes are outside the interval, when would
they be useful? In case the transmitter adds "bad" skew?
Why doesn't the PHY support 1.8/2.0? Is it perhaps
unable to, because of PLL limitations?
It's also not clear to me if wire length has any
influence on the required skew. I would say "no".
I think signal propagation time has nothing to do
with clock skew (as long as both wires are roughly
the same length).
> Some Ethernet controllers let you change it, some don't, if nb8800
> allows it, it's good for testing in that it packs more frames per
> quantum of time. If not, do you have at least a FCS error counter?
I'll have a closer look, and test with iPerf3.
Or is there a better benchmark? I will look for
an inter-packet gap knob and FCS error counter.
> I completely understand what you want to solve but I suspect you will
> have to do it in a way where you either accept that you may not be fully
> compliant with the now clarified "phy-mode" description, in order not to
> break other people's set up that were already non-compliant (can't blame
> them, they did not know back then), or you will have to use additional
> MAC properties to override the delay settings on the MAC or PHY side.
I think I need to give up the notion of "fixing"
the at803x driver. Some boards rely on the fact
that RX clock delay is enabled by default, like
am335x-evm using "rgmii-txid" instead of "rgmii-id".
My board needs to enable both internal delays,
so I don't need the PHY patch. I will only fix
the MAC driver and the DTS.
Regards.
More information about the linux-arm-kernel
mailing list