1 #ifndef __TASK_GPIO_H__ 2 #define __TASK_GPIO_H__ 3 4 #include "memory.h" 5 #include "xburst_types.h" 6 7 /* Special task versions of GPIO operations. */ 8 9 #define TASK_GPIO_PXPIN(n) (TASK_GPIO_BASE + (0x00 + (n)*0x100)) /* PIN Level Register */ 10 #define TASK_GPIO_PXDAT(n) (TASK_GPIO_BASE + (0x10 + (n)*0x100)) /* Port Data Register */ 11 #define TASK_GPIO_PXDATS(n) (TASK_GPIO_BASE + (0x14 + (n)*0x100)) /* Port Data Set Register */ 12 #define TASK_GPIO_PXDATC(n) (TASK_GPIO_BASE + (0x18 + (n)*0x100)) /* Port Data Clear Register */ 13 14 #define TASK_REG_GPIO_PXPIN(n) REG32(TASK_GPIO_PXPIN((n))) /* PIN level */ 15 #define TASK_REG_GPIO_PXDAT(n) REG32(TASK_GPIO_PXDAT((n))) /* 1: interrupt pending */ 16 #define TASK_REG_GPIO_PXDATS(n) REG32(TASK_GPIO_PXDATS((n))) 17 #define TASK_REG_GPIO_PXDATC(n) REG32(TASK_GPIO_PXDATC((n))) 18 19 void task_gpio_init(unsigned short task); 20 void task_gpio_set_pin(unsigned short pin); 21 void task_gpio_clear_pin(unsigned short pin); 22 int task_gpio_get_pin(unsigned short pin); 23 24 #endif /* __TASK_GPIO_H__ */