xref: /minix/minix/include/minix/gpio.h (revision 83133719)
1 #ifndef __INCLUDE_GPIO_H__
2 #define __INCLUDE_GPIO_H__
3 
4 struct gpio
5 {
6 	int nr;			/* GPIO number */
7 	int mode;		/* GPIO mode (input=0/output=1) */
8 };
9 
10 #define GPIO_MODE_INPUT 0
11 #define GPIO_MODE_OUTPUT 1
12 
13 int gpio_init(void);
14 
15 /* request access to a gpio */
16 int gpio_claim(char *owner, int nr, struct gpio **gpio);
17 
18 /* Configure the GPIO for a certain purpose */
19 int gpio_pin_mode(struct gpio *gpio, int mode);
20 
21 /* Set the value for a GPIO */
22 int gpio_set(struct gpio *gpio, int value);
23 
24 /* Read the current value of the GPIO */
25 int gpio_read(struct gpio *gpio, int *value);
26 
27 /* Read and clear the value interrupt value of the GPIO */
28 int gpio_intr_read(struct gpio *gpio, int *value);
29 
30 /* Interrupt hook */
31 int gpio_intr_message(message * m);
32 
33 int gpio_release(void);
34 #endif /* __INCLUDE_GPIO_H__ */
35