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@xxxxxxxxxx > > 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@xxxxxxxxxx > > 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@xxxxxxxxxx/ > > --- > 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