Thread (13 messages) 13 messages, 4 authors, 2014-12-11

Re: [PATCH] gpio: sn54hc595: new driver for GPIO shift registers chipsets

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2014-12-08 15:03:17
Also in: linux-gpio

Hi Rafał,

On Mon, Dec 8, 2014 at 3:47 PM, Rafał Miłecki [off-list ref] wrote:
On 8 December 2014 at 15:41, Geert Uytterhoeven [off-list ref] wrote:
quoted
On Mon, Dec 8, 2014 at 3:27 PM, Rafał Miłecki [off-list ref] wrote:
quoted
SN54HC595 and SN74HC595 are devices based on shift registers controlled
with 5 input signals (serial-in) and providing 8 outputs (parallel-out).

They are present on some Broadcom home router boards where manufacturer
needed few extra GPIOs.

This driver simply uses specified GPIOs to control shift registers and
registers another GPIO chip. So you can call it a GPIO extender.

Due to the hardware design only output direction is supported. Reading
values is handled using tiny internal cache.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
---
 .../devicetree/bindings/gpio/gpio-sn54hc595.txt    |  35 ++++
 drivers/gpio/Kconfig                               |  11 ++
 drivers/gpio/Makefile                              |   1 +
 drivers/gpio/gpio-sn54hc595.c                      | 219 +++++++++++++++++++++
The '595 is already handled by drivers/gpio/gpio-74x164.c.
gpio-74x164.c seems to be tight closely to the SPI. In my case it's
GPIO-controller '595.
Right. gpio-74x164.c uses the SPI framework, so it will work with any SPI
master controller, while your driver contains a very simple variant (without any
timing constraints) of spi-gpio.c, and is limited to connecting to GPIO pins.
Do you have any other idea how we could handle this?
Your driver does provide OE support, which gpio-74x164 doesn't support.
Perhaps that can be added to gpio-74x164 instead?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help