#ifndef GPIO_INCLUDE_H #define GPIO_INCLUDE_H #include #define GPIO1_IO_OFFSET 0x00000c00 #define GPIO2_IO_OFFSET 0x00000d00 typedef struct _gpioDatAccess { unsigned int value; unsigned int mask; } gpioDataAccess; #define GPIO_IOC_MAGIC 0xaa #define GPIO_IOC_GET_DIR _IO(GPIO_IOC_MAGIC, 1) #define GPIO_IOC_SET_DIR _IOW(GPIO_IOC_MAGIC, 2, gpioDataAccess) #define GPIO_IOC_GET_DATA _IO(GPIO_IOC_MAGIC, 3) #define GPIO_IOC_SET_DATA _IOW(GPIO_IOC_MAGIC, 4, gpioDataAccess) #define GPIO_IOC_MAXNR 5 #define GPIO_NUM_BANKS 2 struct gpio_reg { unsigned int gpxdir; unsigned int gpxdr; unsigned int gpxdat; unsigned int gpxier; unsigned int gpximr; unsigned int gpxicr; }; /* On our CPU, bit 0 is the MS bit, so go from the left */ #define GPIO_BIT(x) (0x80000000 >> (x)) #endif /* GPIO_INCLUDE_H */