home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / mips / include / asm / mach-bcm47xx / gpio.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.4 KB  |  59 lines

  1. /*
  2.  * This file is subject to the terms and conditions of the GNU General Public
  3.  * License.  See the file "COPYING" in the main directory of this archive
  4.  * for more details.
  5.  *
  6.  * Copyright (C) 2007 Aurelien Jarno <aurelien@aurel32.net>
  7.  */
  8.  
  9. #ifndef __BCM47XX_GPIO_H
  10. #define __BCM47XX_GPIO_H
  11.  
  12. #include <linux/ssb/ssb_embedded.h>
  13. #include <asm/mach-bcm47xx/bcm47xx.h>
  14.  
  15. #define BCM47XX_EXTIF_GPIO_LINES    5
  16. #define BCM47XX_CHIPCO_GPIO_LINES    16
  17.  
  18. extern int gpio_request(unsigned gpio, const char *label);
  19. extern void gpio_free(unsigned gpio);
  20. extern int gpio_to_irq(unsigned gpio);
  21.  
  22. static inline int gpio_get_value(unsigned gpio)
  23. {
  24.     return ssb_gpio_in(&ssb_bcm47xx, 1 << gpio);
  25. }
  26.  
  27. static inline void gpio_set_value(unsigned gpio, int value)
  28. {
  29.     ssb_gpio_out(&ssb_bcm47xx, 1 << gpio, value ? 1 << gpio : 0);
  30. }
  31.  
  32. static inline int gpio_direction_input(unsigned gpio)
  33. {
  34.     return ssb_gpio_outen(&ssb_bcm47xx, 1 << gpio, 0);
  35. }
  36.  
  37. static inline int gpio_direction_output(unsigned gpio, int value)
  38. {
  39.     return ssb_gpio_outen(&ssb_bcm47xx, 1 << gpio, 1 << gpio);
  40. }
  41.  
  42. static int gpio_intmask(unsigned gpio, int value)
  43. {
  44.     return ssb_gpio_intmask(&ssb_bcm47xx, 1 << gpio,
  45.                 value ? 1 << gpio : 0);
  46. }
  47.  
  48. static int gpio_polarity(unsigned gpio, int value)
  49. {
  50.     return ssb_gpio_polarity(&ssb_bcm47xx, 1 << gpio,
  51.                  value ? 1 << gpio : 0);
  52. }
  53.  
  54.  
  55. /* cansleep wrappers */
  56. #include <asm-generic/gpio.h>
  57.  
  58. #endif /* __BCM47XX_GPIO_H */
  59.