All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
To: <william.gray@linaro.org>
Cc: <lee@kernel.org>, <alexandre.torgue@foss.st.com>,
	<fabrice.gasnier@foss.st.com>, <linux-iio@vger.kernel.org>,
	<linux-stm32@st-md-mailman.stormreply.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Subject: [PATCH v4 00/11] counter: Add stm32 timer events support
Date: Tue, 27 Feb 2024 18:37:52 +0100	[thread overview]
Message-ID: <20240227173803.53906-1-fabrice.gasnier@foss.st.com> (raw)

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 on channel 1 & 2. It was limited to timers that has
the HW quadrature encoder.

With this series, all timer instances can be enabled for:
- Quadrature encoder on channel 1 and channel 2 (when supported in HW)
- Simple counting on internal clock
- Capture counter value when rising and falling edges are observed at
  channel 1 to channel 4 input (number of channels varies depending on
  the timer instance used)
- Push overflow and/or capture events through the chardev interface

Changes in v4:
- Introduce new COUNTER_COMP_FREQUENCY() macro
- Mainly update two last patchs, to address William's review comments
  (details in each patch)

Changes in V3:
- This series has been split [1] and renamed.
[1] https://lore.kernel.org/lkml/20230922143920.3144249-1-fabrice.gasnier@foss.st.com/
- Watch events tool patch applied, hence dropped from this series
- Refactor / split several patches
- Keep original signals order, to avoid breaking existing user space
- Don't adjust number of signals: adopt static configuration. rely on
  error mechanism to manage diversity across STM32 Timers instances.

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 (11):
  counter: Introduce the COUNTER_COMP_FREQUENCY() macro
  counter: stm32-timer-cnt: rename quadrature signal
  counter: stm32-timer-cnt: rename counter
  counter: stm32-timer-cnt: adopt signal definitions
  counter: stm32-timer-cnt: introduce clock signal
  counter: stm32-timer-cnt: add counter prescaler extension
  counter: stm32-timer-cnt: add checks on quadrature encoder capability
  counter: stm32-timer-cnt: introduce channels
  counter: stm32-timer-cnt: probe number of channels from registers
  counter: stm32-timer-cnt: add support for overflow events
  counter: stm32-timer-cnt: add support for capture events

 drivers/counter/stm32-timer-cnt.c | 461 +++++++++++++++++++++++++++++-
 include/linux/counter.h           |   3 +
 include/linux/mfd/stm32-timers.h  |  13 +
 3 files changed, 463 insertions(+), 14 deletions(-)

-- 
2.25.1


WARNING: multiple messages have this Message-ID (diff)
From: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
To: <william.gray@linaro.org>
Cc: <lee@kernel.org>, <alexandre.torgue@foss.st.com>,
	<fabrice.gasnier@foss.st.com>, <linux-iio@vger.kernel.org>,
	<linux-stm32@st-md-mailman.stormreply.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Subject: [PATCH v4 00/11] counter: Add stm32 timer events support
Date: Tue, 27 Feb 2024 18:37:52 +0100	[thread overview]
Message-ID: <20240227173803.53906-1-fabrice.gasnier@foss.st.com> (raw)

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 on channel 1 & 2. It was limited to timers that has
the HW quadrature encoder.

With this series, all timer instances can be enabled for:
- Quadrature encoder on channel 1 and channel 2 (when supported in HW)
- Simple counting on internal clock
- Capture counter value when rising and falling edges are observed at
  channel 1 to channel 4 input (number of channels varies depending on
  the timer instance used)
- Push overflow and/or capture events through the chardev interface

Changes in v4:
- Introduce new COUNTER_COMP_FREQUENCY() macro
- Mainly update two last patchs, to address William's review comments
  (details in each patch)

