mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
net: stmmac: qcom-ethqos: move 1G vs 100M/10M RGMII settings
Move RGMII_CONFIG_BYPASS_TX_ID_EN, RGMII_CONFIG_POS_NEG_DATA_SEL and RGMII_CONFIG_PROG_SWAP. There are two states for these: one group for 1G, and the logical inversion for 100M and 10M. Move this out of the switch into an if-else clause. Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Tested-by: Mohd Ayaan Anwar <mohd.anwar@oss.qualcomm.com> Link: https://patch.msgid.link/E1w62nJ-0000000E3CL-3YSr@rmk-PC.armlinux.org.uk Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
6be23c4c63
commit
82d5fdc82a
|
|
@ -404,14 +404,24 @@ static int ethqos_rgmii_macro_init(struct qcom_ethqos *ethqos, int speed)
|
|||
|
||||
rgmii_setmask(ethqos, RGMII_CONFIG_DDR_MODE, RGMII_IO_MACRO_CONFIG);
|
||||
|
||||
switch (speed) {
|
||||
case SPEED_1000:
|
||||
if (speed == SPEED_1000) {
|
||||
rgmii_clrmask(ethqos, RGMII_CONFIG_BYPASS_TX_ID_EN,
|
||||
RGMII_IO_MACRO_CONFIG);
|
||||
rgmii_setmask(ethqos, RGMII_CONFIG_POS_NEG_DATA_SEL,
|
||||
RGMII_IO_MACRO_CONFIG);
|
||||
rgmii_setmask(ethqos, RGMII_CONFIG_PROG_SWAP,
|
||||
RGMII_IO_MACRO_CONFIG);
|
||||
} else {
|
||||
rgmii_setmask(ethqos, RGMII_CONFIG_BYPASS_TX_ID_EN,
|
||||
RGMII_IO_MACRO_CONFIG);
|
||||
rgmii_clrmask(ethqos, RGMII_CONFIG_POS_NEG_DATA_SEL,
|
||||
RGMII_IO_MACRO_CONFIG);
|
||||
rgmii_clrmask(ethqos, RGMII_CONFIG_PROG_SWAP,
|
||||
RGMII_IO_MACRO_CONFIG);
|
||||
}
|
||||
|
||||
switch (speed) {
|
||||
case SPEED_1000:
|
||||
rgmii_clrmask(ethqos, RGMII_CONFIG2_DATA_DIVIDE_CLK_SEL,
|
||||
RGMII_IO_MACRO_CONFIG2);
|
||||
|
||||
|
|
@ -443,12 +453,6 @@ static int ethqos_rgmii_macro_init(struct qcom_ethqos *ethqos, int speed)
|
|||
break;
|
||||
|
||||
case SPEED_100:
|
||||
rgmii_setmask(ethqos, RGMII_CONFIG_BYPASS_TX_ID_EN,
|
||||
RGMII_IO_MACRO_CONFIG);
|
||||
rgmii_clrmask(ethqos, RGMII_CONFIG_POS_NEG_DATA_SEL,
|
||||
RGMII_IO_MACRO_CONFIG);
|
||||
rgmii_clrmask(ethqos, RGMII_CONFIG_PROG_SWAP,
|
||||
RGMII_IO_MACRO_CONFIG);
|
||||
rgmii_clrmask(ethqos, RGMII_CONFIG2_DATA_DIVIDE_CLK_SEL,
|
||||
RGMII_IO_MACRO_CONFIG2);
|
||||
rgmii_updatel(ethqos, RGMII_CONFIG2_TX_CLK_PHASE_SHIFT_EN,
|
||||
|
|
@ -479,12 +483,6 @@ static int ethqos_rgmii_macro_init(struct qcom_ethqos *ethqos, int speed)
|
|||
break;
|
||||
|
||||
case SPEED_10:
|
||||
rgmii_setmask(ethqos, RGMII_CONFIG_BYPASS_TX_ID_EN,
|
||||
RGMII_IO_MACRO_CONFIG);
|
||||
rgmii_clrmask(ethqos, RGMII_CONFIG_POS_NEG_DATA_SEL,
|
||||
RGMII_IO_MACRO_CONFIG);
|
||||
rgmii_clrmask(ethqos, RGMII_CONFIG_PROG_SWAP,
|
||||
RGMII_IO_MACRO_CONFIG);
|
||||
rgmii_clrmask(ethqos, RGMII_CONFIG2_DATA_DIVIDE_CLK_SEL,
|
||||
RGMII_IO_MACRO_CONFIG2);
|
||||
rgmii_updatel(ethqos, RGMII_CONFIG2_TX_CLK_PHASE_SHIFT_EN,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user