• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * include/asm-mips/pmc-sierra/msp71xx/gpio.h
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * @author Patrick Glass <patrickglass@gmail.com>
9  */
10 
11 #ifndef __PMC_MSP71XX_GPIO_H
12 #define __PMC_MSP71XX_GPIO_H
13 
14 /* Max number of gpio's is 28 on chip plus 3 banks of I2C IO Expanders */
15 #define ARCH_NR_GPIOS (28 + (3 * 8))
16 
17 /* new generic GPIO API - see Documentation/gpio.txt */
18 #include <asm-generic/gpio.h>
19 
20 #define gpio_get_value	__gpio_get_value
21 #define gpio_set_value	__gpio_set_value
22 #define gpio_cansleep	__gpio_cansleep
23 
24 /* Setup calls for the gpio and gpio extended */
25 extern void msp71xx_init_gpio(void);
26 extern void msp71xx_init_gpio_extended(void);
27 extern int msp71xx_set_output_drive(unsigned gpio, int value);
28 
29 /* Custom output drive functionss */
gpio_set_output_drive(unsigned gpio,int value)30 static inline int gpio_set_output_drive(unsigned gpio, int value)
31 {
32 	return msp71xx_set_output_drive(gpio, value);
33 }
34 
35 /* IRQ's are not supported for gpio lines */
gpio_to_irq(unsigned gpio)36 static inline int gpio_to_irq(unsigned gpio)
37 {
38 	return -EINVAL;
39 }
40 
irq_to_gpio(unsigned irq)41 static inline int irq_to_gpio(unsigned irq)
42 {
43 	return -EINVAL;
44 }
45 
46 #endif /* __PMC_MSP71XX_GPIO_H */
47