OSDN Git Service

Add rtl8821ce driver version 5.5.2
[android-x86/external-kernel-drivers.git] / rtl8821ce / hal / halmac / halmac_module.h
diff --git a/rtl8821ce/hal/halmac/halmac_module.h b/rtl8821ce/hal/halmac/halmac_module.h
new file mode 100644 (file)
index 0000000..37e6d7d
--- /dev/null
@@ -0,0 +1,115 @@
+#ifndef _HALMAC_MODULE_H_
+#define _HALMAC_MODULE_H_
+
+#define HALMAC_VERSION(a, b, c)                (((a) << 16) + ((b) << 8) + (c))
+#define        HALMAC_CURRENT_VERSION          HALMAC_VERSION(HALMAC_MAJOR_VER, HALMAC_PROTOTYPE_VER, HALMAC_MINOR_VER)
+
+#define MAX_ARG_NUM    10
+
+#define                TLP_TYPE_NONE                                                   0x00000000
+#define                TLP_TYPE_PU8                                                    0x00000001
+#define                TLP_TYPE_PU16                                                   0x00000002
+#define                TLP_TYPE_PU32                                                   0x00000003
+#define                TLP_TYPE_PU64                                                   0x00000004
+#define                TLP_TYPE_PS8                                                    0x00000005
+#define                TLP_TYPE_PS16                                                   0x00000006
+#define                TLP_TYPE_PS32                                                   0x00000007
+#define                TLP_TYPE_PS64                                                   0x00000008
+#define                TLP_TYPE_PVOID                                                  0x00000009
+#define                TLP_TYPE_PU8_BUFFER                                             0x0000000A
+#define                TLP_TYPE_POS_API_ENTRY                                  0x0000000B
+#define                TLP_TYPE_PHALMAC_WLAN_ADDR                              0x0000000C
+#define                TLP_TYPE_PHALMAC_PHY_PARAMETER_INFO             0x0000000D
+#define                TLP_TYPE_PHALMAC_CH_INFO                                0x0000000E
+#define                TLP_TYPE_PHALMAC_CH_SWITCH_OPTION               0x0000000F
+#define                TLP_TYPE_PHALMAC_GENERAL_INFO                   0x00000010
+#define                TLP_TYPE_PHALMAC_CMD_PROCESS_STATUS             0x00000011
+#define                TLP_TYPE_PHALMAC_INTERFACE                              0x00000012
+#define                TLP_TYPE_PHALMAC_MAC_POWER                              0x00000013
+#define                TLP_TYPE_PHALMAC_RXAGG_CFG                              0x00000014
+#define                TLP_TYPE_PHALMAC_WIRELESS_MODE                  0x00000015
+#define                TLP_TYPE_PHALMAC_BW                                             0x00000016
+#define                TLP_TYPE_PHALMAC_TRX_MODE                               0x00000017
+#define                TLP_TYPE_PHALMAC_EFUSE_READ_CFG                 0x00000018
+#define                TLP_TYPE_PHALMAC_PACKET_ID                              0x00000019
+#define                TLP_TYPE_PHALMAC_DRV_INFO                               0x0000001A
+#define                TLP_TYPE_PHALMAC_FEATURE_ID                             0x0000001B
+#define                TLP_TYPE_PHALMAC_HW_ID                                  0x0000001C
+#define                TLP_TYPE_PHALMAC_DRV_RSVD_PG_NUM                0x0000001D
+#define                TLP_TYPE_PHALMAC_LA_MODE                                0x0000001E
+#define                TLP_TYPE_PHALMAC_PWR_TRACKING                   0x0000001F
+#define                TLP_TYPE_PHALMAC_EFUSE_BANK                             0x00000020
+#define                TLP_TYPE_PHALMAC_IQK                                    0x00000021
+#define                TLP_TYPE_PHALMAC_MU_BFER_INIT_PARA              0x00000022
+#define                TLP_TYPE_PHALMAC_MU_BFEE_INIT_PARA              0x00000023
+#define                TLP_TYPE_PHALMAC_SU_BFER_INIT_PARA              0x00000024
+#define                TLP_TYPE_PHALMAC_SND_ROLE                               0x00000025
+#define                TLP_TYPE_PHALMAC_DATA_RATE                              0x00000026
+#define                TLP_TYPE_PHALMAC_CFG_MUMIMO_PARA                0x00000027
+#define                TLP_TYPE_PU8_1                                                  0x00000028
+#define                TLP_TYPE_PHALMAC_PG_EFUSE_INFO                  0x00000029
+#define                TLP_TYPE_PU8_2                                                  0x0000002A
+#define                TLP_TYPE_PHALMAC_INTF_PHY_PLATFORM              0x0000002B
+#define                TLP_TYPE_PHALMAC_API_REGISTRY                   0x0000002C
+#define                TLP_TYPE_PHALMAC_DLFW_MEM                               0x0000002D
+#define                TLP_TYPE_PHALMAC_FW_VERSION                             0x0000002E
+#define                TLP_TYPE_PHALMAC_SIDEBAND_INT_CFG               0x0000002F
+#define                TLP_TYPE_PHALMAC_FIFO_SEL                               0x00000030
+#define                TLP_TYPE_PHALMAC_P2PPS                                  0x00000031
+#define                TLP_TYPE_PHALMAC_RX_EXPAND_MODE                 0x00000032
+#define                TLP_TYPE_PHALMAC_PCIE_CFG                               0x00000033
+#define                TLP_TYPE_PHALMAC_SDIO_CMD53_4BYTE_MODE  0x00000034
+#define                TLP_TYPE_PHALMAC_NETWORK_TYPE_SELECT    0x00000035
+#define                TLP_TYPE_PHALMAC_BCN_CTRL                               0x00000036
+#define                TLP_TYPE_PHALMAC_SDIO_HW_INFO                   0x00000037
+
+typedef struct _HALMAC_TLP_STRUCT {
+       u32 type;
+       u32 length;
+       VOID *ptr;
+} HALMAC_TLP_STRUCT, *PHALMAC_TLP_STRUCT;
+
+typedef struct _HALMAC_API_ARG {
+       HALMAC_API_ID api_id;
+       u32 arg_count;
+       u32     arg_type_seq[MAX_ARG_NUM];
+} HALMAC_API_ARG, *PHALMAC_API_ARG;
+
+typedef struct _HALMAC_OBJ {
+       u8 init;
+       u32 version;
+       PHALMAC_ADAPTER halmac_adapter;
+       PHALMAC_API     halmac_api_entry;
+} HALMAC_OBJ, *PHALMAC_OBJ;
+
+HALMAC_RET_STATUS
+halmac_initialize_obj(
+       IN struct _HALMAC_OBJ *halmac_obj,
+       INOUT PHALMAC_TLP_STRUCT ptlp,
+       IN      u32 tlpCount
+);
+
+HALMAC_RET_STATUS
+halmac_deinitialize_obj(
+       IN struct _HALMAC_OBJ *halmac_obj,
+       INOUT PHALMAC_TLP_STRUCT ptlp,
+       IN u32 tlpCount
+);
+
+HALMAC_RET_STATUS
+halmac_set_information(
+       IN struct _HALMAC_OBJ *halmac_obj,
+       IN HALMAC_API_ID        api_id,
+       INOUT PHALMAC_TLP_STRUCT ptlp,
+       IN u32 tlpCount
+);
+
+HALMAC_RET_STATUS
+halmac_get_information(
+       IN struct _HALMAC_OBJ *halmac_obj,
+       IN      HALMAC_API_ID   api_id,
+       INOUT PHALMAC_TLP_STRUCT ptlp,
+       IN      u32 tlpCount
+);
+
+#endif