dprtc-cmd.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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_CMD_H
  7. #define _FSL_DPRTC_CMD_H
  8. /* Command versioning */
  9. #define DPRTC_CMD_BASE_VERSION 1
  10. #define DPRTC_CMD_VERSION_2 2
  11. #define DPRTC_CMD_ID_OFFSET 4
  12. #define DPRTC_CMD(id) (((id) << DPRTC_CMD_ID_OFFSET) | DPRTC_CMD_BASE_VERSION)
  13. #define DPRTC_CMD_V2(id) (((id) << DPRTC_CMD_ID_OFFSET) | DPRTC_CMD_VERSION_2)
  14. /* Command IDs */
  15. #define DPRTC_CMDID_CLOSE DPRTC_CMD(0x800)
  16. #define DPRTC_CMDID_OPEN DPRTC_CMD(0x810)
  17. #define DPRTC_CMDID_SET_IRQ_ENABLE DPRTC_CMD(0x012)
  18. #define DPRTC_CMDID_GET_IRQ_ENABLE DPRTC_CMD(0x013)
  19. #define DPRTC_CMDID_SET_IRQ_MASK DPRTC_CMD_V2(0x014)
  20. #define DPRTC_CMDID_GET_IRQ_MASK DPRTC_CMD(0x015)
  21. #define DPRTC_CMDID_GET_IRQ_STATUS DPRTC_CMD(0x016)
  22. #define DPRTC_CMDID_CLEAR_IRQ_STATUS DPRTC_CMD(0x017)
  23. #pragma pack(push, 1)
  24. struct dprtc_cmd_open {
  25. __le32 dprtc_id;
  26. };
  27. struct dprtc_cmd_get_irq {
  28. __le32 pad;
  29. u8 irq_index;
  30. };
  31. struct dprtc_cmd_set_irq_enable {
  32. u8 en;
  33. u8 pad[3];
  34. u8 irq_index;
  35. };
  36. struct dprtc_rsp_get_irq_enable {
  37. u8 en;
  38. };
  39. struct dprtc_cmd_set_irq_mask {
  40. __le32 mask;
  41. u8 irq_index;
  42. };
  43. struct dprtc_rsp_get_irq_mask {
  44. __le32 mask;
  45. };
  46. struct dprtc_cmd_get_irq_status {
  47. __le32 status;
  48. u8 irq_index;
  49. };
  50. struct dprtc_rsp_get_irq_status {
  51. __le32 status;
  52. };
  53. struct dprtc_cmd_clear_irq_status {
  54. __le32 status;
  55. u8 irq_index;
  56. };
  57. #pragma pack(pop)
  58. #endif /* _FSL_DPRTC_CMD_H */