Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / minix / gpio.h @ 13

History | View | Annotate | Download (799 Bytes)

1 13 up20180614
#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__ */