[PATCH v6 0/7] Add STM32MP25 LPTIM support: MFD, PWM, IIO, counter, clocksource

Fabrice Gasnier posted 7 patches 7 months, 3 weeks ago
.../bindings/mfd/st,stm32-lptimer.yaml        |  40 +++-
arch/arm64/boot/dts/st/stm32mp251.dtsi        | 177 ++++++++++++++
arch/arm64/boot/dts/st/stm32mp257f-ev1.dts    |   8 +
arch/arm64/configs/defconfig                  |   2 +
drivers/clocksource/timer-stm32-lp.c          |  61 ++++-
drivers/mfd/stm32-lptimer.c                   |  33 ++-
drivers/pwm/pwm-stm32-lp.c                    | 219 +++++++++++++++---
include/linux/mfd/stm32-lptimer.h             |  37 ++-
8 files changed, 537 insertions(+), 40 deletions(-)
[PATCH v6 0/7] Add STM32MP25 LPTIM support: MFD, PWM, IIO, counter, clocksource
Posted by Fabrice Gasnier 7 months, 3 weeks ago
This series adds support for STM32MP25 to MFD PWM, IIO, counter and
clocksource low-power timer (LPTIM) drivers.
This new variant is managed by using a new DT compatible string, hardware
configuration and version registers.
It comes with a slightly updated register set, some new features and new
interconnect signals inside the SoC.
Same feature list as on STM32MP1x is supported currently.
The device tree files add all instances in stm32mp251 dtsi file.

Changes in V6
---
- Fixed kernel test robot warning
  https://lore.kernel.org/oe-kbuild-all/202504261456.aCATBoYN-lkp@intel.com/

Changes in V5
---
- Add a necessary delay in clocksource driver, when enabling the timer.
- Add collected Acks
- Dropped IIO trigger patch as applied by Jonathan [1] (no dependency)
  [1] https://lore.kernel.org/all/20250331110435.26157ebe@jic23-huawei/

Changes in V4
---
- Simplify IIO trigger driver as per Jonathan's comments.
- Rework clocksource driver: encapsulate mp25 changes in separate function
  after Daniel's suggestion.
- Add some definitions to MFD header.

Changes in V3
---
- Yaml indentation issue fixed, reported by Rob's bot

Changes in V2
---
- Review comments from Krzysztof
  - Adopt compatible fallback in dt-bindings and driver
  - drivers: drop "st,stm32mp25-..." compatibles when unused (e.g. no .data)
  - counter driver: no update (patch dropped)
  - defconfig: only enable the necessary config for upstream board
  - add lptimer DT node in stm32mp257f-ev1 board
- Add missing management of IER access for stm32mp25

Fabrice Gasnier (7):
  dt-bindings: mfd: stm32-lptimer: add support for stm32mp25
  mfd: stm32-lptimer: add support for stm32mp25
  clocksource: stm32-lptimer: add support for stm32mp25
  pwm: stm32-lp: add support for stm32mp25
  arm64: defconfig: enable STM32 LP timer clockevent driver
  arm64: dts: st: add low-power timer nodes on stm32mp251
  arm64: dts: st: use lptimer3 as tick broadcast source on
    stm32mp257f-ev1

 .../bindings/mfd/st,stm32-lptimer.yaml        |  40 +++-
 arch/arm64/boot/dts/st/stm32mp251.dtsi        | 177 ++++++++++++++
 arch/arm64/boot/dts/st/stm32mp257f-ev1.dts    |   8 +
 arch/arm64/configs/defconfig                  |   2 +
 drivers/clocksource/timer-stm32-lp.c          |  61 ++++-
 drivers/mfd/stm32-lptimer.c                   |  33 ++-
 drivers/pwm/pwm-stm32-lp.c                    | 219 +++++++++++++++---
 include/linux/mfd/stm32-lptimer.h             |  37 ++-
 8 files changed, 537 insertions(+), 40 deletions(-)

-- 
2.25.1
Re: [PATCH v6 0/7] Add STM32MP25 LPTIM support: MFD, PWM, IIO, counter, clocksource
Posted by Lee Jones 7 months, 2 weeks ago
On Tue, 29 Apr 2025, Fabrice Gasnier wrote:

