net: dsa: bcm_sf2: fix BCM4908 RGMII reg(s)
authorRafał Miłecki <rafal@milecki.pl>
Thu, 18 Mar 2021 08:01:43 +0000 (09:01 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 18 Mar 2021 21:44:05 +0000 (14:44 -0700)
BCM4908 has only 1 RGMII reg for controlling port 7.

Fixes: 73b7a6047971 ("net: dsa: bcm_sf2: support BCM4908's integrated switch")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/bcm_sf2.c
drivers/net/dsa/bcm_sf2_regs.h

index 044972b..7e0ca80 100644 (file)
@@ -36,7 +36,12 @@ static u16 bcm_sf2_reg_rgmii_cntrl(struct bcm_sf2_priv *priv, int port)
 {
        switch (priv->type) {
        case BCM4908_DEVICE_ID:
-               /* TODO */
+               switch (port) {
+               case 7:
+                       return REG_RGMII_11_CNTRL;
+               default:
+                       break;
+               }
                break;
        default:
                switch (port) {
@@ -1223,9 +1228,7 @@ static const u16 bcm_sf2_4908_reg_offsets[] = {
        [REG_PHY_REVISION]      = 0x14,
        [REG_SPHY_CNTRL]        = 0x24,
        [REG_CROSSBAR]          = 0xc8,
-       [REG_RGMII_0_CNTRL]     = 0xe0,
-       [REG_RGMII_1_CNTRL]     = 0xec,
-       [REG_RGMII_2_CNTRL]     = 0xf8,
+       [REG_RGMII_11_CNTRL]    = 0x014c,
        [REG_LED_0_CNTRL]       = 0x40,
        [REG_LED_1_CNTRL]       = 0x4c,
        [REG_LED_2_CNTRL]       = 0x58,
index 3d5515f..7bffc80 100644 (file)
@@ -21,6 +21,7 @@ enum bcm_sf2_reg_offs {
        REG_RGMII_0_CNTRL,
        REG_RGMII_1_CNTRL,
        REG_RGMII_2_CNTRL,
+       REG_RGMII_11_CNTRL,
        REG_LED_0_CNTRL,
        REG_LED_1_CNTRL,
        REG_LED_2_CNTRL,