[PATCH 0/3] Enable PTP timestamping/PPS for AM65x SR1.0 devices

Jan Kiszka jan.kiszka at siemens.com
Thu May 30 23:22:49 PDT 2024


On 29.05.24 18:05, Diogo Ivo wrote:
> This patch series enables support for PTP in AM65x SR1.0 devices.
> 
> This feature relies heavily on the Industrial Ethernet Peripheral
> (IEP) hardware module, which implements a hardware counter through
> which time is kept. This hardware block is the basis for exposing
> a PTP hardware clock to userspace and for issuing timestamps for
> incoming/outgoing packets, allowing for time synchronization.
> 
> The IEP also has compare registers that fire an interrupt when the
> counter reaches the value stored in a compare register. This feature
> allows us to support PPS events in the kernel.
> 
> The changes are separated into three patches:
>  - PATCH 01/03: Register SR1.0 devices with the IEP infrastructure to
> 		expose a PHC clock to userspace, allowing time to be
> 		adjusted using standard PTP tools. The code for issuing/
> 		collecting packet timestamps is already present in the
> 		current state of the driver, so only this needs to be
> 		done.
>  - PATCH 02/03: Add support for IEP compare event/interrupt handling
> 		to enable PPS events.
>  - PATCH 03/03: Add the interrupts to the IOT2050 device tree.
> 
> Currently every compare event generates two interrupts, the first
> corresponding to the actual event and the second being a spurious
> but otherwise harmless interrupt. The root cause of this has been
> identified and has been solved in the platform's SDK. A forward port
> of the SDK's patches also fixes the problem in upstream but is not
> included here since it's upstreaming is out of the scope of this
> series. If someone from TI would be willing to chime in and help
> get the interrupt changes upstream that would be great!
> 

IIRC, we are talking about this downstream patch:

https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/commit/?h=ti-linux-5.10.y&id=bbe0ff82f922d368cb7e00c5905f6d4a51635c47

Jan

> Signed-off-by: Diogo Ivo <diogo.ivo at siemens.com>
> ---
> Diogo Ivo (3):
>       net: ti: icssg-prueth: Enable PTP timestamping support for SR1.0 devices
>       net: ti: icss-iep: Enable compare events
>       arm64: dts: ti: iot2050: Add IEP interrupts for SR1.0 devices
> 
>  .../boot/dts/ti/k3-am65-iot2050-common-pg1.dtsi    | 12 ++++
>  drivers/net/ethernet/ti/icssg/icss_iep.c           | 71 ++++++++++++++++++++++
>  drivers/net/ethernet/ti/icssg/icssg_prueth_sr1.c   | 49 ++++++++++++++-
>  3 files changed, 131 insertions(+), 1 deletion(-)
> ---
> base-commit: 2f0e3f6a6824dfda2759225326d9c69203c06bc8
> change-id: 20240529-iep-8bb4a3cb9068
> 
> Best regards,

-- 
Siemens AG, Technology
Linux Expert Center




More information about the linux-arm-kernel mailing list