0001
0002
0003
0004
0005
0006
0007 #ifndef _FSL_DPRTC_CMD_H
0008 #define _FSL_DPRTC_CMD_H
0009
0010
0011 #define DPRTC_CMD_BASE_VERSION 1
0012 #define DPRTC_CMD_VERSION_2 2
0013 #define DPRTC_CMD_ID_OFFSET 4
0014
0015 #define DPRTC_CMD(id) (((id) << DPRTC_CMD_ID_OFFSET) | DPRTC_CMD_BASE_VERSION)
0016 #define DPRTC_CMD_V2(id) (((id) << DPRTC_CMD_ID_OFFSET) | DPRTC_CMD_VERSION_2)
0017
0018
0019 #define DPRTC_CMDID_CLOSE DPRTC_CMD(0x800)
0020 #define DPRTC_CMDID_OPEN DPRTC_CMD(0x810)
0021
0022 #define DPRTC_CMDID_SET_IRQ_ENABLE DPRTC_CMD(0x012)
0023 #define DPRTC_CMDID_GET_IRQ_ENABLE DPRTC_CMD(0x013)
0024 #define DPRTC_CMDID_SET_IRQ_MASK DPRTC_CMD_V2(0x014)
0025 #define DPRTC_CMDID_GET_IRQ_MASK DPRTC_CMD(0x015)
0026 #define DPRTC_CMDID_GET_IRQ_STATUS DPRTC_CMD(0x016)
0027 #define DPRTC_CMDID_CLEAR_IRQ_STATUS DPRTC_CMD(0x017)
0028
0029 #pragma pack(push, 1)
0030 struct dprtc_cmd_open {
0031 __le32 dprtc_id;
0032 };
0033
0034 struct dprtc_cmd_get_irq {
0035 __le32 pad;
0036 u8 irq_index;
0037 };
0038
0039 struct dprtc_cmd_set_irq_enable {
0040 u8 en;
0041 u8 pad[3];
0042 u8 irq_index;
0043 };
0044
0045 struct dprtc_rsp_get_irq_enable {
0046 u8 en;
0047 };
0048
0049 struct dprtc_cmd_set_irq_mask {
0050 __le32 mask;
0051 u8 irq_index;
0052 };
0053
0054 struct dprtc_rsp_get_irq_mask {
0055 __le32 mask;
0056 };
0057
0058 struct dprtc_cmd_get_irq_status {
0059 __le32 status;
0060 u8 irq_index;
0061 };
0062
0063 struct dprtc_rsp_get_irq_status {
0064 __le32 status;
0065 };
0066
0067 struct dprtc_cmd_clear_irq_status {
0068 __le32 status;
0069 u8 irq_index;
0070 };
0071
0072 #pragma pack(pop)
0073
0074 #endif