Commit 6887a8f98244 for kernel

commit 6887a8f98244ba4c0fbe2d2461b9b8f8a300e326
Author: James Clark <jjc@jclark.com>
Date:   Mon Nov 2 20:51:17 2026 +0700

    net: ethernet: ti: am65-cpsw-nuss: Enable timestamping of unicast PTP packets

    On a BeagleY-AI (J722S), ptp4l as a unicast master (unicast_listen) logs
    "received DELAY_REQ without timestamp" for each unicast Delay_Req, and
    its port goes to FAULTY after "timed out while polling for tx timestamp"
    for the first unicast Sync.

    am65_cpsw_nuss_hwtstamp_set() does not set the TS_UNI_EN bit (bit 24) of
    the port's TS_CTL_LTYPE2 register. According to the TRM (J722S TRM
    SPRUJB3D, 12.2.1.4.7.13.5.1 Ethernet Port Receive Event and
    12.2.1.4.7.13.5.2 Ethernet Port Transmit Event), this bit must be set
    for the port to timestamp PTP event messages over UDP sent to a unicast
    address; without it, only messages sent to the PTP multicast addresses
    selected by the TS_107 and TS_129 to TS_132 bits are timestamped. TI's
    netcp_ethss driver for the Keystone 2 Ethernet switch, which has the
    same timestamping registers, always sets TS_UNI_EN.

    Set TS_UNI_EN along with the other bits. With this change, ptp4l in the
    same setup gets timestamps for the unicast Delay_Req and Sync messages.

    Fixes: b1f66a5bee07 ("net: ethernet: ti: am65-cpsw-nuss: enable packet timestamping support")
    Cc: stable@vger.kernel.org
    Signed-off-by: James Clark <jjc@jclark.com>
    Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Link: https://patch.msgid.link/20261102135117.419539-1-jjc@jclark.com
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>

diff --git a/drivers/net/ethernet/ti/am65-cpsw-nuss.c b/drivers/net/ethernet/ti/am65-cpsw-nuss.c
index 2551554add17..9ed6644fd0bd 100644
--- a/drivers/net/ethernet/ti/am65-cpsw-nuss.c
+++ b/drivers/net/ethernet/ti/am65-cpsw-nuss.c
@@ -128,6 +128,7 @@
 #define AM65_CPSW_PN_TS_CTL_LTYPE2_TS_319	BIT(21)
 #define AM65_CPSW_PN_TS_CTL_LTYPE2_TS_320	BIT(22)
 #define AM65_CPSW_PN_TS_CTL_LTYPE2_TS_TTL_NONZERO BIT(23)
+#define AM65_CPSW_PN_TS_CTL_LTYPE2_TS_UNI_EN	BIT(24)

 /* The PTP event messages - Sync, Delay_Req, Pdelay_Req, and Pdelay_Resp. */
 #define AM65_CPSW_TS_EVENT_MSG_TYPE_BITS (BIT(0) | BIT(1) | BIT(2) | BIT(3))
@@ -1857,7 +1858,8 @@ static int am65_cpsw_nuss_hwtstamp_set(struct net_device *ndev,
 			 AM65_CPSW_PN_TS_CTL_LTYPE2_TS_132 |
 			 AM65_CPSW_PN_TS_CTL_LTYPE2_TS_319 |
 			 AM65_CPSW_PN_TS_CTL_LTYPE2_TS_320 |
-			 AM65_CPSW_PN_TS_CTL_LTYPE2_TS_TTL_NONZERO;
+			 AM65_CPSW_PN_TS_CTL_LTYPE2_TS_TTL_NONZERO |
+			 AM65_CPSW_PN_TS_CTL_LTYPE2_TS_UNI_EN;

 	ts_ctrl = AM65_CPSW_TS_EVENT_MSG_TYPE_BITS <<
 		  AM65_CPSW_PN_TS_CTL_MSG_TYPE_EN_SHIFT;