1 #ifndef _H8300_GPIO_H 2 #define _H8300_GPIO_H 3 4 #define H8300_GPIO_P1 0 5 #define H8300_GPIO_P2 1 6 #define H8300_GPIO_P3 2 7 #define H8300_GPIO_P4 3 8 #define H8300_GPIO_P5 4 9 #define H8300_GPIO_P6 5 10 #define H8300_GPIO_P7 6 11 #define H8300_GPIO_P8 7 12 #define H8300_GPIO_P9 8 13 #define H8300_GPIO_PA 9 14 #define H8300_GPIO_PB 10 15 #define H8300_GPIO_PC 11 16 #define H8300_GPIO_PD 12 17 #define H8300_GPIO_PE 13 18 #define H8300_GPIO_PF 14 19 #define H8300_GPIO_PG 15 20 #define H8300_GPIO_PH 16 21 22 #define H8300_GPIO_B7 0x80 23 #define H8300_GPIO_B6 0x40 24 #define H8300_GPIO_B5 0x20 25 #define H8300_GPIO_B4 0x10 26 #define H8300_GPIO_B3 0x08 27 #define H8300_GPIO_B2 0x04 28 #define H8300_GPIO_B1 0x02 29 #define H8300_GPIO_B0 0x01 30 31 #define H8300_GPIO_INPUT 0 32 #define H8300_GPIO_OUTPUT 1 33 34 #define H8300_GPIO_RESERVE(port, bits) \ 35 h8300_reserved_gpio(port, bits) 36 37 #define H8300_GPIO_FREE(port, bits) \ 38 h8300_free_gpio(port, bits) 39 40 #define H8300_GPIO_DDR(port, bit, dir) \ 41 h8300_set_gpio_dir(((port) << 8) | (bit), dir) 42 43 #define H8300_GPIO_GETDIR(port, bit) \ 44 h8300_get_gpio_dir(((port) << 8) | (bit)) 45 46 extern int h8300_reserved_gpio(int port, int bits); 47 extern int h8300_free_gpio(int port, int bits); 48 extern int h8300_set_gpio_dir(int port_bit, int dir); 49 extern int h8300_get_gpio_dir(int port_bit); 50 extern int h8300_init_gpio(void); 51 52 #endif 53