dprtc.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright 2013-2016 Freescale Semiconductor Inc.
  4. * Copyright 2016-2018 NXP
  5. */
  6. #ifndef __FSL_DPRTC_H
  7. #define __FSL_DPRTC_H
  8. /* Data Path Real Time Counter API
  9. * Contains initialization APIs and runtime control APIs for RTC
  10. */
  11. struct fsl_mc_io;
  12. #define DPRTC_MAX_IRQ_NUM 1
  13. #define DPRTC_IRQ_INDEX 0
  14. #define DPRTC_EVENT_PPS 0x08000000
  15. #define DPRTC_EVENT_ETS1 0x00800000
  16. #define DPRTC_EVENT_ETS2 0x00400000
  17. int dprtc_open(struct fsl_mc_io *mc_io,
  18. u32 cmd_flags,
  19. int dprtc_id,
  20. u16 *token);
  21. int dprtc_close(struct fsl_mc_io *mc_io,
  22. u32 cmd_flags,
  23. u16 token);
  24. int dprtc_set_irq_enable(struct fsl_mc_io *mc_io,
  25. u32 cmd_flags,
  26. u16 token,
  27. u8 irq_index,
  28. u8 en);
  29. int dprtc_get_irq_enable(struct fsl_mc_io *mc_io,
  30. u32 cmd_flags,
  31. u16 token,
  32. u8 irq_index,
  33. u8 *en);
  34. int dprtc_set_irq_mask(struct fsl_mc_io *mc_io,
  35. u32 cmd_flags,
  36. u16 token,
  37. u8 irq_index,
  38. u32 mask);
  39. int dprtc_get_irq_mask(struct fsl_mc_io *mc_io,
  40. u32 cmd_flags,
  41. u16 token,
  42. u8 irq_index,
  43. u32 *mask);
  44. int dprtc_get_irq_status(struct fsl_mc_io *mc_io,
  45. u32 cmd_flags,
  46. u16 token,
  47. u8 irq_index,
  48. u32 *status);
  49. int dprtc_clear_irq_status(struct fsl_mc_io *mc_io,
  50. u32 cmd_flags,
  51. u16 token,
  52. u8 irq_index,
  53. u32 status);
  54. #endif /* __FSL_DPRTC_H */