From: Andrew Lunn <andrew@lunn.ch>
To: "Nazle Asmade,
Muhammad Nazim Amirul"
<muhammad.nazim.amirul.nazle.asmade@altera.com>
Cc: "dinguyen@kernel.org" <dinguyen@kernel.org>,
"maxime.chevallier@bootlin.com" <maxime.chevallier@bootlin.com>,
"rmk+kernel@armlinux.org.uk" <rmk+kernel@armlinux.org.uk>,
"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
"conor+dt@kernel.org" <conor+dt@kernel.org>,
"robh@kernel.org" <robh@kernel.org>,
"davem@davemloft.net" <davem@davemloft.net>,
"edumazet@google.com" <edumazet@google.com>,
"kuba@kernel.org" <kuba@kernel.org>,
"pabeni@redhat.com" <pabeni@redhat.com>,
"andrew+netdev@lunn.ch" <andrew+netdev@lunn.ch>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/3] arm64: dts: socfpga: agilex5: Add SoCDK TSN Config2 board
Date: Fri, 3 Jul 2026 15:12:00 +0200 [thread overview]
Message-ID: <bf7c6343-e0c0-47bd-a857-0f1881fc8659@lunn.ch> (raw)
In-Reply-To: <b8ca3bd8-af8f-43e7-904c-1ac45512296b@altera.com>
> >> The delays are provided by the FPGA GMII-to-RGMII converter soft IP,
> >> which is hardcoded in the FPGA bitstream and cannot be disabled or
> >> modified from the driver side.
> >>
> >> Using phy-mode = "rgmii" is intentional here — it prevents the PHY from
> >> adding its own internal delays on top, since the FPGA converter already
> >> provides the full required delay. This is consistent with how all other
> >> Agilex5 SoCDK board variants are described, as seen in commit
> >> c5637e5ceb4b ("arm64: dts: socfpga: agilex5: Fix phy-mode to rgmii as HW
> >> provides clock delay") already in Dinh Nguyen's tree, which applies the
> >> same rationale across all Agilex5 boards.
> >
> > I've become more insistent that designs get this correct. So i don't
> > care too much about past systems. Many vendors are having to fix up
> > their drivers and DT in order to make new boards consistent.
> >
> > You can look at your system as the FPGA being the MAC, and the PHY is
> > the PHY. The PCB is not providing the delay, the MAC is. This exactly
> > fits the description above.
> >
> > Andrew
> Hi Andrew,
>
> Thank you for the clarification. We agree with your framework in
> principle, but would like to explain why phy-mode = "rgmii" is the
> appropriate description for this specific case.
So you want to be different to every other system? Please extend the
text in that document to say that this device is special and has a
different definition of phy-mode to all other systems.
> After getting more information from hw team, for Agilex specific device,
> the RGMII timing delays on this board are provided by an FPGA delay
> chain (Input/Output Delay Chain primitives in the FPGA fabric). The
> reason for using the FPGA rather than the PHY is that the Marvell PHY on
> this board only supports 0ns or 2ns delay steps — too coarse to meet the
> RGMII timing requirements. The FPGA delay chain provides up to 63 steps
> of ~0.1ns precision, which the hardware team has tuned at design time to
> achieve correct signal timing.
As the text says, fine tuning is different. You can have fine tuning,
in both the MAC or PHY, while using either rgmii or rgmii-id.
Also, you cannot fine tune just the MAC, tuning needs to take into
account the PCB design, the length of the clock and data tracks on the
PCB. You can however take into account the difference in timing within
the FPGA.
Or does your FPGA team produce a different bitstream per board design,
after some sort of calibration in order to determine what the PCB
characteristics are?
This however opens up a new possibility. It does sound like you can
produce a new bitstream with the delays set to just the tuning delay,
not the 2ns + tuning? You need to decide if this is simpler than
changing the MAC driver to mask the phy-mode.
> Changing to phy-mode = "rgmii-id" and having
> the driver strip the delay before passing to the PHY would produce the
> same hardware behaviour (PHY adds zero delay), but would add driver
> complexity with no practical benefit, and would misrepresent the FPGA
> delay as a driver-managed MAC delay when it is actually a fixed,
> board-level hardware calibration.
Look at the wording again. It does not say it is driver managed.
# There are a small number of cases where the MAC has hard coded
# delays which cannot be disabled.
This exactly fits your situation.
> Could you advise if you still prefer the rgmii-id approach given this
> constraint?
rgmii-id is the correct value for your PCB design. Please follow what
the text says.
Andrew
next prev parent reply other threads:[~2026-07-03 13:12 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-30 13:31 [PATCH 0/3] arm64: dts/net: stmmac: Add Agilex5 SoCDK TSN Config2 board support muhammad.nazim.amirul.nazle.asmade
2026-06-30 13:31 ` [PATCH 1/3] dt-bindings: arm: altera: Add Agilex5 SoCDK TSN Config2 board board muhammad.nazim.amirul.nazle.asmade
2026-07-02 7:16 ` Krzysztof Kozlowski
2026-06-30 13:31 ` [PATCH 2/3] arm64: dts: socfpga: agilex5: Add SoCDK TSN Config2 board muhammad.nazim.amirul.nazle.asmade
2026-06-30 13:58 ` Andrew Lunn
2026-06-30 14:39 ` Nazle Asmade, Muhammad Nazim Amirul
2026-06-30 15:25 ` Andrew Lunn
2026-07-01 1:54 ` Nazle Asmade, Muhammad Nazim Amirul
2026-07-01 12:47 ` Andrew Lunn
2026-07-03 7:04 ` Nazle Asmade, Muhammad Nazim Amirul
2026-07-03 13:12 ` Andrew Lunn [this message]
2026-07-02 7:17 ` Krzysztof Kozlowski
2026-07-03 5:28 ` Nazle Asmade, Muhammad Nazim Amirul
2026-06-30 13:31 ` [PATCH 3/3] net: stmmac: dwmac-socfpga: Add mac-mode DT property support muhammad.nazim.amirul.nazle.asmade
2026-06-30 14:02 ` Andrew Lunn
2026-06-30 14:04 ` Maxime Chevallier
2026-06-30 15:13 ` Nazle Asmade, Muhammad Nazim Amirul
2026-06-30 15:42 ` Maxime Chevallier
2026-07-01 1:32 ` Nazle Asmade, Muhammad Nazim Amirul
2026-07-01 6:49 ` Maxime Chevallier
2026-07-01 14:43 ` Andrew Lunn
2026-07-03 8:10 ` Nazle Asmade, Muhammad Nazim Amirul
2026-07-03 13:15 ` Andrew Lunn
2026-06-30 13:53 ` [PATCH 0/3] arm64: dts/net: stmmac: Add Agilex5 SoCDK TSN Config2 board support Maxime Chevallier
2026-07-01 2:09 ` Nazle Asmade, Muhammad Nazim Amirul
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=bf7c6343-e0c0-47bd-a857-0f1881fc8659@lunn.ch \
--to=andrew@lunn.ch \
--cc=andrew+netdev@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=dinguyen@kernel.org \
--cc=edumazet@google.com \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maxime.chevallier@bootlin.com \
--cc=muhammad.nazim.amirul.nazle.asmade@altera.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=rmk+kernel@armlinux.org.uk \
--cc=robh@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