1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 3 #ifndef _GPIO_DA8XX_DEFS_H_ 4 #define _GPIO_DA8XX_DEFS_H_ 5 6 struct davinci_gpio { 7 unsigned int dir; 8 unsigned int out_data; 9 unsigned int set_data; 10 unsigned int clr_data; 11 unsigned int in_data; 12 unsigned int set_rising; 13 unsigned int clr_rising; 14 unsigned int set_falling; 15 unsigned int clr_falling; 16 unsigned int intstat; 17 }; 18 19 struct davinci_gpio_bank { 20 int num_gpio; 21 unsigned int irq_num; 22 unsigned int irq_mask; 23 unsigned long *in_use; 24 struct davinci_gpio *base; 25 }; 26 27 #define GPIO_NAME_SIZE 20 28 #define MAX_NUM_GPIOS 144 29 #define GPIO_BIT(gp) ((gp) & 0x1F) 30 31 #ifdef CONFIG_DM_GPIO 32 33 /* Information about a GPIO bank */ 34 struct davinci_gpio_platdata { 35 int bank_index; 36 ulong base; /* address of registers in physical memory */ 37 const char *port_name; 38 }; 39 #endif 40 41 #endif 42