工具/软件:
TI 团队大家好、
我正在使用 J784S4 EVM、并尝试使用 CPSW CPTS 启用 IEEE-1588 PTP 支持。
我已经:
- 在内核配置中启用 CONFIG_TI_K3_AM65_CPTS=y 和 CONFIG_PTP_1588_clock=y。
CONFIG_TI_K3_AM65_CPTS=y CONFIG_PTP_1588_CLOCK=y CONFIG_NETWORK_PHY_TIMESTAMPING=y CONFIG_TI_CPTS=y CONFIG_TI_CPSW_SWITCHDEV=y CONFIG_TI_AM65_CPSW_QOS=y CONFIG_TI_AM65_CPSW_TAS=y CONFIG_TI_K3_AM65_CPSW_NUSS=y
- 将器件树更新为:
&main_cpsw0_cpts {
status = "okay";
};
&main_cpsw0 {
pinctrl-names = "default";
status = "okay";
};
- 我看到 CPTS 正在 dmesg 中注册:
[ 2.163972] am65-CPt 310d0000.CPt:CPt ver 0x4e8a010c、freq:0、add_val:7pps:0
[ 6.299485] am65-cpsw-nuss c000000.ethernet:cpt ver 0x4e8a010c、freq:250000000、add_val:3pps:0
- /sys/class/ptp 显示:
ptp0 -> 310d0000.cpts
ptp1 -> c000000.ethernet
- PHC_ctl /dev/ptp1 get 工作正常、phc2sys 可读取时钟。
PHC_ctl /dev/ptp1 get
PHC_ctl[4394.027]:时钟时间为 4394.027259954、即 1970 年 1 月 1 日星期四 01:13:14
但是、当我使用 ethtool -T eth0 或 ethtool -T eth1 检查时间戳支持时、只看到软件时间戳:
eth0 的时间戳参数:
能力:
软件接收
软件系统时钟
PTP 硬件时钟:无
硬件发送时间戳模式:无
硬件接收滤波器模式:无
eth1 的时间戳参数:
能力:
软件接收
软件系统时钟
PTP 硬件时钟:无
硬件发送时间戳模式:无
硬件接收滤波器模式:无
问题:
- 这是预料之中的吗? CPSW 接口 (eth0/eth1) 是否通过 ethtool -T 广播硬件时间戳、或者仅通过/dev/ptpX?公开时间戳
- 如何确认 PTP 真正的端到端工作(硬件时间戳处于活动状态)?
- 您是否在 J784S4 EVM 上有建议的测试程序(例如,使用 ptp4l 和第二块板验证时间戳)?
提前感谢您的支持。