Tool/software:
The Linux driver am65-cpts.c seems to use wrong bits for estf ppm adjustments compared to the AM65x/DRA80xM Technical Reference Manual spruid7e.
Line 451-456:
if (cpts->pps_enabled) {
estf_ctrl_val = am65_cpts_read32(cpts, genf[pps_index].control);
if (neg_adj)
estf_ctrl_val &= ~BIT(1);
else
estf_ctrl_val |= BIT(1);
According to 11.1.4.1.33 CPTS_TS_ESTF_CONTROL_REG Register in spruid7e the PPM_DIR bit should be bit 0, not bit 1. Also its polarity is used in a inverse way.
Question: Is the driver correct, or the Technical Reference Manual?
Thanks a lot for your help,
best regards,
Bernd