From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramon Fried Date: Mon, 14 May 2018 10:10:37 +0300 Subject: [U-Boot] [PATCH 5/7] mach-snapdragon: Introduce pinctrl driver In-Reply-To: References: <20180512101558.24375-1-ramon.fried@gmail.com> <20180512101558.24375-6-ramon.fried@gmail.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Mon, May 14, 2018 at 1:00 AM, Simon Glass wrote: > Hi Ramon, > > On 12 May 2018 at 20:15, Ramon Fried 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 >> --- >> 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 >> + * >> + */ >> + >> +#include "pinctrl-snapdragon.h" >> +#include >> + >> +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? The origin of this table is from the Linux kernel driver. I'm not sure I understand how sprintf will more efficient, do you want to fill up this table on runtime ? > > Regards, > Simon