• Rafał Miłecki's avatar
    net: dsa: b53: Fix IMP port setup on BCM5301x · 63f8428b
    Rafał Miłecki authored
    Broadcom's b53 switches have one IMP (Inband Management Port) that needs
    to be programmed using its own designed register. IMP port may be
    different than CPU port - especially on devices with multiple CPU ports.
    
    For that reason it's required to explicitly note IMP port index and
    check for it when choosing a register to use.
    
    This commit fixes BCM5301x support. Those switches use CPU port 5 while
    their IMP port is 8. Before this patch b53 was trying to program port 5
    with B53_PORT_OVERRIDE_CTRL instead of B53_GMII_PORT_OVERRIDE_CTRL(5).
    
    It may be possible to also replace "cpu_port" usages with
    dsa_is_cpu_port() but that is out of the scope of thix BCM5301x fix.
    
    Fixes: 967dd82f ("net: dsa: b53: Add support for Broadcom RoboSwitch")
    Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    63f8428b
b53_common.c 69.5 KB