Skip to content

Commit bc1a65e

Browse files
KanjiMonsterPaolo Abeni
authored andcommitted
net: dsa: b53: do not touch DLL_IQQD on bcm53115
According to OpenMDK, bit 2 of the RGMII register has a different meaning for BCM53115 [1]: "DLL_IQQD 1: In the IDDQ mode, power is down0: Normal function mode" Configuring RGMII delay works without setting this bit, so let's keep it at the default. For other chips, we always set it, so not clearing it is not an issue. One would assume BCM53118 works the same, but OpenMDK is not quite sure what this bit actually means [2]: "BYPASS_IMP_2NS_DEL #1: In the IDDQ mode, power is down#0: Normal function mode1: Bypass dll65_2ns_del IP0: Use dll65_2ns_del IP" So lets keep setting it for now. [1] https://github.com/Broadcom-Network-Switching-Software/OpenMDK/blob/master/cdk/PKG/chip/bcm53115/bcm53115_a0_defs.h#L19871 [2] https://github.com/Broadcom-Network-Switching-Software/OpenMDK/blob/master/cdk/PKG/chip/bcm53118/bcm53118_a0_defs.h#L14392 Fixes: 967dd82 ("net: dsa: b53: Add support for Broadcom RoboSwitch") Signed-off-by: Jonas Gorski <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Paolo Abeni <[email protected]>
1 parent 5ea0d42 commit bc1a65e

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

drivers/net/dsa/b53/b53_common.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1354,8 +1354,7 @@ static void b53_adjust_531x5_rgmii(struct dsa_switch *ds, int port,
13541354
* tx_clk aligned timing (restoring to reset defaults)
13551355
*/
13561356
b53_read8(dev, B53_CTRL_PAGE, off, &rgmii_ctrl);
1357-
rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC |
1358-
RGMII_CTRL_TIMING_SEL);
1357+
rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC);
13591358

13601359
/* PHY_INTERFACE_MODE_RGMII_TXID means TX internal delay, make
13611360
* sure that we enable the port TX clock internal delay to
@@ -1375,7 +1374,10 @@ static void b53_adjust_531x5_rgmii(struct dsa_switch *ds, int port,
13751374
rgmii_ctrl |= RGMII_CTRL_DLL_TXC;
13761375
if (interface == PHY_INTERFACE_MODE_RGMII)
13771376
rgmii_ctrl |= RGMII_CTRL_DLL_TXC | RGMII_CTRL_DLL_RXC;
1378-
rgmii_ctrl |= RGMII_CTRL_TIMING_SEL;
1377+
1378+
if (dev->chip_id != BCM53115_DEVICE_ID)
1379+
rgmii_ctrl |= RGMII_CTRL_TIMING_SEL;
1380+
13791381
b53_write8(dev, B53_CTRL_PAGE, off, rgmii_ctrl);
13801382

13811383
dev_info(ds->dev, "Configured port %d for %s\n", port,

0 commit comments

Comments
 (0)