I am working on iMX8M-EVK to generate IEEE 1588 PPS output. It seems like there are two IEEE 1588 event out signals and I needed to use ENET1_1588_EVENT1_OUT as it got routed to one of the headers on the board.
I need to make the changes recommended in https://community.nxp.com/thread/428589
1. Configure IOMUX for ENET1_1588_EVENT1_OUT
2. Configure IEEE 1588 module to generate ENET1_1588_EVENT1_OUT
I am new to Yocto project and would appreciate any help or guidance in setting up the configuration.
I have included ptpd2 using IMAGE_append (<build_dir>/conf/local.conf file).
when I run "ptpd2 -A -m -E -I eth0" I can see PTP messages coming out but "echo 1>/sys/class/ptp/ptp0/pps_enable" gives write error "fec 30be0000.ethernet: no ptp stack is running"
i want to hnow which pin is the PPS pin on a imx8qxp processor？ the ENET0_REFCLK_125M_25M ALT2?
is the same way to config the 1PPS for both the imx8m and imx8qxp?
I am having a related problem. In our case, we want to use the eth0 1588 1PPS signal to precisely control the start time of an I/O event on the M4 processor (to an accuracy of within a few microseconds) . I am running ptp4l on the A53. Based on the ptp4l logs it is locking to the laptop I am using for a master clock. We enable the 1 PPS signal using:
echo 1 > /sys/class/ptp/ptp0/pps_enable
On the M4 side, I am running a program that enables and receives the 1 PPS signal as an IRQ(121). In the ISR, I read the ENET->ATVR register as well as the 32kHz RTC registers. Both sets of counters are indicating that the 1 PPS interrupt is occurring every 1.024 s, not every 1.000 s. Outside the ISR, I print the values to the debug terminal. I have plotted the time differences for the two counters using Matlab. See the figure below.
Any idea what's going on?
I have a scope I can use to look at the 1 PPS signal. I haven't tried that as I do not know that I can see the difference between 1.000 and 1.024 seconds between pulses, but I do have available to me high-precision GPS-disciplined 1 PPS I could compare to if someone can help me figure out how to direct the 1 PPS signal to a pin on J1003 of the EVK.
My apologies. Are you still working on this? Some of the changes suggested need to be perform in the source code itself. My recommendation would be working on this outside of the Yocto environment and compiling directly with the toolchain (which you can extract from the Yocto BSP) as Yocto is not meant for development but rather for distribution, and it won’t track changes in the source code.
There are a couple of document that tackle the matter of making your customized BSP like for example:
You may also find the Yocto Project BSP Developer’s Guide useful as well, for when you want to commit the changes for your application:
I hope this helps!