On Mon, May 14, 2018 at 10:51 PM, Simon Glass <[email protected]> wrote:
> Hi Ramon,
>
> On 14 May 2018 at 01:10, Ramon Fried <[email protected]> wrote:
>> On Mon, May 14, 2018 at 1:00 AM, Simon Glass <[email protected]> wrote:
>>> Hi Ramon,
>>>
>>> On 12 May 2018 at 20:15, Ramon Fried <[email protected]> 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 <[email protected]>
>>>> ---
>>>>  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 <[email protected]>
>>>> + *
>>>> + */
>>>> +
>>>> +#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?
>> 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 ?
>
> I think this table is only used in one function, so you could create
> the string there perhaps?
>
Actually, it works the other way around, the generic-pinctrl needs a
function to translate string to index.
Basically, it reads strings from the FDT and then go over all indexes
until it matches that string. this is inefficient IMHO as I think it
will be easier just
to be able to provide an index instead of a string in the FDT.

> Regards,
> Simon
_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to