From ca7294b98645f0d2345178e249c17f8be342859b Mon Sep 17 00:00:00 2001
From: Florian Fainelli <florian@openwrt.org>
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 0000000..ff87fca
--- /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 <gpio.h>
+
+#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 0000000..5305dcb
--- /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 <asm-generic/gpio.h>           /* 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 0000000..2368bd7
--- /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 <asm-generic/gpio.h>
+
+#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 0000000..c8e6355
--- /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.1