Message ID | 20200616083140.8498-2-s.hauer@pengutronix.de (mailing list archive) |
---|---|
State | Mainlined |
Commit | 1a642ca7f38992b086101fe204a1ae3c90ed8016 |
Headers | show |
Series | [1/2] net: ethernet: mvneta: Fix Serdes configuration for SoCs without comphy | expand |
From: Sascha Hauer <s.hauer@pengutronix.de> Date: Tue, 16 Jun 2020 10:31:40 +0200 > The older SoCs like Armada XP support a 2500BaseX mode in the datasheets > referred to as DR-SGMII (Double rated SGMII) or HS-SGMII (High Speed > SGMII). This is an upclocked 1000BaseX mode, thus > PHY_INTERFACE_MODE_2500BASEX is the appropriate mode define for it. > adding support for it merely means writing the correct magic value into > the MVNETA_SERDES_CFG register. > > Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Applied.
diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c index 9933eb4577d43..23d41550edb0d 100644 --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c @@ -110,6 +110,7 @@ #define MVNETA_SERDES_CFG 0x24A0 #define MVNETA_SGMII_SERDES_PROTO 0x0cc7 #define MVNETA_QSGMII_SERDES_PROTO 0x0667 +#define MVNETA_HSGMII_SERDES_PROTO 0x1107 #define MVNETA_TYPE_PRIO 0x24bc #define MVNETA_FORCE_UNI BIT(21) #define MVNETA_TXQ_CMD_1 0x24e4 @@ -3549,6 +3550,11 @@ static int mvneta_config_interface(struct mvneta_port *pp, mvreg_write(pp, MVNETA_SERDES_CFG, MVNETA_SGMII_SERDES_PROTO); break; + + case PHY_INTERFACE_MODE_2500BASEX: + mvreg_write(pp, MVNETA_SERDES_CFG, + MVNETA_HSGMII_SERDES_PROTO); + break; default: return -EINVAL; }
The older SoCs like Armada XP support a 2500BaseX mode in the datasheets referred to as DR-SGMII (Double rated SGMII) or HS-SGMII (High Speed SGMII). This is an upclocked 1000BaseX mode, thus PHY_INTERFACE_MODE_2500BASEX is the appropriate mode define for it. adding support for it merely means writing the correct magic value into the MVNETA_SERDES_CFG register. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> --- drivers/net/ethernet/marvell/mvneta.c | 6 ++++++ 1 file changed, 6 insertions(+)