[PATCH v4 0/5] Add mfd, pinctrl and pwm support to EN7581 SoC

Christian Marangi ansuelsmth at gmail.com
Mon Sep 23 02:53:50 PDT 2024


On Wed, Sep 11, 2024 at 09:50:00PM +0200, Lorenzo Bianconi wrote:
> Introduce airoha-mfd driver in order to load pinctrl and pwm drivers for
> EN7581 SoC. airoha-mfd is needed since both pinctrl and pwm drivers
> needs to access the same memory block (gpio memory region) to configure
> {gio,irq}_chip and pwm functionalities respectively, so model them as
> childs of a parent mfd driver.
> Current EN7581 pinctrl driver supports the following functionalities:
> - pin multiplexing via chip_scu syscon
> - pin pull-up, pull-down, open-drain, current strength,
>   {input,output}_enable, output_{low,high} via chip_scu syscon
> - gpio controller
> - irq controller
> 
> ---
> Changes in v4:
> - add 'Limitation' description in pwm driver
> - fix comments in pwm driver
> - rely on mfd->base __iomem pointer in pwm driver, modify register
>   offsets according to it and get rid of sgpio_cfg, flash_cfg and
>   cycle_cfg pointers
> - simplify register utility routines in pwm driver
> - use 'generator' instead of 'waveform' suffix for pwm routines
> - fix possible overflow calculating duty cycle in pwm driver
> - do not modify pwm state in free callback in pwm driver
> - cap the maximum period in pwm driver
> - do not allow inverse polarity in pwm driver
> - do not set of_xlate callback in the pwm driver and allow the stack to
>   do it
> - fix MAINTAINERS file for airoha pinctrl driver
> - fix undefined reference to __ffsdi2 in pinctrl driver
> - simplify airoha,en7581-gpio-sysctl.yam binding
> - Link to v3: https://lore.kernel.org/r/20240831-en7581-pinctrl-v3-0-98eebfb4da66@kernel.org
> 
> Changes in v3:
> - introduce airoha-mfd driver
> - add pwm driver to the same series
> - model pinctrl and pwm drivers as childs of a parent mfd driver.
> - access chip-scu memory region in pinctrl driver via syscon
> - introduce a single airoha,en7581-gpio-sysctl.yaml binding and get rid
>   of dedicated bindings for pinctrl and pwm
> - add airoha,en7581-chip-scu.yaml binding do the series
> - Link to v2: https://lore.kernel.org/r/20240822-en7581-pinctrl-v2-0-ba1559173a7f@kernel.org
> 
> Changes in v2:
> - Fix compilation errors
> - Collapse some register mappings for gpio and irq controllers
> - update dt-bindings according to new register mapping
> - fix some dt-bindings errors
> - Link to v1: https://lore.kernel.org/all/cover.1723392444.git.lorenzo@kernel.org/
> 
> ---
> Benjamin Larsson (1):
>       pwm: airoha: Add support for EN7581 SoC
> 
> Christian Marangi (2):
>       dt-bindings: mfd: Add support for Airoha EN7581 GPIO System Controller
>       mfd: airoha: Add support for Airoha EN7581 MFD
> 
> Lorenzo Bianconi (2):
>       dt-bindings: arm: airoha: Add the chip-scu node for EN7581 SoC
>       pinctrl: airoha: Add support for EN7581 SoC
> 
>  .../bindings/arm/airoha,en7581-chip-scu.yaml       |   42 +
>  .../bindings/mfd/airoha,en7581-gpio-sysctl.yaml    |  433 +++
>  MAINTAINERS                                        |    7 +
>  drivers/mfd/Kconfig                                |    8 +
>  drivers/mfd/Makefile                               |    2 +
>  drivers/mfd/airoha-en7581-gpio-mfd.c               |   72 +
>  drivers/pinctrl/mediatek/Kconfig                   |   16 +-
>  drivers/pinctrl/mediatek/Makefile                  |    1 +
>  drivers/pinctrl/mediatek/pinctrl-airoha.c          | 2964 ++++++++++++++++++++
>  drivers/pwm/Kconfig                                |   10 +
>  drivers/pwm/Makefile                               |    1 +
>  drivers/pwm/pwm-airoha.c                           |  414 +++
>  include/linux/mfd/airoha-en7581-mfd.h              |    9 +
>  13 files changed, 3978 insertions(+), 1 deletion(-)
> ---
> base-commit: 264c13114bd71ddfd7b25c7b94f6cda4587eca25
> change-id: 20240818-en7581-pinctrl-1bf120154be0
> prerequisite-change-id: 20240705-for-6-11-bpf-a349efc08df8:v2
> 
>

Hi,

any news with this? Rob reviewed the DT schemas and he is ok with them.

Any other comments for the MFD driver and/or the pinctrl or PWM driver?

-- 
	Ansuel



More information about the Linux-mediatek mailing list