mbox series

[00/14] pinctrl: stm32: Add new features and support for more SoC

Message ID 20241022155658.1647350-1-antonio.borneo@foss.st.com
Headers show
Series pinctrl: stm32: Add new features and support for more SoC | expand

Message

Antonio Borneo Oct. 22, 2024, 3:56 p.m. UTC
This series introduces the support for the new SoC
- STM32MP215,
- STM32MP235,

by adding the support for the new functionalities
- irq affinity,
- Resource Isolation Framework (RIF),
- Reserved (RSVD) pinmux function,
- IO synchronization parameters,
- compile the driver as module.

Some minor code reorganization is also introduced.

Regards,
Antonio Borneo


Amelie Delaunay (2):
  pinctrl: stm32: Add stm32mp215 pinctrl support
  dt-bindings: pinctrl: stm32: support for stm32mp215 and additional
    packages

Antonio Borneo (4):
  pinctrl: stm32: Declare stm32_pmx_get_mode() as static
  pinctrl: stm32: Rework stm32_pconf_parse_conf()
  pinctrl: stm32: Add RIF support for stm32mp257
  dt-bindings: pinctrl: stm32: add support for stm32mp235

Cheick Traore (1):
  pinctrl: stm32: Manage irq affinity settings

Clément Le Goffic (2):
  pinctrl: stm32: Add stm32mp235 pinctrl support
  pinctrl: stm32: Add new package to stm32mp257 pinctrl support

Fabien Dessenne (4):
  pinctrl: stm32: Handle RSVD pin configuration
  dt-bindings: pinctrl: stm32: add RSVD mux function
  pinctrl: stm32: Support IO synchronization parameters
  dt-bindings: pinctrl: stm32: support IO synchronization parameters

Stephane Danieau (1):
  pinctrl: stm32: Allow compile as module for stm32mp257

 .../bindings/pinctrl/st,stm32-pinctrl.yaml    |   62 +-
 arch/arm64/Kconfig.platforms                  |    1 -
 drivers/pinctrl/stm32/Kconfig                 |   18 +-
 drivers/pinctrl/stm32/Makefile                |    2 +
 drivers/pinctrl/stm32/pinctrl-stm32.c         |  365 +++-
 drivers/pinctrl/stm32/pinctrl-stm32.h         |   27 +-
 drivers/pinctrl/stm32/pinctrl-stm32mp215.c    | 1807 ++++++++++++++++
 drivers/pinctrl/stm32/pinctrl-stm32mp235.c    | 1906 +++++++++++++++++
 drivers/pinctrl/stm32/pinctrl-stm32mp257.c    |  305 +--
 include/dt-bindings/pinctrl/stm32-pinfunc.h   |    4 +
 10 files changed, 4326 insertions(+), 171 deletions(-)
 create mode 100644 drivers/pinctrl/stm32/pinctrl-stm32mp215.c
 create mode 100644 drivers/pinctrl/stm32/pinctrl-stm32mp235.c


base-commit: 9852d85ec9d492ebef56dc5f229416c925758edc

Comments

Krzysztof Kozlowski Oct. 23, 2024, 8:46 a.m. UTC | #1
On Tue, Oct 22, 2024 at 05:56:48PM +0200, Antonio Borneo wrote:
> From: Fabien Dessenne <fabien.dessenne@foss.st.com>
> 
> Document the RSVD (Reserved) mux function, used to reserve pins
> for a coprocessor not running Linux.
> 
> Signed-off-by: Fabien Dessenne <fabien.dessenne@foss.st.com>
> Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
> ---
>  .../devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml     | 8 ++++++++
>  include/dt-bindings/pinctrl/stm32-pinfunc.h               | 1 +
>  2 files changed, 9 insertions(+)

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof
Krzysztof Kozlowski Oct. 23, 2024, 8:47 a.m. UTC | #2
On Tue, Oct 22, 2024 at 05:56:48PM +0200, Antonio Borneo wrote:
> From: Fabien Dessenne <fabien.dessenne@foss.st.com>
> 
> Document the RSVD (Reserved) mux function, used to reserve pins
> for a coprocessor not running Linux.
> 
> Signed-off-by: Fabien Dessenne <fabien.dessenne@foss.st.com>
> Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
> ---
>  .../devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml     | 8 ++++++++
>  include/dt-bindings/pinctrl/stm32-pinfunc.h               | 1 +
>  2 files changed, 9 insertions(+)
> 

BTW, which *existing* SoCs use it? Aren't you adding it for the new
platform?

Best regards,
Krzysztof
Antonio Borneo Oct. 23, 2024, 8:56 a.m. UTC | #3
On Wed, 2024-10-23 at 10:47 +0200, Krzysztof Kozlowski wrote:
> On Tue, Oct 22, 2024 at 05:56:48PM +0200, Antonio Borneo wrote:
> > From: Fabien Dessenne <fabien.dessenne@foss.st.com>
> > 
> > Document the RSVD (Reserved) mux function, used to reserve pins
> > for a coprocessor not running Linux.
> > 
> > Signed-off-by: Fabien Dessenne <fabien.dessenne@foss.st.com>
> > Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
> > ---
> >  .../devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml     | 8 ++++++++
> >  include/dt-bindings/pinctrl/stm32-pinfunc.h               | 1 +
> >  2 files changed, 9 insertions(+)
> > 
> 
> BTW, which *existing* SoCs use it? Aren't you adding it for the new
> platform?
> 

This is already used in ST downstream kernel for STM32MP15x
In this example
https://github.com/STMicroelectronics/linux/blob/v6.1-stm32mp/arch/arm/boot/dts/stm32mp157f-dk2-m4-examples.dts#L112

the GPIOs for LED and for PWM are assigned to the Cortex-M4 and Linux (on Cortex-A7) is not supposed to touch them.

Regards,
Antonio
Linus Walleij Oct. 24, 2024, 10:20 p.m. UTC | #4
On Tue, Oct 22, 2024 at 5:59 PM Antonio Borneo
<antonio.borneo@foss.st.com> wrote:

> This series introduces the support for the new SoC
> - STM32MP215,
> - STM32MP235,
>
> by adding the support for the new functionalities
> - irq affinity,
> - Resource Isolation Framework (RIF),
> - Reserved (RSVD) pinmux function,
> - IO synchronization parameters,
> - compile the driver as module.
>
> Some minor code reorganization is also introduced.

Overallt the code looks good to me (I see bindings are being discussed
and I might have some comment on that as well.)

I wonder if Maxime can look over the code as well? He's the only
STM32 maintainer who hasn't written any of the patches and I think
he knows the driver pretty well.

Yours,
Linus Walleij