• Vladimir Oltean's avatar
    net: dsa: sja1105: allow RX timestamps to be taken on all ports for SJA1110 · 6c0de59b
    Vladimir Oltean authored
    On SJA1105, there is support for a cascade port which is presumably
    connected to a downstream SJA1105 switch. The upstream one does not take
    PTP timestamps for packets received on this port, presumably because the
    downstream switch already did (and for PTP, it only makes sense for the
    leaf nodes in a DSA switch tree to do that).
    
    I haven't been able to validate that feature in a fully assembled setup,
    so I am disabling the feature by setting the cascade port to an unused
    port value (ds->num_ports).
    
    In SJA1110, multiple cascade ports are supported, and CASC_PORT became
    a bit mask from a port number. So when CASC_PORT is set to ds->num_ports
    (which is 11 on SJA1110), it is actually set to 0b1011, so ports 3, 1
    and 0 are configured as cascade ports and we cannot take RX timestamps
    on them.
    
    So we need to introduce a check for SJA1110 and set things differently
    (to zero there), so that the cascading feature is properly disabled and
    RX timestamps can be taken on all ports.
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6c0de59b
sja1105.h 11.4 KB