diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2011-03-27 19:19:57 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2011-03-27 19:19:57 +0000 |
commit | 2e1b24966f863bdab876cb72d77d4a22dd295c1b (patch) | |
tree | bceb63da482ac47cb5a1d92a9b13af6c4faf2c66 /target/linux/ramips/files/arch/mips/include | |
parent | 878f3adcc0fd0ec9276565566f4e6e857a3d0504 (diff) | |
download | upstream-2e1b24966f863bdab876cb72d77d4a22dd295c1b.tar.gz upstream-2e1b24966f863bdab876cb72d77d4a22dd295c1b.tar.bz2 upstream-2e1b24966f863bdab876cb72d77d4a22dd295c1b.zip |
ramips: move GPIO definitions into a separate header file
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26325 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ramips/files/arch/mips/include')
-rw-r--r-- | target/linux/ramips/files/arch/mips/include/asm/mach-ralink/common.h | 1 | ||||
-rw-r--r-- | target/linux/ramips/files/arch/mips/include/asm/mach-ralink/ramips_gpio.h | 48 |
2 files changed, 48 insertions, 1 deletions
diff --git a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/common.h b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/common.h index 8f058c88c4..939062b498 100644 --- a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/common.h +++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/common.h @@ -16,7 +16,6 @@ void ramips_intc_irq_init(unsigned intc_base, unsigned irq, unsigned irq_base); u32 ramips_intc_get_status(void); void ramips_soc_setup(void); -void ramips_gpio_init(void); void ramips_early_serial_setup(int line, unsigned base, unsigned freq, unsigned irq); diff --git a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/ramips_gpio.h b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/ramips_gpio.h new file mode 100644 index 0000000000..32fc7a7402 --- /dev/null +++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/ramips_gpio.h @@ -0,0 +1,48 @@ +/* + * Ralink SoC specific GPIO support + * + * Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + */ + +#ifndef _RAMIPS_GPIO_H +#define _RAMIPS_GPIO_H + +#include <linux/gpio.h> +#include <linux/spinlock.h> + +enum ramips_gpio_reg { + RAMIPS_GPIO_REG_INT = 0, /* Interrupt status */ + RAMIPS_GPIO_REG_EDGE, + RAMIPS_GPIO_REG_RENA, + RAMIPS_GPIO_REG_FENA, + RAMIPS_GPIO_REG_DATA, + RAMIPS_GPIO_REG_DIR, /* Direction, 0:in, 1: out */ + RAMIPS_GPIO_REG_POL, /* Polarity, 0: normal, 1: invert */ + RAMIPS_GPIO_REG_SET, + RAMIPS_GPIO_REG_RESET, + RAMIPS_GPIO_REG_TOGGLE, + RAMIPS_GPIO_REG_MAX +}; + +struct ramips_gpio_chip { + struct gpio_chip chip; + unsigned long map_base; + unsigned long map_size; + u8 regs[RAMIPS_GPIO_REG_MAX]; + + spinlock_t lock; + void __iomem *regs_base; +}; + +struct ramips_gpio_data { + unsigned int num_chips; + struct ramips_gpio_chip *chips; +}; + +int ramips_gpio_init(struct ramips_gpio_data *data); + +#endif /* _RAMIPS_GPIO_H */ |