kernel: b53: force BCM531x5 port 5 link state if enabled
Some devices (e.g. Tenda AC9 based on BCM47189B0) have BCM53125 with port 5 connected to the second Ethernet interface on the SoC. In such case there is no PHY and we need to force link manually. This assumes port 5 can be marked as enabled for such devices. It's not implemented yet unfortunately. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
This commit is contained in:
parent
dd158ef346
commit
8072223347
1 changed files with 13 additions and 0 deletions
|
@ -534,6 +534,19 @@ static int b53_switch_reset(struct b53_device *dev)
|
||||||
b53_write8(dev, B53_CTRL_PAGE, B53_PORT_OVERRIDE_CTRL,
|
b53_write8(dev, B53_CTRL_PAGE, B53_PORT_OVERRIDE_CTRL,
|
||||||
mii_port_override | PORT_OVERRIDE_EN |
|
mii_port_override | PORT_OVERRIDE_EN |
|
||||||
PORT_OVERRIDE_LINK);
|
PORT_OVERRIDE_LINK);
|
||||||
|
|
||||||
|
/* BCM47189 has another interface connected to the port 5 */
|
||||||
|
if (dev->enabled_ports & BIT(5)) {
|
||||||
|
u8 po_reg = B53_GMII_PORT_OVERRIDE_CTRL(5);
|
||||||
|
u8 gmii_po;
|
||||||
|
|
||||||
|
b53_read8(dev, B53_CTRL_PAGE, po_reg, &gmii_po);
|
||||||
|
gmii_po |= GMII_PO_LINK |
|
||||||
|
GMII_PO_RX_FLOW |
|
||||||
|
GMII_PO_TX_FLOW |
|
||||||
|
GMII_PO_EN;
|
||||||
|
b53_write8(dev, B53_CTRL_PAGE, po_reg, gmii_po);
|
||||||
|
}
|
||||||
} else if (is5301x(dev)) {
|
} else if (is5301x(dev)) {
|
||||||
if (cpu_port == 8) {
|
if (cpu_port == 8) {
|
||||||
u8 mii_port_override;
|
u8 mii_port_override;
|
||||||
|
|
Loading…
Reference in a new issue