On Thu, 18 Jun 2020 08:40:23 +0200 Kurt Kanzenbach wrote: > From: Kamil Alkhouri <kamil.alkhouri@xxxxxxxxxxxxxxx> > > 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: Kamil Alkhouri <kamil.alkhouri@xxxxxxxxxxxxxxx> > Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxx> Please make sure each patch in the series builds cleanly with the W=1 C=1 flags. Here we have: ../drivers/net/dsa/hirschmann/hellcreek_ptp.c: In function ‘__hellcreek_ptp_clock_read’: ../drivers/net/dsa/hirschmann/hellcreek_ptp.c:30:28: warning: variable ‘sech’ set but not used [-Wunused-but-set-variable] 30 | u16 nsl, nsh, secl, secm, sech; | ^~~~ ../drivers/net/dsa/hirschmann/hellcreek_ptp.c:30:22: warning: variable ‘secm’ set but not used [-Wunused-but-set-variable] 30 | u16 nsl, nsh, secl, secm, sech; | ^~~~ ../drivers/net/dsa/hirschmann/hellcreek_ptp.c:30:16: warning: variable ‘secl’ set but not used [-Wunused-but-set-variable] 30 | u16 nsl, nsh, secl, secm, sech; | ^~~~ Next patch adds a few more.