I'm trying to get PTP timestamp on STM32H743 Nucleo board. There is no proble with LwIP and ethernet driver so far except for PTP. I followed the instruction( 58.9.7 Programming guidelines for IEEE 1588 timestamping) on reference manual (RM0433) as follow.
CLEAR_BIT(heth->Instance->MACIER, ETH_MACIER_TSIE);
SET_BIT(heth->Instance->MACTSCR, ETH_MACTSCR_TSENA);
WRITE_REG(heth->Instance->MACSSIR, 20);
WRITE_REG(heth->Instance->MACTSAR, 894784853); // 2^63 / 20 / 480M
SET_BIT(heth->Instance->MACTSCR, ETH_MACTSCR_TSADDREG);
while(READ_BIT(heth->Instance->MACTSCR, ETH_MACTSCR_TSADDREG));
SET_BIT(heth->Instance->MACTSCR, ETH_MACTSCR_TSCFUPDT);
WRITE_REG(heth->Instance->MACSTSUR, 0x01);
WRITE_REG(heth->Instance->MACSTNUR, 0x02);
SET_BIT(heth->Instance->MACTSCR, ETH_MACTSCR_TSINIT); // If one-step timestamping is required follow reference manual
// TODO: configure pps
However, System time seconds register (ETH_MACSTSR) does not count and just loaded initial value in System time seconds update register (ETH_MACSTSUR). In reference maual there is no clear information about clock source for PTP. In STM32F7, there is a clock path for PTP as in image below in CubeMX clock configuraton page.
However there no clock path for PTP in STM32H7 as in image below.
Am I missing something about to get system time from the registers ETH_MACSTSR and ETH_MACSTNR?


