From: Ido Schimmel <ido...@mellanox.com> Shalom says:
This patchset adds support for physical hardware clock for Spectrum-1 ASIC only. Patches #1, #2 and #3 add the ability to query the free running clock PCI address. Patches #4 and #5 add two new register, the Management UTC Register and the Management Pulse Per Second Register. Patch #6 publishes scaled_ppm_to_ppb() to allow drivers to use it. Patch #7 adds the physical hardware clock operations. Patch #8 initializes the physical hardware clock. Patch #9 adds a selftest for testing the PTP physical hardware clock. v2 (Richard): * s/ptp_clock_scaled_ppm_to_ppb/scaled_ppm_to_ppb/ * imply PTP_1588_CLOCK in mlxsw Kconfig * s/mlxsw_sp1_ptp_update_phc_settime/mlxsw_sp1_ptp_phc_settime/ * s/mlxsw_sp1_ptp_update_phc_adjfreq/mlxsw_sp1_ptp_phc_adjfreq/ Shalom Toledo (9): mlxsw: cmd: Free running clock PCI BAR and offsets via query firmware mlxsw: core: Add a new interface for reading the hardware free running clock mlxsw: pci: Query free running clock PCI BAR and offsets mlxsw: reg: Add Management UTC Register mlxsw: reg: Add Management Pulse Per Second Register ptp: ptp_clock: Publish scaled_ppm_to_ppb mlxsw: spectrum_ptp: Add implementation for physical hardware clock operations mlxsw: spectrum: PTP physical hardware clock initialization selftests: ptp: Add Physical Hardware Clock test drivers/net/ethernet/mellanox/mlxsw/Kconfig | 1 + drivers/net/ethernet/mellanox/mlxsw/Makefile | 1 + drivers/net/ethernet/mellanox/mlxsw/cmd.h | 12 + drivers/net/ethernet/mellanox/mlxsw/core.c | 12 + drivers/net/ethernet/mellanox/mlxsw/core.h | 8 +- drivers/net/ethernet/mellanox/mlxsw/pci.c | 32 +++ drivers/net/ethernet/mellanox/mlxsw/pci_hw.h | 3 + drivers/net/ethernet/mellanox/mlxsw/reg.h | 103 +++++++ .../net/ethernet/mellanox/mlxsw/spectrum.c | 36 +++ .../net/ethernet/mellanox/mlxsw/spectrum.h | 3 + .../ethernet/mellanox/mlxsw/spectrum_ptp.c | 267 ++++++++++++++++++ .../ethernet/mellanox/mlxsw/spectrum_ptp.h | 44 +++ drivers/ptp/ptp_clock.c | 3 +- include/linux/ptp_clock_kernel.h | 8 + tools/testing/selftests/ptp/phc.sh | 166 +++++++++++ 15 files changed, 697 insertions(+), 2 deletions(-) create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.h create mode 100755 tools/testing/selftests/ptp/phc.sh -- 2.20.1