aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/gpio.h
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/gpio.h')
-rw-r--r--target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/gpio.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/gpio.h b/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/gpio.h
new file mode 100644
index 0000000000..dd2c0f3d55
--- /dev/null
+++ b/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/gpio.h
@@ -0,0 +1,52 @@
+#ifndef __ASM_MIPS_MACH_BCM63XX_GPIO_H
+#define __ASM_MIPS_MACH_BCM63XX_GPIO_H
+
+#include <bcm63xx_gpio.h>
+
+static inline int gpio_is_valid(int number)
+{
+ return (number >= BCM63XX_GPIO_COUNT) ? 0 : 1;
+}
+
+static inline int gpio_request(unsigned gpio, const char *label)
+{
+ return 0;
+}
+
+static inline void gpio_free(unsigned gpio)
+{
+}
+
+static inline int gpio_direction_input(unsigned gpio)
+{
+ bcm63xx_gpio_set_direction(gpio, GPIO_DIR_IN);
+ return 0;
+}
+
+static inline int gpio_direction_output(unsigned gpio, int value)
+{
+ bcm63xx_gpio_set_direction(gpio, GPIO_DIR_OUT);
+ return 0;
+}
+
+static inline int gpio_get_value(unsigned gpio)
+{
+ return bcm63xx_gpio_get_datain(gpio);
+}
+
+static inline void gpio_set_value(unsigned gpio, int value)
+{
+ bcm63xx_gpio_set_dataout(gpio, value);
+}
+
+static inline int gpio_to_irq(unsigned gpio)
+{
+ return gpio;
+}
+
+static inline int irq_to_gpio(unsigned irq)
+{
+ return irq;
+}
+
+#endif /* __ASM_MIPS_MACH_BCM63XX_GPIO_H */