• Rasmus Villemoes's avatar
    net: dsa: mv88e6xxx: add support for mv88e6250 · 1f71836f
    Rasmus Villemoes authored
    This adds support for the Marvell 88E6250. I've checked that each
    member in the ops-structure makes sense, and basic switchdev
    functionality works fine.
    
    It uses the new dual_chip option, and since its port registers start
    at SMI address 0x08 or 0x18 (i.e., always sw_addr + 0x08), we need to
    introduce a new compatible string in order for the auto-identification
    in mv88e6xxx_detect() to work.
    
    The chip has four per port 16-bits statistics registers, two of which
    correspond to the existing "sw_in_filtered" and "sw_out_filtered" (but
    at offsets 0x13 and 0x10 rather than 0x12 and 0x13, because why should
    this be easy...). Wiring up those four statistics seems to require
    introducing a STATS_TYPE_PORT_6250 bit or similar, which seems a tad
    ugly, so for now this just allows access to the STATS_TYPE_BANK0 ones.
    
    The chip does have ptp support, and the existing
    mv88e6352_{gpio,avb,ptp}_ops at first glance seem like they would work
    out-of-the-box, but for simplicity (and lack of testing) I'm eliding
    this.
    Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
    Signed-off-by: default avatarRasmus Villemoes <rasmus.villemoes@prevas.dk>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1f71836f
chip.h 16.4 KB