net: ti cpsw ethernet: set IFCTL_A bit in MACCONTROL
For RMII/RGMII mode operation in 100Mbps, the CPSW needs to set the IFCTL_A bits in the MACCONTROL register. For all other PHY modes, this bit is unused, so setting it unconditionally shouldn't cause any trouble. Signed-off-by: Daniel Mack <zonque@gmail.com> Cc: Mugunthan V N <mugunthanvnm@ti.com> Cc: Vaibhav Hiremath <hvaibhav@ti.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8112ec3b87
commit
342b7b741d
1 changed files with 5 additions and 0 deletions
|
@ -386,6 +386,11 @@ static void _cpsw_adjust_link(struct cpsw_slave *slave,
|
||||||
mac_control |= BIT(7); /* GIGABITEN */
|
mac_control |= BIT(7); /* GIGABITEN */
|
||||||
if (phy->duplex)
|
if (phy->duplex)
|
||||||
mac_control |= BIT(0); /* FULLDUPLEXEN */
|
mac_control |= BIT(0); /* FULLDUPLEXEN */
|
||||||
|
|
||||||
|
/* set speed_in input in case RMII mode is used in 100Mbps */
|
||||||
|
if (phy->speed == 100)
|
||||||
|
mac_control |= BIT(15);
|
||||||
|
|
||||||
*link = true;
|
*link = true;
|
||||||
} else {
|
} else {
|
||||||
mac_control = 0;
|
mac_control = 0;
|
||||||
|
|
Loading…
Reference in a new issue