Skip to content

Commit b2fc08d

Browse files
KanjiMonstergregkh
authored andcommitted
net: dsa: b53: do not touch DLL_IQQD on bcm53115
[ Upstream commit bc1a65e ] 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]> Signed-off-by: Sasha Levin <[email protected]>
1 parent 1aa3169 commit b2fc08d

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
@@ -1356,8 +1356,7 @@ static void b53_adjust_531x5_rgmii(struct dsa_switch *ds, int port,
13561356
* tx_clk aligned timing (restoring to reset defaults)
13571357
*/
13581358
b53_read8(dev, B53_CTRL_PAGE, off, &rgmii_ctrl);
1359-
rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC |
1360-
RGMII_CTRL_TIMING_SEL);
1359+
rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC);
13611360

13621361
/* PHY_INTERFACE_MODE_RGMII_TXID means TX internal delay, make
13631362
* sure that we enable the port TX clock internal delay to
@@ -1377,7 +1376,10 @@ static void b53_adjust_531x5_rgmii(struct dsa_switch *ds, int port,
13771376
rgmii_ctrl |= RGMII_CTRL_DLL_TXC;
13781377
if (interface == PHY_INTERFACE_MODE_RGMII)
13791378
rgmii_ctrl |= RGMII_CTRL_DLL_TXC | RGMII_CTRL_DLL_RXC;
1380-
rgmii_ctrl |= RGMII_CTRL_TIMING_SEL;
1379+
1380+
if (dev->chip_id != BCM53115_DEVICE_ID)
1381+
rgmii_ctrl |= RGMII_CTRL_TIMING_SEL;
1382+
13811383
b53_write8(dev, B53_CTRL_PAGE, off, rgmii_ctrl);
13821384

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

0 commit comments

Comments
 (0)