> This series adds support for STM32MP25 to MFD PWM, IIO, counter and
> clocksource low-power timer (LPTIM) drivers.
> This new variant is managed by using a new DT compatible string, hardware
> configuration and version registers.
> It comes with a slightly updated register set, some new features and new
> interconnect signals inside the SoC.
> Same feature list as on STM32MP1x is supported currently.
> The device tree files add all instances in stm32mp251 dtsi file.
> 
> Changes in V6
> ---
> - Fixed kernel test robot warning
>   https://lore.kernel.org/oe-kbuild-all/202504261456.aCATBoYN-lkp@intel.com/
> 
> Changes in V5
> ---
> - Add a necessary delay in clocksource driver, when enabling the timer.
> - Add collected Acks
> - Dropped IIO trigger patch as applied by Jonathan [1] (no dependency)
>   [1] https://lore.kernel.org/all/20250331110435.26157ebe@jic23-huawei/
> 
> Changes in V4
> ---
> - Simplify IIO trigger driver as per Jonathan's comments.
> - Rework clocksource driver: encapsulate mp25 changes in separate function
>   after Daniel's suggestion.
> - Add some definitions to MFD header.
> 
> Changes in V3
> ---
> - Yaml indentation issue fixed, reported by Rob's bot
> 
> Changes in V2
> ---
> - Review comments from Krzysztof
>   - Adopt compatible fallback in dt-bindings and driver
>   - drivers: drop "st,stm32mp25-..." compatibles when unused (e.g. no .data)
>   - counter driver: no update (patch dropped)
>   - defconfig: only enable the necessary config for upstream board
>   - add lptimer DT node in stm32mp257f-ev1 board
> - Add missing management of IER access for stm32mp25
> 
> Fabrice Gasnier (7):
>   dt-bindings: mfd: stm32-lptimer: add support for stm32mp25
>   mfd: stm32-lptimer: add support for stm32mp25
>   clocksource: stm32-lptimer: add support for stm32mp25
>   pwm: stm32-lp: add support for stm32mp25
>   arm64: defconfig: enable STM32 LP timer clockevent driver
>   arm64: dts: st: add low-power timer nodes on stm32mp251
>   arm64: dts: st: use lptimer3 as tick broadcast source on
>     stm32mp257f-ev1
> 
>  .../bindings/mfd/st,stm32-lptimer.yaml        |  40 +++-
>  arch/arm64/boot/dts/st/stm32mp251.dtsi        | 177 ++++++++++++++
>  arch/arm64/boot/dts/st/stm32mp257f-ev1.dts    |   8 +
>  arch/arm64/configs/defconfig                  |   2 +
>  drivers/clocksource/timer-stm32-lp.c          |  61 ++++-
>  drivers/mfd/stm32-lptimer.c                   |  33 ++-
>  drivers/pwm/pwm-stm32-lp.c                    | 219 +++++++++++++++---
>  include/linux/mfd/stm32-lptimer.h             |  37 ++-
>  8 files changed, 537 insertions(+), 40 deletions(-)

Is it just the Clocksource Ack that we're waiting on now?

-- 
Lee Jones [李琼斯]
Re: [PATCH v6 0/7] Add STM32MP25 LPTIM support: MFD, PWM, IIO, counter, clocksource
Posted by Fabrice Gasnier 7 months, 2 weeks ago

