mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 06:09:23 -04:00
net: ethernet: mvneta: Add 2500BaseX support for SoCs without comphy
[ Upstream commit 1a642ca7f38992b086101fe204a1ae3c90ed8016 ] 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> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
996bd0778a
commit
203cfe694e
1 changed files with 6 additions and 0 deletions
|
|
@ -108,6 +108,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
|
||||
|
|
@ -3199,6 +3200,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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue