mirror_ubuntu-kernels/drivers/net/ethernet/intel/i40e
Piotr Kwapulinski 1050713026 i40e: add support for PTP external synchronization clock
Add support for external synchronization clock via GPIOs.
1PPS signals are handled via the dedicated 3 GPIOs: SDP3_2,
SDP3_3 and GPIO_4.
Previously it was not possible to use the external PTP
synchronization clock.
All possible HW configurations are supported.
	SDP3_2,	SDP3_3,	GPIO_4
	off,	off,	off
	off,	in_A,	off
	off,	out_A,	off
	off,	in_B,	off
	off,	out_B,	off
	in_A,	off,	off
	in_A,	in_B,	off
	in_A,	out_B,	off
	out_A,	off,	off
	out_A,	in_B,	off
	in_B,	off,	off
	in_B,	in_A,	off
	in_B,	out_A,	off
	out_B,	off,	off
	out_B,	in_A,	off
	off,	off,	in_A
	off,	out_A,	in_A
	off,	in_B,	in_A
	off,	out_B,	in_A
	out_A,	off,	in_A
	out_A,	in_B,	in_A
	in_B,	off,	in_A
	in_B,	out_A,	in_A
	out_B,	off,	in_A
	off,	off,	out_A
	off,	in_A,	out_A
	off,	in_B,	out_A
	off,	out_B,	out_A
	in_A,	off,	out_A
	in_A,	in_B,	out_A
	in_A,	out_B,	out_A
	in_B,	off,	out_A
	in_B,	in_A,	out_A
	out_B,	off,	out_A
	out_B,	in_A,	out_A
	off,	off,	in_B
	off,	in_A,	in_B
	off,	out_A,	in_B
	off,	out_B,	in_B
	in_A,	off,	in_B
	in_A,	out_B,	in_B
	out_A,	off,	in_B
	out_B,	off,	in_B
	out_B,	in_A,	in_B
	off,	off,	out_B
	off,	in_A,	out_B
	off,	out_A,	out_B
	off,	in_B,	out_B
	in_A,	off,	out_B
	in_A,	in_B,	out_B
	out_A,	off,	out_B
	out_A,	in_B,	out_B
	in_B,	off,	out_B
	in_B,	in_A,	out_B
	in_B,	out_A,	out_B

Tested with oscilloscope, 1PPS generator and ts2phc.

Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Reviewed-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
Signed-off-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com>
Tested-by: Ashish K <ashishx.k@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-07-21 08:53:54 -07:00
..
i40e_adminq_cmd.h i40e: Fix PHY type identifiers for 2.5G and 5G adapters 2021-05-07 09:35:49 -07:00
i40e_adminq.c i40e: Allow changing FEC settings on X722 if supported by FW 2020-10-13 19:44:01 -07:00
i40e_adminq.h intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
i40e_alloc.h
i40e_client.c RDMA/irdma: Add irdma Kconfig/Makefile and remove i40iw 2021-06-02 20:06:36 -03:00
i40e_common.c i40e: clean up packet type lookup table 2021-06-18 09:04:44 -07:00
i40e_dcb_nl.c intel: clean up mismatched header comments 2021-03-23 11:34:02 -07:00
i40e_dcb.c intel: clean up mismatched header comments 2021-03-23 11:34:02 -07:00
i40e_dcb.h i40e: Add hardware configuration for software based DCB 2021-02-10 14:28:39 -08:00
i40e_ddp.c intel: clean up mismatched header comments 2021-03-23 11:34:02 -07:00
i40e_debugfs.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-04-09 20:48:35 -07:00
i40e_devids.h i40e: Add support for 5Gbps cards 2020-06-25 22:25:13 -07:00
i40e_diag.c
i40e_diag.h
i40e_ethtool.c i40e: Fix autoneg disabling for non-10GBaseT links 2021-06-24 10:23:57 -07:00
i40e_hmc.c i40e: Implement debug macro hw_dbg using dev_dbg 2019-09-09 11:22:20 -07:00
i40e_hmc.h i40e: remove unused defines 2020-06-25 22:25:13 -07:00
i40e_lan_hmc.c intel: clean up mismatched header comments 2021-03-23 11:34:02 -07:00
i40e_lan_hmc.h
i40e_main.c i40e: add support for PTP external synchronization clock 2021-07-21 08:53:54 -07:00
i40e_nvm.c intel: clean up mismatched header comments 2021-03-23 11:34:02 -07:00
i40e_osdep.h i40e: remove unused defines 2020-06-25 22:25:13 -07:00
i40e_prototype.h i40e: Add hardware configuration for software based DCB 2021-02-10 14:28:39 -08:00
i40e_ptp.c i40e: add support for PTP external synchronization clock 2021-07-21 08:53:54 -07:00
i40e_register.h i40e: add support for PTP external synchronization clock 2021-07-21 08:53:54 -07:00
i40e_status.h
i40e_trace.h intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
i40e_txrx_common.h intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
i40e_txrx.c intel: Remove rcu_read_lock() around XDP program invocation 2021-06-24 19:44:34 +02:00
i40e_txrx.h i40e: store the result of i40e_rx_offset() onto i40e_ring 2021-02-12 10:35:13 -08:00
i40e_type.h i40e: clean up packet type lookup table 2021-06-18 09:04:44 -07:00
i40e_virtchnl_pf.c i40e: improve locking of mac_filter_hash 2021-07-19 09:18:30 -07:00
i40e_virtchnl_pf.h i40e: Revert "i40e: don't report link up for a VF who hasn't enabled queues" 2021-02-01 13:18:31 -08:00
i40e_xsk.c intel: Remove rcu_read_lock() around XDP program invocation 2021-06-24 19:44:34 +02:00
i40e_xsk.h i40e: Use batched xsk Tx interfaces to increase performance 2020-11-17 22:07:40 +01:00
i40e.h i40e: add support for PTP external synchronization clock 2021-07-21 08:53:54 -07:00
Makefile