xref: /openbmc/skeleton/libopenbmc_intf/gpio.h (revision c0c74e7c)
1 #ifndef __OBJECTS_GPIO_UTILITIES_H__
2 #define __OBJECTS_GPIO_UTILITIES_H__
3 
4 #include <stdint.h>
5 #include <gio/gio.h>
6 #include <stdbool.h>
7 
8 typedef struct {
9   gchar* name;
10   gchar* dev;
11   uint16_t num;
12   uint16_t chip_id;
13   gchar* direction;
14   int fd;
15   bool irq_inited;
16 } GPIO;
17 
18 
19 //gpio functions
20 #define GPIO_OK           0x00
21 #define GPIO_ERROR        0x01
22 #define GPIO_OPEN_ERROR   0x02
23 #define GPIO_INIT_ERROR   0x04
24 #define GPIO_READ_ERROR   0x08
25 #define GPIO_WRITE_ERROR  0x10
26 #define GPIO_LOOKUP_ERROR 0x20
27 
28 void gpio_close(GPIO*);
29 int  gpio_open(GPIO*, uint8_t);
30 int gpio_write(GPIO*, uint8_t);
31 int gpio_get_params(GPIO*);
32 int gpio_read(GPIO*,uint8_t*);
33 void gpio_inits_done();
34 
35 #endif
36