From ca7294b98645f0d2345178e249c17f8be342859b Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Mon, 6 Aug 2007 14:15:57 +0000 Subject: Add generic gpio support to rdc, convert the led driver to be a platform driver, need to convert the flash driver as well SVN-Revision: 8348 --- target/linux/rdc-2.6/files/include/asm-i386/gpio.h | 6 +++ .../files/include/asm-i386/mach-generic/gpio.h | 15 ++++++ .../rdc-2.6/files/include/asm-i386/mach-rdc/gpio.h | 56 ++++++++++++++++++++++ .../files/include/asm-i386/mach-rdc/rdc321x_defs.h | 1 + 4 files changed, 78 insertions(+) create mode 100644 target/linux/rdc-2.6/files/include/asm-i386/gpio.h create mode 100644 target/linux/rdc-2.6/files/include/asm-i386/mach-generic/gpio.h create mode 100644 target/linux/rdc-2.6/files/include/asm-i386/mach-rdc/gpio.h create mode 100644 target/linux/rdc-2.6/files/include/asm-i386/mach-rdc/rdc321x_defs.h (limited to 'target/linux/rdc-2.6/files/include') diff --git a/target/linux/rdc-2.6/files/include/asm-i386/gpio.h b/target/linux/rdc-2.6/files/include/asm-i386/gpio.h new file mode 100644 index 0000000000..ff87fca0ca --- /dev/null +++ b/target/linux/rdc-2.6/files/include/asm-i386/gpio.h @@ -0,0 +1,6 @@ +#ifndef _ASM_I386_GPIO_H +#define _ASM_I386_GPIO_H + +#include + +#endif /* _ASM_I386_GPIO_H */ diff --git a/target/linux/rdc-2.6/files/include/asm-i386/mach-generic/gpio.h b/target/linux/rdc-2.6/files/include/asm-i386/mach-generic/gpio.h new file mode 100644 index 0000000000..5305dcb96d --- /dev/null +++ b/target/linux/rdc-2.6/files/include/asm-i386/mach-generic/gpio.h @@ -0,0 +1,15 @@ +#ifndef __ASM_MACH_GENERIC_GPIO_H +#define __ASM_MACH_GENERIC_GPIO_H + +int gpio_request(unsigned gpio, const char *label); +void gpio_free(unsigned gpio); +int gpio_direction_input(unsigned gpio); +int gpio_direction_output(unsigned gpio, int value); +int gpio_get_value(unsigned gpio); +void gpio_set_value(unsigned gpio, int value); +int gpio_to_irq(unsigned gpio); +int irq_to_gpio(unsigned irq); + +#include /* cansleep wrappers */ + +#endif /* __ASM_MACH_GENERIC_GPIO_H */ diff --git a/target/linux/rdc-2.6/files/include/asm-i386/mach-rdc/gpio.h b/target/linux/rdc-2.6/files/include/asm-i386/mach-rdc/gpio.h new file mode 100644 index 0000000000..2368bd7583 --- /dev/null +++ b/target/linux/rdc-2.6/files/include/asm-i386/mach-rdc/gpio.h @@ -0,0 +1,56 @@ +#ifndef _RDC_GPIO_H +#define _RDC_GPIO_H + +extern int rdc_gpio_get_value(unsigned gpio); +extern void rdc_gpio_set_value(unsigned gpio, int value); +extern int rdc_gpio_direction_input(unsigned gpio); +extern int rdc_gpio_direction_output(unsigned gpio, int value); + + +/* Wrappers for the arch-neutral GPIO API */ + +static inline int gpio_request(unsigned gpio, const char *label) +{ + /* Not yet implemented */ + return 0; +} + +static inline void gpio_free(unsigned gpio) +{ + /* Not yet implemented */ +} + +static inline int gpio_direction_input(unsigned gpio) +{ + return rdc_gpio_direction_input(gpio); +} + +static inline int gpio_direction_output(unsigned gpio, int value) +{ + return rdc_gpio_direction_output(gpio, value); +} + +static inline int gpio_get_value(unsigned gpio) +{ + return rdc_gpio_get_value(gpio); +} + +static inline void gpio_set_value(unsigned gpio, int value) +{ + rdc_gpio_set_value(gpio, value); +} + +static inline int gpio_to_irq(unsigned gpio) +{ + return gpio; +} + +static inline int irq_to_gpio(unsigned irq) +{ + return irq; +} + +/* For cansleep */ +#include + +#endif /* _RDC_GPIO_H_ */ diff --git a/target/linux/rdc-2.6/files/include/asm-i386/mach-rdc/rdc321x_defs.h b/target/linux/rdc-2.6/files/include/asm-i386/mach-rdc/rdc321x_defs.h new file mode 100644 index 0000000000..c8e6355bce --- /dev/null +++ b/target/linux/rdc-2.6/files/include/asm-i386/mach-rdc/rdc321x_defs.h @@ -0,0 +1 @@ +#define RDC_FLASH_BASE 0xffc00000 -- cgit v1.2.3