mirror-linux/drivers/ptp
Jonathan Lemon 773bda9649 ptp: ocp: Expose various resources on the timecard.
The OpenCompute timecard driver has additional functionality besides
a clock.  Make the following resources available:

 - The external timestamp channels (ts0/ts1)
 - devlink support for flashing and health reporting
 - GPS and MAC serial ports
 - board serial number (obtained from i2c device)

Also add watchdog functionality for when GNSS goes into holdover.

The resources are collected under a timecard class directory:

  [jlemon@timecard ~]$ ls -g /sys/class/timecard/ocp1/
  total 0
  -r--r--r--. 1 root 4096 Aug  3 19:49 available_clock_sources
  -rw-r--r--. 1 root 4096 Aug  3 19:49 clock_source
  lrwxrwxrwx. 1 root    0 Aug  3 19:49 device -> ../../../0000:04:00.0/
  -r--r--r--. 1 root 4096 Aug  3 19:49 gps_sync
  lrwxrwxrwx. 1 root    0 Aug  3 19:49 i2c -> ../../xiic-i2c.1024/i2c-2/
  drwxr-xr-x. 2 root    0 Aug  3 19:49 power/
  lrwxrwxrwx. 1 root    0 Aug  3 19:49 pps ->
  ../../../../../virtual/pps/pps1/
  lrwxrwxrwx. 1 root    0 Aug  3 19:49 ptp -> ../../ptp/ptp2/
  -r--r--r--. 1 root 4096 Aug  3 19:49 serialnum
  lrwxrwxrwx. 1 root    0 Aug  3 19:49 subsystem ->
  ../../../../../../class/timecard/
  lrwxrwxrwx. 1 root    0 Aug  3 19:49 ttyGPS -> ../../tty/ttyS7/
  lrwxrwxrwx. 1 root    0 Aug  3 19:49 ttyMAC -> ../../tty/ttyS8/
  -rw-r--r--. 1 root 4096 Aug  3 19:39 uevent

The labeling is needed at the minimum, in order to tell the serial
devices apart.

Signed-off-by: Jonathan Lemon <jonathan.lemon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-08-04 12:52:50 +01:00
..
Kconfig ptp: ocp: Expose various resources on the timecard. 2021-08-04 12:52:50 +01:00
Makefile ptp: add ptp virtual clock driver framework 2021-07-01 13:08:18 -07:00
idt8a340_reg.h ptp: ptp_clockmatrix: Add wait_for_sys_apll_dpll_lock. 2021-02-17 13:49:25 -08:00
ptp_chardev.c
ptp_clock.c ptp: Relocate lookup cookie to correct block. 2021-07-08 12:33:10 -07:00
ptp_clockmatrix.c ptp: ptp_clockmatrix: Demote non-kernel-doc header to standard comment 2021-03-12 17:09:34 -08:00
ptp_clockmatrix.h ptp: ptp_clockmatrix: Remove unused header declarations. 2021-02-17 13:49:25 -08:00
ptp_dte.c
ptp_idt82p33.c
ptp_idt82p33.h
ptp_ines.c
ptp_kvm_arm.c ptp: arm/arm64: Enable ptp_kvm for arm/arm64 2021-04-07 16:33:20 +01:00
ptp_kvm_common.c ptp: Don't print an error if ptp_kvm is not supported 2021-04-20 17:17:55 +01:00
ptp_kvm_x86.c ptp: Reorganize ptp_kvm.c to make it arch-independent 2021-04-07 16:33:07 +01:00
ptp_ocp.c ptp: ocp: Expose various resources on the timecard. 2021-08-04 12:52:50 +01:00
ptp_pch.c ptp: ptp_p: Demote non-conformant kernel-doc headers and supply a param description 2021-03-12 17:09:34 -08:00
ptp_private.h ptp: add kernel API ptp_get_vclocks_index() 2021-07-01 13:08:18 -07:00
ptp_qoriq.c ptp_qoriq: fix overflow in ptp_qoriq_adjfine() u64 calcalation 2021-03-24 12:10:03 -07:00
ptp_qoriq_debugfs.c
ptp_sysfs.c ptp: fix format string mismatch in ptp_sysfs.c 2021-07-05 10:10:41 -07:00
ptp_vclock.c ptp: add kernel API ptp_convert_timestamp() 2021-07-01 13:08:18 -07:00
ptp_vmw.c