On 5/1/25 15:14, Lee Jones wrote:
> On Tue, 29 Apr 2025, Fabrice Gasnier wrote:
> 
>> This series adds support for STM32MP25 to MFD PWM, IIO, counter and
>> clocksource low-power timer (LPTIM) drivers.
>> This new variant is managed by using a new DT compatible string, hardware
>> configuration and version registers.
>> It comes with a slightly updated register set, some new features and new
>> interconnect signals inside the SoC.
>> Same feature list as on STM32MP1x is supported currently.
>> The device tree files add all instances in stm32mp251 dtsi file.
>>
>> Changes in V6
>> ---
>> - Fixed kernel test robot warning
>>   https://lore.kernel.org/oe-kbuild-all/202504261456.aCATBoYN-lkp@intel.com/
>>
>> Changes in V5
>> ---
>> - Add a necessary delay in clocksource driver, when enabling the timer.
>> - Add collected Acks
>> - Dropped IIO trigger patch as applied by Jonathan [1] (no dependency)
>>   [1] https://lore.kernel.org/all/20250331110435.26157ebe@jic23-huawei/
>>
>> Changes in V4
>> ---
>> - Simplify IIO trigger driver as per Jonathan's comments.
>> - Rework clocksource driver: encapsulate mp25 changes in separate function
>>   after Daniel's suggestion.
>> - Add some definitions to MFD header.
>>
>> Changes in V3
>> ---
>> - Yaml indentation issue fixed, reported by Rob's bot
>>
>> Changes in V2
>> ---
>> - Review comments from Krzysztof
>>   - Adopt compatible fallback in dt-bindings and driver
>>   - drivers: drop "st,stm32mp25-..." compatibles when unused (e.g. no .data)
>>   - counter driver: no update (patch dropped)
>>   - defconfig: only enable the necessary config for upstream board
>>   - add lptimer DT node in stm32mp257f-ev1 board
>> - Add missing management of IER access for stm32mp25
>>
>> Fabrice Gasnier (7):
>>   dt-bindings: mfd: stm32-lptimer: add support for stm32mp25
>>   mfd: stm32-lptimer: add support for stm32mp25
>>   clocksource: stm32-lptimer: add support for stm32mp25
>>   pwm: stm32-lp: add support for stm32mp25
>>   arm64: defconfig: enable STM32 LP timer clockevent driver
>>   arm64: dts: st: add low-power timer nodes on stm32mp251
>>   arm64: dts: st: use lptimer3 as tick broadcast source on
>>     stm32mp257f-ev1
>>
>>  .../bindings/mfd/st,stm32-lptimer.yaml        |  40 +++-
>>  arch/arm64/boot/dts/st/stm32mp251.dtsi        | 177 ++++++++++++++
>>  arch/arm64/boot/dts/st/stm32mp257f-ev1.dts    |   8 +
>>  arch/arm64/configs/defconfig                  |   2 +
>>  drivers/clocksource/timer-stm32-lp.c          |  61 ++++-
>>  drivers/mfd/stm32-lptimer.c                   |  33 ++-
>>  drivers/pwm/pwm-stm32-lp.c                    | 219 +++++++++++++++---
>>  include/linux/mfd/stm32-lptimer.h             |  37 ++-
>>  8 files changed, 537 insertions(+), 40 deletions(-)
> 
> Is it just the Clocksource Ack that we're waiting on now?
> 
Hi Lee,

Yes,

Best Regards,
Fabrice
[GIT PULL] Immutable branch between MFD, Clocksource and PWM due for the v6.16 merge window
Posted by Lee Jones 7 months ago
Enjoy!

