1.1 --- a/stage2/task_gpio.h Mon Oct 03 18:27:56 2016 +0200
1.2 +++ b/stage2/task_gpio.h Mon Oct 03 21:46:10 2016 +0200
1.3 @@ -11,12 +11,22 @@
1.4 #define TASK_GPIO_PXDATS(n) (TASK_GPIO_BASE + (0x14 + (n)*0x100)) /* Port Data Set Register */
1.5 #define TASK_GPIO_PXDATC(n) (TASK_GPIO_BASE + (0x18 + (n)*0x100)) /* Port Data Clear Register */
1.6
1.7 -#define TASK_REG_GPIO_PXPIN(n) REG32(TASK_GPIO_PXPIN((n))) /* PIN level */
1.8 -#define TASK_REG_GPIO_PXDAT(n) REG32(TASK_GPIO_PXDAT((n))) /* 1: interrupt pending */
1.9 +#define TASK_GPIO_PXDIR(n) (TASK_GPIO_BASE + (0x60 + (n)*0x100)) /* Direction Register */
1.10 +#define TASK_GPIO_PXDIRS(n) (TASK_GPIO_BASE + (0x64 + (n)*0x100)) /* Direction Set Register */
1.11 +#define TASK_GPIO_PXDIRC(n) (TASK_GPIO_BASE + (0x68 + (n)*0x100)) /* Direction Clear Register */
1.12 +
1.13 +#define TASK_REG_GPIO_PXPIN(n) REG32(TASK_GPIO_PXPIN((n)))
1.14 +#define TASK_REG_GPIO_PXDAT(n) REG32(TASK_GPIO_PXDAT((n)))
1.15 #define TASK_REG_GPIO_PXDATS(n) REG32(TASK_GPIO_PXDATS((n)))
1.16 #define TASK_REG_GPIO_PXDATC(n) REG32(TASK_GPIO_PXDATC((n)))
1.17
1.18 +#define TASK_REG_GPIO_PXDIR(n) REG32(TASK_GPIO_PXDIR((n)))
1.19 +#define TASK_REG_GPIO_PXDIRS(n) REG32(TASK_GPIO_PXDIRS((n)))
1.20 +#define TASK_REG_GPIO_PXDIRC(n) REG32(TASK_GPIO_PXDIRC((n)))
1.21 +
1.22 void task_gpio_init(unsigned short task);
1.23 +void task_gpio_as_input(unsigned short pin);
1.24 +void task_gpio_as_output(unsigned short pin);
1.25 void task_gpio_set_pin(unsigned short pin);
1.26 void task_gpio_clear_pin(unsigned short pin);
1.27 int task_gpio_get_pin(unsigned short pin);