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