• Kamil Alkhouri's avatar
    net: dsa: hellcreek: Add PTP clock support · ddd56dfe
    Kamil Alkhouri authored
    The switch has internal PTP hardware clocks. Add support for it. There are three
    clocks:
    
     * Synchronized
     * Syntonized
     * Free running
    
    Currently the synchronized clock is exported to user space which is a good
    default for the beginning. The free running clock might be exported later
    e.g. for implementing 802.1AS-2011/2020 Time Aware Bridges (TAB). The switch
    also supports cross time stamping for that purpose.
    
    The implementation adds support setting/getting the time as well as offset and
    frequency adjustments. However, the clock only holds a partial timeofday
    timestamp. This is why we track the seconds completely in software (see overflow
    work and last_ts).
    
    Furthermore, add the PTP multicast addresses into the FDB to forward that
    packages only to the CPU port where they are processed by a PTP program.
    Signed-off-by: default avatarKamil Alkhouri <kamil.alkhouri@hs-offenburg.de>
    Signed-off-by: Kurt Kanzenbach's avatarKurt Kanzenbach <kurt@linutronix.de>
    Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    ddd56dfe
hellcreek_ptp.c 7.97 KB