gpio.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2011-01-13 weety first version
  9. */
  10. #ifndef __DM365_GPIO_H
  11. #define __DM365_GPIO_H
  12. #include <dm36x.h>
  13. #define GPIO(X) (X)
  14. #define get_io(r) *((volatile u_int *)(TI81XX_L4_SLOW_IO_ADDRESS(r)))
  15. #define set_io(r,v) *((volatile u_int *)(TI81XX_L4_SLOW_IO_ADDRESS(r))) = (v)
  16. #define and_io(r,v) *((volatile u_int *)(TI81XX_L4_SLOW_IO_ADDRESS(r))) &= (v)
  17. #define or_io(r,v) *((volatile u_int *)(TI81XX_L4_SLOW_IO_ADDRESS(r))) |= (v)
  18. #define v_get_io(r) *((volatile u_int *)(r))
  19. #define v_set_io(r,v) *((volatile u_int *)(r)) = (v)
  20. #define v_and_io(r,v) *((volatile u_int *)(r)) &= (v)
  21. #define v_or_io(r,v) *((volatile u_int *)(r)) |= (v)
  22. enum gpio_intr_mode
  23. {
  24. LEVELDETECT_LOW = 0,
  25. LEVELDETECT_HIGH,
  26. RISINGDETECT,
  27. FALLINGDETECT,
  28. EDGEDETECT //both rising-edge and falling-edge detect
  29. };
  30. enum gpio_intr_req
  31. {
  32. INTR_REQ_A = 0,
  33. INTR_REQ_B
  34. };
  35. enum gpio_intr_num
  36. {
  37. GPIOINT0A = 96,
  38. GPIOINT0B,
  39. GPIOINT1A,
  40. GPIOINT1B,
  41. };
  42. enum pin_func_mod
  43. {
  44. GPIO_MOD = 0x80,
  45. SPI_MOD =0x01,
  46. VP_MOD=0x04,
  47. IIC_MOD=0x20
  48. };
  49. #endif /* __TI814X_GPIO_H */