linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Felix Fietkau <nbd@nbd.name>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org,
	Bartosz Golaszewski <brgl@bgdev.pl>,
	john@phrozen.org, linux-kernel@vger.kernel.org,
	linux-gpio@vger.kernel.org
Subject: Re: [PATCH v5 12/13] gpio: Add support for Airoha EN7523 GPIO controller
Date: Thu, 2 Dec 2021 18:59:03 +0100	[thread overview]
Message-ID: <c42f4ea0-2879-01cf-1db8-ed39844959fc@nbd.name> (raw)
In-Reply-To: <CACRpkdacgoT-K4qZoBpMx8RiPcvOf=YmrTP36LKyizcQk+VyUQ@mail.gmail.com>


On 2021-12-02 02:47, Linus Walleij wrote:
> Hi Felix!
> 
> Thanks for your patch!
> 
> On Mon, Nov 29, 2021 at 4:54 PM Felix Fietkau <nbd@nbd.name> wrote:
> 
>> From: John Crispin <john@phrozen.org>
>>
>> Airoha's GPIO controller on their ARM EN7523 SoCs consists of two banks of 32
>> GPIOs. Each instance in DT is for an single bank.
>>
>> Signed-off-by: John Crispin <john@phrozen.org>
>> Signed-off-by: Felix Fietkau <nbd@nbd.name>
> 
> (...)
>> +config GPIO_EN7523
>> +       tristate "Airoha GPIO support"
>> +       depends on ARCH_AIROHA
>> +       default ARCH_AIROHA
>> +       select GPIO_GENERIC
> 
> Yes that looks applicable, but why isn't it used?
> 
> The few 32-bit registers look like an ideal candidate for
> using the generic GPIO. Check similar drivers such as
> drivers/gpio/gpio-ftgpio010.c and how it uses
> bgpio_init() and the nice doc for bgpio_init() in
> drivers/gpio/gpio-mmio.c.
I just looked at the datasheet and the driver code again, and I think 
EN7523 is too strange for proper generic GPIO support.

For each bank there are two control registers (not consecutive), which 
have 2-bit fields for every GPIO line to control direction. No idea why 
2 bits per line, because only values 0 and 1 are valid, the rest are 
reserved.
For lines configured as output, an extra output-enable bit also needs to 
be set in a separate register before output values can be written.

The code does use bgpio to read/write values, but that's about it.
I don't think it would do the generic GPIO code any good to support this 
weirdness.

- Felix

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-12-02 18:00 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-29 15:33 [PATCH v5 00/13] Add support for Airoha EN7523 SoC Felix Fietkau
2021-11-29 15:33 ` [PATCH v5 01/13] dt-bindings: Add vendor prefix for Airoha Felix Fietkau
2021-11-29 15:33 ` [PATCH v5 02/13] dt-bindings: arm: airoha: Add binding for EN7523 SoC and EVB Felix Fietkau
2021-11-29 15:33 ` [PATCH v5 03/13] ARM: dts: Add basic support for Airoha EN7523 Felix Fietkau
2021-11-29 15:33 ` [PATCH v5 04/13] ARM: Add basic support for Airoha EN7523 SoC Felix Fietkau
2021-11-29 15:33 ` [PATCH v5 05/13] ARM: multi_v7_defconfig: Add " Felix Fietkau
2021-11-29 15:33 ` [PATCH v5 06/13] dt-bindings: Add en7523-scu device tree binding documentation Felix Fietkau
2021-11-29 15:33 ` [PATCH v5 07/13] clk: en7523: Add clock driver for Airoha EN7523 SoC Felix Fietkau
2021-12-02 17:34   ` kernel test robot
2021-12-03  8:03   ` Stephen Boyd
2021-11-29 15:33 ` [PATCH v5 08/13] dt-bindings: PCI: Add support for Airoha EN7532 Felix Fietkau
2021-11-29 15:33 ` [PATCH v5 09/13] PCI: mediatek: allow selecting controller driver for airoha arch Felix Fietkau
2021-11-29 23:55   ` Bjorn Helgaas
2021-12-06 20:06     ` Bjorn Helgaas
2021-11-29 15:33 ` [PATCH v5 10/13] ARM: dts: Add PCIe support for Airoha EN7523 Felix Fietkau
2021-11-29 15:33 ` [PATCH v5 11/13] dt-bindings: arm: airoha: Add binding for Airoha GPIO controller Felix Fietkau
2021-11-29 15:33 ` [PATCH v5 12/13] gpio: Add support for Airoha EN7523 " Felix Fietkau
2021-12-02  1:47   ` Linus Walleij
2021-12-02 17:59     ` Felix Fietkau [this message]
2021-12-02 19:02       ` John Crispin
2021-12-04 23:55         ` Linus Walleij
2021-12-04 23:57       ` Linus Walleij
2021-12-12  6:59         ` Felix Fietkau
2021-12-12 19:16   ` Andy Shevchenko
2021-11-29 15:33 ` [PATCH v5 13/13] ARM: dts: add GPIO support for Airoha EN7523 Felix Fietkau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c42f4ea0-2879-01cf-1db8-ed39844959fc@nbd.name \
    --to=nbd@nbd.name \
    --cc=brgl@bgdev.pl \
    --cc=john@phrozen.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).