The following changes since commit 0af2f6be1b4281385b618cb86ad946eded089ac8:

  Linux 6.15-rc1 (2025-04-06 13:11:33 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git ib-mfd-clocksource-pwm-v6.16

for you to fetch changes up to 3f51b232c1da8e59eb562f1d81533334827a4799:

  pwm: stm32-lp: Add support for stm32mp25 (2025-05-13 11:13:56 +0100)

----------------------------------------------------------------
Immutable branch between MFD, Clocksource and PWM due for the v6.16 merge window

----------------------------------------------------------------
Fabrice Gasnier (4):
      dt-bindings: mfd: stm32-lptimer: Add support for stm32mp25
      mfd: stm32-lptimer: Add support for stm32mp25
      clocksource/drivers/stm32-lptimer: Add support for stm32mp25
      pwm: stm32-lp: Add support for stm32mp25

 .../devicetree/bindings/mfd/st,stm32-lptimer.yaml  |  40 +++-
 drivers/clocksource/timer-stm32-lp.c               |  61 +++++-
 drivers/mfd/stm32-lptimer.c                        |  33 +++-
 drivers/pwm/pwm-stm32-lp.c                         | 219 ++++++++++++++++++---
 include/linux/mfd/stm32-lptimer.h                  |  37 +++-
 5 files changed, 350 insertions(+), 40 deletions(-)

-- 
Lee Jones [李琼斯]
Re: (subset) [PATCH v6 0/7] Add STM32MP25 LPTIM support: MFD, PWM, IIO, counter, clocksource
Posted by Lee Jones 7 months, 1 week ago
On Tue, 29 Apr 2025 14:51:26 +0200, Fabrice Gasnier wrote:
> This series adds support for STM32MP25 to MFD PWM, IIO, counter and
> clocksource low-power timer (LPTIM) drivers.
> This new variant is managed by using a new DT compatible string, hardware
> configuration and version registers.
> It comes with a slightly updated register set, some new features and new
> interconnect signals inside the SoC.
> Same feature list as on STM32MP1x is supported currently.
> The device tree files add all instances in stm32mp251 dtsi file.
> 
> [...]

Applied, thanks!

[1/7] dt-bindings: mfd: stm32-lptimer: add support for stm32mp25
      commit: 3f9ce9d0760ad68a9c20167664d026d91da66879
[2/7] mfd: stm32-lptimer: add support for stm32mp25
      commit: 4f8ceb0302b36c5f78bcc8d0e7cfa2372fba134c
[3/7] clocksource: stm32-lptimer: add support for stm32mp25
      commit: 5414bc8c57c41038b1994cd21a2cc0b8415c1544
[4/7] pwm: stm32-lp: add support for stm32mp25
      commit: 3f51b232c1da8e59eb562f1d81533334827a4799

--
Lee Jones [李琼斯]

Re: (subset) [PATCH v6 0/7] Add STM32MP25 LPTIM support: MFD, PWM, IIO, counter, clocksource
Posted by Lee Jones 7 months, 1 week ago
On Tue, 13 May 2025, Lee Jones wrote:

> On Tue, 29 Apr 2025 14:51:26 +0200, Fabrice Gasnier wrote:
> > This series adds support for STM32MP25 to MFD PWM, IIO, counter and
> > clocksource low-power timer (LPTIM) drivers.
> > This new variant is managed by using a new DT compatible string, hardware
> > configuration and version registers.
> > It comes with a slightly updated register set, some new features and new
> > interconnect signals inside the SoC.
> > Same feature list as on STM32MP1x is supported currently.
> > The device tree files add all instances in stm32mp251 dtsi file.
> > 
> > [...]
> 
> Applied, thanks!
> 
> [1/7] dt-bindings: mfd: stm32-lptimer: add support for stm32mp25
>       commit: 3f9ce9d0760ad68a9c20167664d026d91da66879
> [2/7] mfd: stm32-lptimer: add support for stm32mp25
>       commit: 4f8ceb0302b36c5f78bcc8d0e7cfa2372fba134c
> [3/7] clocksource: stm32-lptimer: add support for stm32mp25
>       commit: 5414bc8c57c41038b1994cd21a2cc0b8415c1544
> [4/7] pwm: stm32-lp: add support for stm32mp25
>       commit: 3f51b232c1da8e59eb562f1d81533334827a4799

In future, please match the subject format with that expected by the
subsystem.  For this, `git log --oneline -- <subsystem>` is your friend.

I changed them all for you this time.

The above patches have been applied and submitted for build testing.
Once complete, I'll follow-up with an PR for the other maintainers to
pull from.

Note to self: ib-mfd-clocksource-pwm-6.16

-- 
Lee Jones [李琼斯]
Re: (subset)[PATCH v6 0/7] Add STM32MP25 LPTIM support: MFD, PWM, IIO, counter, clocksource
Posted by Alexandre TORGUE 7 months, 1 week ago
Hi Fabrice

On 4/29/25 14:51, Fabrice Gasnier wrote:
> This series adds support for STM32MP25 to MFD PWM, IIO, counter and
> clocksource low-power timer (LPTIM) drivers.
> This new variant is managed by using a new DT compatible string, hardware
> configuration and version registers.
> It comes with a slightly updated register set, some new features and new
> interconnect signals inside the SoC.
> Same feature list as on STM32MP1x is supported currently.
> The device tree files add all instances in stm32mp251 dtsi file.
> 

Following patches are applied on stm32-next:

[PATCH v6 5/7] arm64: defconfig: enable STM32 LP timer clockevent driver
[PATCH v6 6/7] arm64: dts: st: add low-power timer nodes on stm32mp251
[PATCH v6 7/7] arm64: dts: st: use lptimer3 as tick broadcast source on 
stm32mp257f-ev1


Thanks
Alex