Re: [PATCH net-next v2 1/5] net: stmmac: Add common internal RGMII delay handling
From: Maxime Chevallier <maxime.chevallier@bootlin.com>
Date: 2026-09-07 11:45:18
Also in:
linux-arm-kernel, linux-devicetree, lkml
Hi, On 9/7/26 09:46, Jia Wang wrote:
quoted hunk ↗ jump to hunk
Some DWMAC integrations add fixed RGMII clock delays internally. Glue drivers need to account for these delays before passing the interface mode to the PHY. Add TX and RX delay capability flags to the common platform data. Apply phy_fix_phy_mode_for_mac_delays() in stmmac_pltfr_probe() when either capability is present. This lets glue drivers describe the MAC capabilities without duplicating the interface-mode validation and conversion. Signed-off-by: Jia Wang <wangjia@ultrarisc.com> --- drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 11 +++++++++++ include/linux/stmmac.h | 2 ++ 2 files changed, 13 insertions(+)diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c index 6128ed1bd521..93b9af203a18 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c@@ -16,6 +16,7 @@ #include <linux/of.h> #include <linux/of_net.h> #include <linux/of_mdio.h> +#include <linux/phy.h> #include "stmmac.h" #include "stmmac_platform.h"@@ -847,6 +848,16 @@ int stmmac_pltfr_probe(struct platform_device *pdev, struct plat_stmmacenet_data *plat, struct stmmac_resources *res) { + if (plat->has_internal_tx_delay || plat->has_internal_rx_delay) { + plat->phy_interface = + phy_fix_phy_mode_for_mac_delays(plat->phy_interface, + plat->has_internal_tx_delay, + plat->has_internal_rx_delay); + if (plat->phy_interface == PHY_INTERFACE_MODE_NA) + return dev_err_probe(&pdev->dev, -EINVAL, + "unsupported phy interface mode\n"); + } +
Seems good, the default values should be false hence this condition won't be taken, Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com> Maxime