lkml.org 
[lkml]   [2015]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] gpio: Add driver for MEN 16Z127 GPIO controller
From
On Mon, Oct 5, 2015 at 8:09 PM, Andreas Werner <andy@wernerandy.de> wrote:

> The 16Z127 is a GPIO controller on a MCB FPGA and has 32
> configurable GPIOs.
> The GPIOs can be configured as inputs and outputs
>
> Signed-off-by: Andreas Werner <andy@wernerandy.de>

This driver looks like it can use the generic MMIO library.

select GPIO_GENERIC
#include <linux/basic_mmio_gpio.h>

Then look at example for how to do this, e.g.
drivers/gpio/gpio-74xx-mmio.c

> +config GPIO_MENZ127
> + tristate "MEN 16Z127 GPIO support"
> + depends on MCB

Is this "MCB" symbol already upstream? It seems a bit short.

> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/io.h>
> +#include <linux/mcb.h>
> +#include <linux/gpio.h>

Just
#include <linux/gpio/driver.h>

> +#define MEN_Z127_CTRL 0x00
> +#define MEN_Z127_PSR 0x04
> +#define MEN_Z127_IRQR 0x08
> +#define MEN_Z127_GPIODR 0x0c
> +#define MEN_Z127_IER1 0x10
> +#define MEN_Z127_IER2 0x14

It looks like it has interrupt support?

> +#define MEN_Z127_DBER 0x18

Debounce? In that case, maybe implement .set_debounce from day 1?

> +#define MEN_Z127_ODER 0x1C

And Open Drain? Maybe you should support that from day 1?

Yours,
Linus Walleij


\
 
 \ /
  Last update: 2015-10-06 09:41    [W:0.225 / U:0.576 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site