mbox series

[0/8] Add MAX77714 PMIC minimal driver (RTC and watchdog only)

Message ID 20211011155615.257529-1-luca@lucaceresoli.net
Headers show
Series Add MAX77714 PMIC minimal driver (RTC and watchdog only) | expand

Message

Luca Ceresoli Oct. 11, 2021, 3:56 p.m. UTC
Hi,

this series adds minimal drivers for the Maxim Semiconductor MAX77714
(https://www.maximintegrated.com/en/products/power/power-management-ics/MAX77714.html).
Only RTC and watchdog are implemented by these patches.

Note! Something seems wrong in the interrupt management code. Due to the
fact that I'm not using interrupts on my hardware and since this is my
first addition of an MFD driver, I was unable to understand what is wrong
after studying the code for other MFD drivers. More details in reply to
patch 8. Advice would be greatly appreciated on this topic.

Except for that, all implemented functionality is tested and working: RTC
read/write, watchdog start/stop/ping/set_timeout.

The first 4 patches are trivial cleanups to the max77686 drivers and can
probably be applied easily.

Patches 5-8 add: dt bindings, mfd driver, watchdog driver and rtc driver.

Luca

Luca Ceresoli (8):
  mfd: max77686: Correct tab-based alignment of register addresses
  rtc: max77686: convert comments to kernel-doc format
  rtc: max77686: rename day-of-month defines
  rtc: max77686: remove useless variable
  dt-bindings: mfd: add Maxim MAX77714 PMIC
  mfd: max77714: Add driver for Maxim MAX77714 PMIC
  watchdog: max77714: add driver for the watchdog in the MAX77714 PMIC
  rtc: max77686: add MAX77714 support

 .../bindings/mfd/maxim,max77714.yaml          |  58 ++++++
 MAINTAINERS                                   |   8 +
 drivers/mfd/Kconfig                           |  14 ++
 drivers/mfd/Makefile                          |   1 +
 drivers/mfd/max77714.c                        | 151 ++++++++++++++++
 drivers/rtc/Kconfig                           |   2 +-
 drivers/rtc/rtc-max77686.c                    |  72 +++++---
 drivers/watchdog/Kconfig                      |   9 +
 drivers/watchdog/Makefile                     |   1 +
 drivers/watchdog/max77714_wdt.c               | 171 ++++++++++++++++++
 include/linux/mfd/max77686-private.h          |  28 +--
 include/linux/mfd/max77714.h                  |  68 +++++++
 12 files changed, 541 insertions(+), 42 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mfd/maxim,max77714.yaml
 create mode 100644 drivers/mfd/max77714.c
 create mode 100644 drivers/watchdog/max77714_wdt.c
 create mode 100644 include/linux/mfd/max77714.h

Comments

Krzysztof Kozlowski Oct. 12, 2021, 7:59 a.m. UTC | #1
On 11/10/2021 17:56, Luca Ceresoli wrote:
> Hi,
> 
> this series adds minimal drivers for the Maxim Semiconductor MAX77714
> (https://www.maximintegrated.com/en/products/power/power-management-ics/MAX77714.html).
> Only RTC and watchdog are implemented by these patches.
> 
> Note! Something seems wrong in the interrupt management code. Due to the
> fact that I'm not using interrupts on my hardware and since this is my
> first addition of an MFD driver, I was unable to understand what is wrong
> after studying the code for other MFD drivers. More details in reply to
> patch 8. Advice would be greatly appreciated on this topic.
> 
> Except for that, all implemented functionality is tested and working: RTC
> read/write, watchdog start/stop/ping/set_timeout.
> 
> The first 4 patches are trivial cleanups to the max77686 drivers and can
> probably be applied easily.
> 
> Patches 5-8 add: dt bindings, mfd driver, watchdog driver and rtc driver.
> 
> Luca
> 
> Luca Ceresoli (8):
>   mfd: max77686: Correct tab-based alignment of register addresses
>   rtc: max77686: convert comments to kernel-doc format
>   rtc: max77686: rename day-of-month defines
>   rtc: max77686: remove useless variable
>   dt-bindings: mfd: add Maxim MAX77714 PMIC
>   mfd: max77714: Add driver for Maxim MAX77714 PMIC
>   watchdog: max77714: add driver for the watchdog in the MAX77714 PMIC
>   rtc: max77686: add MAX77714 support
> 
>  .../bindings/mfd/maxim,max77714.yaml          |  58 ++++++
>  MAINTAINERS                                   |   8 +
>  drivers/mfd/Kconfig                           |  14 ++
>  drivers/mfd/Makefile                          |   1 +
>  drivers/mfd/max77714.c                        | 151 ++++++++++++++++
>  drivers/rtc/Kconfig                           |   2 +-
>  drivers/rtc/rtc-max77686.c                    |  72 +++++---
>  drivers/watchdog/Kconfig                      |   9 +
>  drivers/watchdog/Makefile                     |   1 +
>  drivers/watchdog/max77714_wdt.c               | 171 ++++++++++++++++++
>  include/linux/mfd/max77686-private.h          |  28 +--
>  include/linux/mfd/max77714.h                  |  68 +++++++
>  12 files changed, 541 insertions(+), 42 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mfd/maxim,max77714.yaml
>  create mode 100644 drivers/mfd/max77714.c
>  create mode 100644 drivers/watchdog/max77714_wdt.c
>  create mode 100644 include/linux/mfd/max77714.h
> 

Thanks for the patches.

It's awesome to see extension of existing drivers - max77686 family.

Best regards,
Krzysztof