You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.5 KiB
Diff
43 lines
1.5 KiB
Diff
From 2d3da16317086ba6048c601ee88cdc96f19fd741 Mon Sep 17 00:00:00 2001
|
|
From: Tim Harvey <tharvey@gateworks.com>
|
|
Date: Fri, 7 Feb 2020 12:40:26 -0800
|
|
Subject: [PATCH 01/12] net: thunderx: use proper interface type for RGMII
|
|
|
|
The configuration of the OCTEONTX XCV_DLL_CTL register via
|
|
xcv_init_hw() is such that the RGMII RX delay is bypassed
|
|
leaving the RGMII TX delay enabled in the MAC:
|
|
|
|
/* Configure DLL - enable or bypass
|
|
* TX no bypass, RX bypass
|
|
*/
|
|
cfg = readq_relaxed(xcv->reg_base + XCV_DLL_CTL);
|
|
cfg &= ~0xFF03;
|
|
cfg |= CLKRX_BYP;
|
|
writeq_relaxed(cfg, xcv->reg_base + XCV_DLL_CTL);
|
|
|
|
This would coorespond to a interface type of PHY_INTERFACE_MODE_RGMII_RXID
|
|
and not PHY_INTERFACE_MODE_RGMII.
|
|
|
|
Fixing this allows RGMII PHY drivers to do the right thing (enable
|
|
RX delay in the PHY) instead of erroneously enabling both delays in the
|
|
PHY.
|
|
|
|
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
|
|
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
---
|
|
drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
--- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
|
|
+++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
|
|
@@ -1048,7 +1048,7 @@ static int phy_interface_mode(u8 lmac_ty
|
|
if (lmac_type == BGX_MODE_QSGMII)
|
|
return PHY_INTERFACE_MODE_QSGMII;
|
|
if (lmac_type == BGX_MODE_RGMII)
|
|
- return PHY_INTERFACE_MODE_RGMII;
|
|
+ return PHY_INTERFACE_MODE_RGMII_RXID;
|
|
|
|
return PHY_INTERFACE_MODE_SGMII;
|
|
}
|