Brian Hutchinson

Trying to get 1588 working on imx8 mini

Discussion created by Brian Hutchinson on Nov 15, 2019
Latest reply on May 22, 2020 by Brian Hutchinson



I found this link How to get IEEE 1588 1PPS on i.MX6Q?  talking about getting the 1PPS signal working for 1588.


I made the change to the fec_ptp.c driver and I "think" I have pinmux setup correctly in my .dts ... but I don't get a signal.


So next I thought I'd wiggle the pin manually using the gpiolib echo method just to verify I had things setup correctly.


I changed pinmux to use GPIO1_IO09 instead of 1588 then tried:


echo 41 > /sys/class/gpio/export

echo out > /sys/class/gpio/gpio41/direction

echo 1 > /sys/class/gpio/gpio41/value

echo 0 > /sys/class/gpio/gpio41/value


.. and don't see the pin wiggle.


So next I moved to more drastic measures and used devmem2 to set direction in GPIO Data Direction register (0x30200004) for bit 9 and then wrote to GPIO Data Register to toggle bit 9 and I can wiggle the pin that way (directly writing to registers) so I know hardware is good, I'm on the right pin etc.


My question is, what should the i.mx8 mini dts look like to setup 1588 signal?  (MX8MM_IOMUX_GPIO1_IO09_ENET1_1588_EVENT0_OUT)


Any ideas why the echo commands above didn't wiggle the pin?  Is gpio41 not the right pin number for GPIO1_IO09???


Thanks for any pointers.


Background, I have the linuxptp 2.0 stack running and it is syncing with my master clock so I don't get any errors when I run echo 1 > /sys/class/ptp/ptp0/pps_enable