Changes in V3:
- This series has been split [1] and renamed.
[1] https://lore.kernel.org/lkml/20230922143920.3144249-1-fabrice.gasnier@foss.st.com/
- Watch events tool patch applied, hence dropped from this series
- Refactor / split several patches
- Keep original signals order, to avoid breaking existing user space
- Don't adjust number of signals: adopt static configuration. rely on
  error mechanism to manage diversity across STM32 Timers instances.

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 (11):
  counter: Introduce the COUNTER_COMP_FREQUENCY() macro
  counter: stm32-timer-cnt: rename quadrature signal
  counter: stm32-timer-cnt: rename counter
  counter: stm32-timer-cnt: adopt signal definitions
  counter: stm32-timer-cnt: introduce clock signal
  counter: stm32-timer-cnt: add counter prescaler extension
  counter: stm32-timer-cnt: add checks on quadrature encoder capability
  counter: stm32-timer-cnt: introduce channels
  counter: stm32-timer-cnt: probe number of channels from registers
  counter: stm32-timer-cnt: add support for overflow events
  counter: stm32-timer-cnt: add support for capture events

 drivers/counter/stm32-timer-cnt.c | 461 +++++++++++++++++++++++++++++-
 include/linux/counter.h           |   3 +
 include/linux/mfd/stm32-timers.h  |  13 +
 3 files changed, 463 insertions(+), 14 deletions(-)

-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2024-02-27 17:39 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-27 17:37 Fabrice Gasnier [this message]
2024-02-27 17:37 ` [PATCH v4 00/11] counter: Add stm32 timer events support Fabrice Gasnier
2024-02-27 17:37 ` [PATCH v4 01/11] counter: Introduce the COUNTER_COMP_FREQUENCY() macro Fabrice Gasnier
2024-02-27 17:37   ` Fabrice Gasnier
2024-02-29 19:06   ` William Breathitt Gray
2024-02-29 19:06     ` William Breathitt Gray
2024-02-27 17:37 ` [PATCH v4 02/11] counter: stm32-timer-cnt: rename quadrature signal Fabrice Gasnier
2024-02-27 17:37   ` Fabrice Gasnier
2024-02-27 17:37 ` [PATCH v4 03/11] counter: stm32-timer-cnt: rename counter Fabrice Gasnier
2024-02-27 17:37   ` Fabrice Gasnier
2024-02-27 17:37 ` [PATCH v4 04/11] counter: stm32-timer-cnt: adopt signal definitions Fabrice Gasnier
2024-02-27 17:37   ` Fabrice Gasnier
2024-02-27 17:37 ` [PATCH v4 05/11] counter: stm32-timer-cnt: introduce clock signal Fabrice Gasnier
2024-02-27 17:37   ` Fabrice Gasnier
2024-03-06 19:43   ` William Breathitt Gray
2024-03-06 19:43     ` William Breathitt Gray
2024-02-27 17:37 ` [PATCH v4 06/11] counter: stm32-timer-cnt: add counter prescaler extension Fabrice Gasnier
2024-02-27 17:37   ` Fabrice Gasnier
2024-02-27 17:37 ` [PATCH v4 07/11] counter: stm32-timer-cnt: add checks on quadrature encoder capability Fabrice Gasnier
2024-02-27 17:37   ` Fabrice Gasnier
2024-03-06 19:39   ` William Breathitt Gray
2024-03-06 19:39     ` William Breathitt Gray
2024-02-27 17:38 ` [PATCH v4 08/11] counter: stm32-timer-cnt: introduce channels Fabrice Gasnier
2024-02-27 17:38   ` Fabrice Gasnier
2024-02-27 17:38 ` [PATCH v4 09/11] counter: stm32-timer-cnt: probe number of channels from registers Fabrice Gasnier
2024-02-27 17:38   ` Fabrice Gasnier
2024-03-06 19:40   ` William Breathitt Gray
2024-03-06 19:40     ` William Breathitt Gray
2024-02-27 17:38 ` [PATCH v4 10/11] counter: stm32-timer-cnt: add support for overflow events Fabrice Gasnier
2024-02-27 17:38   ` Fabrice Gasnier
2024-03-06 19:40   ` William Breathitt Gray
2024-03-06 19:40     ` William Breathitt Gray
2024-02-27 17:38 ` [PATCH v4 11/11] counter: stm32-timer-cnt: add support for capture events Fabrice Gasnier
2024-02-27 17:38   ` Fabrice Gasnier
2024-03-06 19:41   ` William Breathitt Gray
2024-03-06 19:41     ` William Breathitt Gray

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240227173803.53906-1-fabrice.gasnier@foss.st.com \
    --to=fabrice.gasnier@foss.st.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=lee@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=william.gray@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.