Messages in this thread | | | From | "Y.b. Lu" <> | Subject | RE: [PATCH 6/6] ptp_ocelot: support 4 programmable pins | Date | Thu, 26 Mar 2020 09:25:11 +0000 |
| |
Hi Richard,
> -----Original Message----- > From: Richard Cochran <richardcochran@gmail.com> > Sent: Wednesday, March 25, 2020 9:16 PM > To: Y.b. Lu <yangbo.lu@nxp.com> > Cc: linux-kernel@vger.kernel.org; netdev@vger.kernel.org; David S . Miller > <davem@davemloft.net>; Vladimir Oltean <vladimir.oltean@nxp.com>; > Claudiu Manoil <claudiu.manoil@nxp.com>; Andrew Lunn <andrew@lunn.ch>; > Vivien Didelot <vivien.didelot@gmail.com>; Florian Fainelli > <f.fainelli@gmail.com>; Alexandre Belloni <alexandre.belloni@bootlin.com>; > Microchip Linux Driver Support <UNGLinuxDriver@microchip.com> > Subject: Re: [PATCH 6/6] ptp_ocelot: support 4 programmable pins > > On Fri, Mar 20, 2020 at 06:37:26PM +0800, Yangbo Lu wrote: > > Support 4 programmable pins for only one function periodic > > signal for now. > > For now?
Yes. The pin on Ocelot/Felix supports both PTP_PF_PEROUT and PTP_PF_EXTTS functions. But the PTP_PF_EXTTS function should be implemented separately in Ocelot and Felix since hardware interrupt implementation is different on them. I am responsible for Felix. However I am facing some issue on PTP_PF_EXTTS function on hardware. It may take a long time to discuss internally.
Thanks.
> > > +static int ocelot_ptp_verify(struct ptp_clock_info *ptp, unsigned int pin, > > + enum ptp_pin_function func, unsigned int chan) > > +{ > > + switch (func) { > > + case PTP_PF_NONE: > > + case PTP_PF_PEROUT: > > + break; > > If the functions cannot be changed, then supporting the > PTP_PIN_SETFUNC ioctl does not make sense!
Did you mean the dead lock issue? Or you thought the pin supported only PTP_PF_PEROUT function in hardware?
> > > + case PTP_PF_EXTTS: > > + case PTP_PF_PHYSYNC: > > + return -1; > > + } > > + return 0; > > +} > > Thanks, > Richard
| |