diff options
| author | Olof Johansson <olof@lixom.net> | 2013-10-07 09:29:10 -0700 |
|---|---|---|
| committer | Olof Johansson <olof@lixom.net> | 2013-10-07 09:29:10 -0700 |
| commit | 3d729d33ee89a3e63bee14bdd516af0662490fab (patch) | |
| tree | ca851636c3c3ea8bd510d70f4657631fff24260d /include/linux | |
| parent | 4a10c2ac2f368583138b774ca41fac4207911983 (diff) | |
| parent | f1a4c52ff5913378b7baf05ac71f10282b341cf7 (diff) | |
Merge tag 'davinci-for-v3.13/gpio' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/drivers
From Sekhar Nori, GPIO driver updates for DaVinci:
This pull request moves DaVinci GPIO driver to use platform device
framework and the corresponding changes needed to keep GPIO working on
existing DaVinci boards. This is a pre-requisite to DT support for GPIO.
* tag 'davinci-for-v3.13/gpio' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
ARM: davinci: gpio: use gpiolib API instead of inline functions
ARM: davinci: board: gpio device creation
ARM: davinci: da8xx boards: gpio device creation
ARM: davinci: support gpio platform device
ARM: davinci: da8xx: support gpio platform device
gpio: davinci: move to platform device
gpio: davinci: coding style correction
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/platform_data/gpio-davinci.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/include/linux/platform_data/gpio-davinci.h b/include/linux/platform_data/gpio-davinci.h new file mode 100644 index 000000000000..6efd20264585 --- /dev/null +++ b/include/linux/platform_data/gpio-davinci.h @@ -0,0 +1,60 @@ +/* + * DaVinci GPIO Platform Related Defines + * + * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation version 2. + * + * This program is distributed "as is" WITHOUT ANY WARRANTY of any + * kind, whether express or implied; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef __DAVINCI_GPIO_PLATFORM_H +#define __DAVINCI_GPIO_PLATFORM_H + +#include <linux/io.h> +#include <linux/spinlock.h> + +#include <asm-generic/gpio.h> + +enum davinci_gpio_type { + GPIO_TYPE_TNETV107X = 0, +}; + +struct davinci_gpio_platform_data { + u32 ngpio; + u32 gpio_unbanked; + u32 intc_irq_num; +}; + + +struct davinci_gpio_controller { + struct gpio_chip chip; + int irq_base; + /* Serialize access to GPIO registers */ + spinlock_t lock; + void __iomem *regs; + void __iomem *set_data; + void __iomem *clr_data; + void __iomem *in_data; + int gpio_unbanked; + unsigned gpio_irq; +}; + +/* + * basic gpio routines + */ +#define GPIO(X) (X) /* 0 <= X <= (DAVINCI_N_GPIO - 1) */ + +/* Convert GPIO signal to GPIO pin number */ +#define GPIO_TO_PIN(bank, gpio) (16 * (bank) + (gpio)) + +static inline u32 __gpio_mask(unsigned gpio) +{ + return 1 << (gpio % 32); +} +#endif |
