X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=rtl8821ce%2Fhal%2Fhalmac%2Fhalmac_module.h;fp=rtl8821ce%2Fhal%2Fhalmac%2Fhalmac_module.h;h=37e6d7d0771e13c81a49ba372e7145b997f2283f;hb=5dfc3c1fcc5931540271b05ad3fbe1b8ea9e941f;hp=0000000000000000000000000000000000000000;hpb=2fa6455211d41eb586da726ff16885de9fa86539;p=android-x86%2Fexternal-kernel-drivers.git diff --git a/rtl8821ce/hal/halmac/halmac_module.h b/rtl8821ce/hal/halmac/halmac_module.h new file mode 100644 index 0000000..37e6d7d --- /dev/null +++ b/rtl8821ce/hal/halmac/halmac_module.h @@ -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