This gpio core is described in http://nioswiki.com/GPIO.
Signed-off-by: Thomas Chou <tho...@wytron.com.tw> --- include/asm-nios2/gpio.h | 72 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 72 insertions(+), 0 deletions(-) create mode 100644 include/asm-nios2/gpio.h diff --git a/include/asm-nios2/gpio.h b/include/asm-nios2/gpio.h new file mode 100644 index 0000000..3a98a0d --- /dev/null +++ b/include/asm-nios2/gpio.h @@ -0,0 +1,72 @@ +/* + * Altera GPIO driver + * + * The gpio core and usage is described in http://nioswiki.com/GPIO + * + * Copyright (C) 2010 Thomas Chou <tho...@wytron.com.tw> + * + * 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 _ASM_NIOS2_GPIO_H_ +#define _ASM_NIOS2_GPIO_H_ 1 + +#include <asm/io.h> + +#define AVALON_GPIO_PORT(p) (CONFIG_SYS_GPIO_BASE + ((p) << 2)) + +static inline int gpio_is_valid(int number) +{ + return 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) +{ + writel(1, AVALON_GPIO_PORT(gpio)); + return 0; +} + +static inline int gpio_direction_output(unsigned gpio, int value) +{ + writel(value ? 3 : 2, AVALON_GPIO_PORT(gpio)); + return 0; +} + +static inline int gpio_get_value(unsigned gpio) +{ + return readl(AVALON_GPIO_PORT(gpio)); +} + +static inline void gpio_set_value(unsigned gpio, int value) +{ + writel(value ? 3 : 2, AVALON_GPIO_PORT(gpio)); +} + +static inline int gpio_cansleep(unsigned gpio) +{ + return 0; +} + +static inline int gpio_get_value_cansleep(unsigned gpio) +{ + return gpio_get_value(gpio); +} + +static inline void gpio_set_value_cansleep(unsigned gpio, int value) +{ + gpio_set_value(gpio, value); +} + +#undef AVALON_GPIO_PORT +#endif /* _ASM_NIOS2_GPIO_H_ */ -- 1.6.6.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot