[PATCH v2 2/2] pinctrl: add NXP S32 SoC family support

Andreas Färber afaerber at suse.de
Tue Nov 29 05:40:34 PST 2022


Hi Chester,

Am 28.11.22 um 06:48 schrieb Chester Lin:
> Add the pinctrl driver for NXP S32 SoC family. This driver is mainly based
> on NXP's downstream implementation on CodeAurora[1].
> 
> [1] https://source.codeaurora.org/external/autobsps32/linux/tree/drivers/pinctrl/freescale?h=bsp34.0-5.10.120-rt
> 
> Signed-off-by: Matthew Nunez <matthew.nunez at nxp.com>
> Signed-off-by: Phu Luu An <phu.luuan at nxp.com>
> Signed-off-by: Stefan-Gabriel Mirea <stefan-gabriel.mirea at nxp.com>
> Signed-off-by: Larisa Grigore <larisa.grigore at nxp.com>
> Signed-off-by: Ghennadi Procopciuc <Ghennadi.Procopciuc at nxp.com>
> Signed-off-by: Andrei Stefanescu <andrei.stefanescu at nxp.com>
> Signed-off-by: Radu Pirea <radu-nicolae.pirea at nxp.com>
> Signed-off-by: Chester Lin <clin at suse.com>
> ---
> 
> Changes in v2:
> - Create a s32_pin_range matrix in the driver for replacing the "nxp,pins"
>    property in DT.
> - Refine the compatible name to "nxp,s32g2-siul2-pinctrl".

Thanks.

> - Fix the copyright requested by NXP.
> - Remove a few recipients from the Cc list since these email addresses are no
>    longer available.
> 
>   drivers/pinctrl/freescale/Kconfig         |   16 +
>   drivers/pinctrl/freescale/Makefile        |    2 +
>   drivers/pinctrl/freescale/pinctrl-s32.h   |   77 ++
>   drivers/pinctrl/freescale/pinctrl-s32cc.c | 1003 +++++++++++++++++++++
>   drivers/pinctrl/freescale/pinctrl-s32g.c  |  773 ++++++++++++++++
>   5 files changed, 1871 insertions(+)
>   create mode 100644 drivers/pinctrl/freescale/pinctrl-s32.h
>   create mode 100644 drivers/pinctrl/freescale/pinctrl-s32cc.c
>   create mode 100644 drivers/pinctrl/freescale/pinctrl-s32g.c
> 
> diff --git a/drivers/pinctrl/freescale/Kconfig b/drivers/pinctrl/freescale/Kconfig
> index 7a32f77792d9..fdd8f5492830 100644
> --- a/drivers/pinctrl/freescale/Kconfig
> +++ b/drivers/pinctrl/freescale/Kconfig
> @@ -217,3 +217,19 @@ config PINCTRL_IMXRT1170
>   	select PINCTRL_IMX
>   	help
>   	  Say Y here to enable the imxrt1170 pinctrl driver
> +
> +config PINCTRL_S32CC
> +	bool "NXP S32 Common Chassis pinctrl driver core"
> +	depends on ARCH_S32 && OF
> +	select GENERIC_PINCTRL_GROUPS
> +	select GENERIC_PINMUX_FUNCTIONS
> +	select GENERIC_PINCONF
> +	help
> +	  Say Y here to enable the NXP S32CC pinctrl driver core

Does this driver core make any sense without a specific driver?

I.e., could this just be a menu-invisible internal option if S32G is the 
one the user needs to select anyway?
The alternative would be to leave it and have S32G depend on it, 
creating a submenu structure, but that would then still allow to build 
the driver core without any users.

> +
> +config PINCTRL_S32G
> +	depends on ARCH_S32 && OF
> +	bool "NXP S32G pinctrl driver"
> +	select PINCTRL_S32CC
> +	help
> +	  Say Y here to enable the pinctrl driver for NXP 32G family SoCs

s/32G/S32G/

> diff --git a/drivers/pinctrl/freescale/Makefile b/drivers/pinctrl/freescale/Makefile
> index 647dff060477..ceb0f61c6215 100644
> --- a/drivers/pinctrl/freescale/Makefile
> +++ b/drivers/pinctrl/freescale/Makefile
> @@ -33,3 +33,5 @@ obj-$(CONFIG_PINCTRL_IMX25)	+= pinctrl-imx25.o
>   obj-$(CONFIG_PINCTRL_IMX28)	+= pinctrl-imx28.o
>   obj-$(CONFIG_PINCTRL_IMXRT1050)	+= pinctrl-imxrt1050.o
>   obj-$(CONFIG_PINCTRL_IMXRT1170)	+= pinctrl-imxrt1170.o
> +obj-$(CONFIG_PINCTRL_S32CC)	+= pinctrl-s32cc.o
> +obj-$(CONFIG_PINCTRL_S32G)	+= pinctrl-s32g.o
[snip]

Regards,
Andreas

-- 
SUSE Software Solutions Germany GmbH
Frankenstraße 146, 90461 Nürnberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nürnberg)



More information about the linux-arm-kernel mailing list