da8xx_gpio.h 816 B

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