Thread: [Linuxptp-users] AM571x linuxptp support
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
From: David C. <dav...@co...> - 2016-11-17 15:02:36
|
Hi, On the project's page I see that there is hardware timestamp support on the cpts for the TI am335x (code can be found on linux kernel at <linux kernel 3.8+>/drivers/net/ethernet/ti/cpts.c) The AM571x and AM572x have the same CPTS block and the PTP solution on this family of processors is very similar. My question to this list is: How is the support for linuxptp on these processors? Is it fully functional ? Thank you regards, David -- *+1 (343) 777-1735* David Cemin http://coveloz.com <http://coveloz.com/> |
From: Richard C. <ric...@gm...> - 2016-11-17 17:12:48
|
On Thu, Nov 17, 2016 at 09:36:54AM -0500, David Cemin wrote: > The AM571x and AM572x have the same CPTS block and the PTP solution on this > family of processors is very similar. > > My question to this list is: How is the support for linuxptp on these > processors? Is it fully functional ? If the cpts driver is enabled via the device tree, then the block should work as well on the am57xx as it does on the am335x. I haven't tried it though. HTH, Richard |
From: David C. <dav...@co...> - 2016-11-18 13:20:30
|
Hi Richard, thank you for your prompt response. I assume you have tried it on TI AM335x then. If that is the case, did you use any specific development kit ? Im interested in understanding what kind of external hardware would be required for this (i.e. external controlled oscillator). Also, do you know anything about the 1pps output on these devices ? Thank you regards David On Thu, Nov 17, 2016 at 12:12 PM, Richard Cochran <ric...@gm...> wrote: > On Thu, Nov 17, 2016 at 09:36:54AM -0500, David Cemin wrote: > > The AM571x and AM572x have the same CPTS block and the PTP solution on > this > > family of processors is very similar. > > > > My question to this list is: How is the support for linuxptp on these > > processors? Is it fully functional ? > > If the cpts driver is enabled via the device tree, then the block > should work as well on the am57xx as it does on the am335x. I haven't > tried it though. > > HTH, > Richard > > -- *+1 (343) 777-1735* David Cemin http://coveloz.com <http://coveloz.com/> |
From: Richard C. <ric...@gm...> - 2016-11-19 07:23:57
|
On Fri, Nov 18, 2016 at 08:20:22AM -0500, David Cemin wrote: > thank you for your prompt response. I assume you have tried it on TI AM335x > then. If that is the case, did you use any specific development kit ? It works on the BBW and BBB. > Im > interested in understanding what kind of external hardware would be > required for this (i.e. external controlled oscillator). It works without external HW, but see below. We don't have any generic kernel support for external VCOs, but you can hack it in for a particular MAC by changing the PHC driver's .adjfreq method to steer the VCO instead. > Also, do you know > anything about the 1pps output on these devices ? The frequency adjustment logic on the am335x is broken. The driver implements frequency adjustment in SW. So the HW functions are useless. Even if the HW frequency worked, still the resolution of the capture/compare logic is so coarse as to be unusable, IIRC. HTH, Richard |
From: Dale S. <dal...@gm...> - 2016-11-19 16:40:13
|
Sent from my iPhone > On Nov 19, 2016, at 2:23 AM, Richard Cochran <ric...@gm...> wrote: > The frequency adjustment logic on the am335x is broken. The driver > implements frequency adjustment in SW. So the HW functions are > useless. Interesting. Do you think it's possible to rewrite the driver to use whatever HW support is available? Or is the HW so broken that they had to do it in SW? > Even if the HW frequency worked, still the resolution of the > capture/compare logic is so coarse as to be Yeah, if you can't wiggle an I/o pin precisely based of the 1588 clock, what's the point of the clock? -Dale |
From: Richard C. <ric...@gm...> - 2016-11-19 20:24:32
|
On Sat, Nov 19, 2016 at 11:40:03AM -0500, Dale Smith wrote: > Interesting. Do you think it's possible to rewrite the driver to > use whatever HW support is available? Or is the HW so broken that > they had to do it in SW? The HW PLLs on the am335x are not stable, and so when you dial a non-zero frequency adjustment, the clock goes bonkers. There is no SW work around that I am aware of. > Yeah, if you can't wiggle an I/o pin precisely based of the 1588 > clock, what's the point of the clock? Well, you can synchronize this PHC reasonably well via PTP, and then use phc2sys to get the system time globally correct to within a few microseconds, so it is not totally useless. but you are right, it is a shame that this HW unit is so poorly designed. Thanks, Richard |
From: FUSTE E. <emm...@th...> - 2016-11-21 09:36:44
|
Le 19/11/2016 à 21:24, Richard Cochran a écrit : > On Sat, Nov 19, 2016 at 11:40:03AM -0500, Dale Smith wrote: >> Interesting. Do you think it's possible to rewrite the driver to >> use whatever HW support is available? Or is the HW so broken that >> they had to do it in SW? > The HW PLLs on the am335x are not stable, and so when you dial a > non-zero frequency adjustment, the clock goes bonkers. There is no SW > work around that I am aware of. > >> Yeah, if you can't wiggle an I/o pin precisely based of the 1588 >> clock, what's the point of the clock? > Well, you can synchronize this PHC reasonably well via PTP, and then > use phc2sys to get the system time globally correct to within a few > microseconds, so it is not totally useless. but you are right, it is > a shame that this HW unit is so poorly designed. If the HW time stamping and PHC adjustments are working well, this is not very fair. I don't know many socs that support steering their main PLLs during normal operations. Even if the PLLs are not very stable, you could do very very slow external adjustments but you need a non negligible amount of external HW. Regards, Emmanuel. |