[U-Boot] [PATCH 5/7] mach-snapdragon: Introduce pinctrl driver

Simon Glass sjg at chromium.org
Sun May 13 22:00:12 UTC 2018


Hi Ramon,

On 12 May 2018 at 20:15, Ramon Fried <ramon.fried at gmail.com> wrote:
> This patch adds pinmux and pinctrl driver for TLMM
> subsystem in snapdragon chipsets.
> Currently, supporting only 8016, but implementation is
> generic and 8096 can be added easily.
>
> Driver is using the generic dt-bindings and doesn't
> introduce any new bindings (yet).
>
> Signed-off-by: Ramon Fried <ramon.fried at gmail.com>
> ---
>  arch/arm/mach-snapdragon/Makefile                |   2 +
>  arch/arm/mach-snapdragon/pinctrl-apq8016.c       | 162 +++++++++++++++++++++++
>  arch/arm/mach-snapdragon/pinctrl-snapdragon.c    | 118 +++++++++++++++++
>  arch/arm/mach-snapdragon/pinctrl-snapdragon.h    |  21 +++
>  configs/dragonboard410c_defconfig                |   5 +
>  include/dt-bindings/pinctrl/pinctrl-snapdragon.h |  22 +++
>  6 files changed, 330 insertions(+)
>  create mode 100644 arch/arm/mach-snapdragon/pinctrl-apq8016.c
>  create mode 100644 arch/arm/mach-snapdragon/pinctrl-snapdragon.c
>  create mode 100644 arch/arm/mach-snapdragon/pinctrl-snapdragon.h
>  create mode 100644 include/dt-bindings/pinctrl/pinctrl-snapdragon.h
>
> diff --git a/arch/arm/mach-snapdragon/Makefile b/arch/arm/mach-snapdragon/Makefile
> index 1c23dc52cf..1d35fea912 100644
> --- a/arch/arm/mach-snapdragon/Makefile
> +++ b/arch/arm/mach-snapdragon/Makefile
> @@ -6,4 +6,6 @@ obj-$(CONFIG_TARGET_DRAGONBOARD820C) += clock-apq8096.o
>  obj-$(CONFIG_TARGET_DRAGONBOARD820C) += sysmap-apq8096.o
>  obj-$(CONFIG_TARGET_DRAGONBOARD410C) += clock-apq8016.o
>  obj-$(CONFIG_TARGET_DRAGONBOARD410C) += sysmap-apq8016.o
> +obj-$(CONFIG_TARGET_DRAGONBOARD410C) += pinctrl-apq8016.o
> +obj-$(CONFIG_TARGET_DRAGONBOARD410C) += pinctrl-snapdragon.o
>  obj-y += clock-snapdragon.o
> diff --git a/arch/arm/mach-snapdragon/pinctrl-apq8016.c b/arch/arm/mach-snapdragon/pinctrl-apq8016.c
> new file mode 100644
> index 0000000000..8e57e2338c
> --- /dev/null
> +++ b/arch/arm/mach-snapdragon/pinctrl-apq8016.c
> @@ -0,0 +1,162 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Qualcomm APQ8016 pinctrl
> + *
> + * (C) Copyright 2018 Ramon Fried <ramon.fried at gmail.com>
> + *
> + */
> +
> +#include "pinctrl-snapdragon.h"
> +#include <common.h>
> +
> +const char * const msm_pinctrl_pins[] = {
> +       "GPIO_0",
> +       "GPIO_1",
> +       "GPIO_2",
> +       "GPIO_3",
> +       "GPIO_4",
> +       "GPIO_5",
> +       "GPIO_6",
> +       "GPIO_7",

This seems inefficient. Could you not sprintf() the name for most of
these values?

Regards,
Simon


More information about the U-Boot mailing list