On Sat, Oct 16, 2021 at 08:33:39PM -0500, David Lechner wrote: > This documents new unit timer sysfs attributes for the counter > subsystem. > > Signed-off-by: David Lechner <david@xxxxxxxxxxxxxx> Hello David, The unit timer is effectively a Count in its own right, so instead of introducing new sysfs attributes you can just implement it as another Count in the driver. Count 0 is "QPOSCNT", so set the name of this new Count 1 as "Unit Timer" (or the datasheet naming if more apt) to differentiate the Counts. You can then provide the "unit_timer_enable", "unit_timer_period", and "unit_timer_time" functionalities as respective Count 1 extensions ("enable" and "period") and Count 1 "count". If you believe it appropriate, you can provide the raw timer ticks via the Count 1 "count" while a nanoseconds interface is provided via a Count 1 extension "timeout" (or something similar). William Breathitt Gray > --- > Documentation/ABI/testing/sysfs-bus-counter | 24 +++++++++++++++++++++ > drivers/counter/ti-eqep.c | 2 +- > 2 files changed, 25 insertions(+), 1 deletion(-) > > diff --git a/Documentation/ABI/testing/sysfs-bus-counter b/Documentation/ABI/testing/sysfs-bus-counter > index 06c2b3e27e0b..37d960a8cb1b 100644 > --- a/Documentation/ABI/testing/sysfs-bus-counter > +++ b/Documentation/ABI/testing/sysfs-bus-counter > @@ -218,6 +218,9 @@ What: /sys/bus/counter/devices/counterX/signalY/cable_fault_enable_component_id > What: /sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler_component_id > What: /sys/bus/counter/devices/counterX/signalY/index_polarity_component_id > What: /sys/bus/counter/devices/counterX/signalY/synchronous_mode_component_id > +What: /sys/bus/counter/devices/unit_timer_enable_component_id > +What: /sys/bus/counter/devices/unit_timer_period_component_id > +What: /sys/bus/counter/devices/unit_timer_time_component_id > KernelVersion: 5.16 > Contact: linux-iio@xxxxxxxxxxxxxxx > Description: > @@ -345,3 +348,24 @@ Description: > via index_polarity. The index function (as enabled via > preset_enable) is performed synchronously with the > quadrature clock on the active level of the index input. > + > +What: /sys/bus/counter/devices/unit_timer_enable > +KernelVersion: 5.16 > +Contact: linux-iio@xxxxxxxxxxxxxxx > +Description: > + Read/write attribute that starts or stops the unit timer. Valid > + values are boolean. > + > +What: /sys/bus/counter/devices/unit_timer_period > +KernelVersion: 5.16 > +Contact: linux-iio@xxxxxxxxxxxxxxx > +Description: > + Read/write attribute that selects the unit timer timeout in > + nanoseconds. > + > +What: /sys/bus/counter/devices/unit_timer_time > +KernelVersion: 5.16 > +Contact: linux-iio@xxxxxxxxxxxxxxx > +Description: > + Read/write attribute that indicates the current time of the > + unit timer in nanoseconds. > diff --git a/drivers/counter/ti-eqep.c b/drivers/counter/ti-eqep.c > index a4a5a4486329..1ba7f3c7cb7e 100644 > --- a/drivers/counter/ti-eqep.c > +++ b/drivers/counter/ti-eqep.c > @@ -680,7 +680,7 @@ static int ti_eqep_probe(struct platform_device *pdev) > pm_runtime_get_sync(dev); > > /* > - * We can end up with an interupt infinite loop (interrupts triggered > + * We can end up with an interrupt infinite loop (interrupts triggered > * as soon as they are cleared) if we leave these at the default value > * of 0 and events are enabled. > */ > -- > 2.25.1 >
Attachment:
signature.asc
Description: PGP signature