Re: [PATCH 0/3] Enable PTP timestamping/PPS for AM65x SR1.0 devices
From: Jan Kiszka
Date: Fri May 31 2024 - 02:23:10 EST
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@xxxxxxxxxxx>
> ---
> 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