Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * Copyright 2013-2016 Freescale Semiconductor Inc.
0004  * Copyright 2016-2018 NXP
0005  */
0006 
0007 #ifndef _FSL_DPRTC_CMD_H
0008 #define _FSL_DPRTC_CMD_H
0009 
0010 /* Command versioning */
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 /* Command IDs */
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 /* _FSL_DPRTC_CMD_H */