Thread (20 messages) 20 messages, 2 authors, 16d ago

Re: [PATCH net-next v3 0/5] net: stmmac: Add support for Allwinner A733 GMAC210

flat view

From: Jerome Brunet <jbrunet@baylibre.com>
Date: 2026-09-29 15:06:28
Also in: linux-arm-kernel, linux-devicetree, linux-sunxi, lkml

On ven. 25 sept. 2026 at 21:45, Andrew Lunn [off-list ref] wrote:
quoted
quoted
You need to differentiate between small fine tuning delays, and the
2ns delay required by the RGMII standard. If the MAC is just doing
fine tuning, you need to still pass PHY_INTERFACE_MODE_RGMII_ID so the
PHY adds the 2ns delay. If the MAC is adding a big delay, you need to
pass PHY_INTERFACE_MODE_RGMII to the PHY.
The PHY is one concern but the series here does not really address this
topic. DTS and board specific concerns will come later.
They are all interconnected. When phy-mode says 'rgmii-id', it is the
MAC/PHY pair which needs to decide who adds the delay. If the phy-mode
is 'na', how does the MAC know it needs to use RGMII, not MII, as you
said.

We need to keep the big picture in mind, otherwise you could go down a
dead end, and a dead end which makes backwards compatibility really
messy.
I agree with you with on all this. I understand this particular MAC/PHY
combo is sparking this discussion, Let's sort this out properly, no
rush.

I'm merely pointing out that the problem is not introduced by the code
submited here. Other MAC can set delays, Other MACs would need to handle
mis-behaving PHY too.
quoted
It is really just the MAC. So, how does the MAC is supposed to
make the decision to amend the PHY mode ? is there a threshold you'd
like to recommend for this differentiation ? 
This is the first time we have had this condition. So it has not
really been thought about too much. Maybe 1ns. That is the middle of
the 2ns required by RGMII.
quoted
I'll try to reach out, just in case. I have the schematics but without
the PHY doc, it does not help much.
From that i assume you missed the other emails. Somebody from ARM give
a link to the data sheet. It documents the strapping. Search for the
patch adding the PHY driver, it is in that thread.
Thanks for the heads up. So if I'm reading the doc correctly the PHY
adds 2ns
 * on RX if there a 4.7k pull-up on RXD0
 * on TX if there a 4.7k pull-up on RXD1

The schematics for the board are available here [1]

* 4.7k pull-up on RXD0: so we should have 2ns Rx from the PHY
* 4.7k pull-down on RXD1: no idea what this does. Presumably no delay ?

I've cross-checked the HW, the resistors are actually fitted as the
schematic says they are.

With the HW setup, the MAC setup that works for me remains

	tx-internal-delay-ps = <1620>;
	rx-internal-delay-ps = <1800>;

I know it is not aligned with what it expected but still.

I've tried with
 * rx-internal-delay-ps = <0>. No Rx.
 * tx-internal-delay-ps at 1800ps, it still works with some TCP retries here and
   there on iperf3. 1980ps stalls after just a few packets.

[1]: https://dl.radxa.com/cubie/a7a/docs/hw/radxa_cubie_a7a_v1.10_schematic.pdf
	Andrew
-- 
Jerome
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help