parent
251a367fb4
commit
37d6d88869
@ -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 */ |
Loading…
Reference in new issue