]> git.baikalelectronics.ru Git - kernel.git/commit
ixgbe: implement support for SDP/PPS output on X550 hardware
authorJacob Keller <jacob.e.keller@intel.com>
Fri, 12 Apr 2019 15:33:19 +0000 (08:33 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 5 Jun 2019 20:04:30 +0000 (13:04 -0700)
commit394e54b9dcb96f99fb1da70c48b57f6ce1c571a3
treeab97c78bf274bb21d0f002aa1ffff12e7b81c1f6
parente7a5ecb7dce73110d97c7c0b63fb178ffcd06114
ixgbe: implement support for SDP/PPS output on X550 hardware

Similar to the X540 hardware, enable support for generating a 1pps
output signal on SDP0.

This support is slightly different to the X540 hardware, because of the
register layout changes. First, the system time register is now
represented in 'cycles' and 'billions of cycles'. Second, we need to
also program the TSSDP register, as well as the ESDP register. Third,
the clock output uses only FREQOUT, instead of a full 64bit value for
the output clock period. Finally, we have to use the ST0 bit instead of
the SYNCLK bit in the TSAUXC register.

This support should work even for the hardware with a higher frequency
clock, as it carefully takes into account the multiply and shift of the
cycle counter used.

We also set the pps configuration to 1, since we now support generating
a pulse per second output.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h