Re: Intel Timed-IO driver in IIO/Counter subsystem

Jonathan Cameron
2022-06-17T17:15:37Z

On Fri, 17 Jun 2022 10:03:30 -0400
William Breathitt Gray <william.gray@linaro.org> wrote:

> On Fri, Jun 17, 2022 at 06:37:14AM +0000, N, Pandith wrote:
> > Hi,
> >
> > We have a Intel Timed IO peripheral with following functionalities :
> >
> > 1. Event capture capability - Captures event count and timestamp.
> > 2. Pulse generation - periodic or single event generation.
> > 3. Return cross-timestamp on request.
> >
> > Timed IO device is being used in various Industrial use cases such as : time capture, synchronization, fan speed calculation etc.
> >
> > IIO or counter subsystem seems to be suitable for timed-io driver.
> >
> > Is it favourable to implement as part of IIO or counter subsystem ? Wanted to know your feedback.
> >
> > We may need to use custom ABI for sysfs based user interaction OR
> > Can we enhance ioctl interface to accommodate our use case (counter-chardev.c) ?
> > Since timed-io works in nano second precision, ioctl is more suitable.
> >
> > Regards,
> > Pandith and Sowjanya
> >
> > ps : resent the mail with plain text as delivery to linux-iio@vger.kernel.org failed.
>
> Hello Pandith and Sowjanya,
>
> What you are describing sounds similar to what counter-chardev.c tries
> to solve (i.e. Counter events with timestamps). Would you elaborate more
> on how this device works and what you are trying to accomplish with it?
>
> For example, when you refer to an "event count and timestamp", does
> count here mean the internal device hardware timestamp or is this the
> Linux system timestamp? Does "pulse generation" refer to capturing the
> count on some physical line signal, or is this a device-internal timer
> countdown trigger event? Is "cross-timestamp" referring to a difference
> calculation between two count events?
>
> Thanks,
>
> William Breathitt Gray
>

If there is any chance of some docs access it might cut down people trying to
interpret what "Captures event count and timestamp" means! :) That could be
read as encoder type cases or it could be read as single event capture.

As you've discovered, the boundaries can get rather blurred!

Jonathan