mbox series

[v2,0/6] counter: fix, improvements and stm32 timer events support

Message ID 20230922143920.3144249-1-fabrice.gasnier@foss.st.com (mailing list archive)
Headers show
Series counter: fix, improvements and stm32 timer events support | expand

Message

Fabrice Gasnier Sept. 22, 2023, 2:39 p.m. UTC
This series combines some fix and improvements to the counter interface,
found while stm32 timer counter driver developements.
It also introduces a new tool that can be used for testing.

Then, it improves the stm32 timer counter driver by introducing new signals,
e.g. counting frequency, and missing channels.
It also adds support for interrupt based events using the chrdev interface.
Two event types are added in this series: overflows and capture.

Up to now, stm32 timer counter driver focused mainly on quadrature
encoder feature. With this series, all timer instances can be enabled
for simple counting (with overflow and capture events).

Changes in v2:
- counter fix and improvement patch applied, hence dropped in v2 series
- mfd patch applied, hence dropped in v2 series
- revisit watch events tool (mainly command line interface)
- add one patch to rename STM32 Timer counter
- various review comments from v1

Fabrice Gasnier (6):
  tools/counter: add a flexible watch events tool
  counter: stm32-timer-cnt: rename quadrature signal
  counter: stm32-timer-cnt: rename counter
  counter: stm32-timer-cnt: introduce clock signal
  counter: stm32-timer-cnt: populate capture channels and check encoder
  counter: stm32-timer-cnt: add support for events

 drivers/counter/stm32-timer-cnt.c    | 558 ++++++++++++++++++++++++++-
 include/linux/mfd/stm32-timers.h     |  15 +
 tools/counter/Build                  |   1 +
 tools/counter/Makefile               |  12 +-
 tools/counter/counter_watch_events.c | 368 ++++++++++++++++++
 5 files changed, 934 insertions(+), 20 deletions(-)
 create mode 100644 tools/counter/counter_watch_events.c

Comments

William Breathitt Gray Oct. 13, 2023, 10:57 p.m. UTC | #1
On Fri, Sep 22, 2023 at 04:39:14PM +0200, Fabrice Gasnier wrote:
> This series combines some fix and improvements to the counter interface,
> found while stm32 timer counter driver developements.
> It also introduces a new tool that can be used for testing.
> 
> Then, it improves the stm32 timer counter driver by introducing new signals,
> e.g. counting frequency, and missing channels.
> It also adds support for interrupt based events using the chrdev interface.
> Two event types are added in this series: overflows and capture.
> 
> Up to now, stm32 timer counter driver focused mainly on quadrature
> encoder feature. With this series, all timer instances can be enabled
> for simple counting (with overflow and capture events).

Hi Fabrice,

Would you give a brief summary of the possible configurations we can
have for these devices. For example, the existing driver supports a
quadrature counting mode where Channel 1 and Channel 2 serve as A and B
inputs; I also see that another mode is a simple tally counter with the
internal clock serving as the input. How do Channel 3 and Channel 4 fit
in here?

If you list out all the possible arrangements, I think it'll help me
understand how the signals match up with each particular mode.

Thanks,

William Breathitt Gray

> 
> Changes in v2:
> - counter fix and improvement patch applied, hence dropped in v2 series
> - mfd patch applied, hence dropped in v2 series
> - revisit watch events tool (mainly command line interface)
> - add one patch to rename STM32 Timer counter
> - various review comments from v1
> 
> Fabrice Gasnier (6):
>   tools/counter: add a flexible watch events tool
>   counter: stm32-timer-cnt: rename quadrature signal
>   counter: stm32-timer-cnt: rename counter
>   counter: stm32-timer-cnt: introduce clock signal
>   counter: stm32-timer-cnt: populate capture channels and check encoder
>   counter: stm32-timer-cnt: add support for events
> 
>  drivers/counter/stm32-timer-cnt.c    | 558 ++++++++++++++++++++++++++-
>  include/linux/mfd/stm32-timers.h     |  15 +
>  tools/counter/Build                  |   1 +
>  tools/counter/Makefile               |  12 +-
>  tools/counter/counter_watch_events.c | 368 ++++++++++++++++++
>  5 files changed, 934 insertions(+), 20 deletions(-)
>  create mode 100644 tools/counter/counter_watch_events.c
> 
> -- 
> 2.25.1
>