| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- /*
- * Copyright (C) 2016 MediaTek Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See http://www.gnu.org/licenses/gpl-2.0.html for more details.
- */
- #ifndef _FWCFG_H
- #define _FWCFG_H
- #include "precomp.h"
- /*******************************************************************************
- * C O M P I L E R F L A G S
- ********************************************************************************
- */
- /*******************************************************************************
- * E X T E R N A L R E F E R E N C E S
- ********************************************************************************
- */
- /*******************************************************************************
- * C O N S T A N T S
- ********************************************************************************
- */
- #ifdef FW_CFG_SUPPORT
- #define MAX_CMD_ITEM_MAX 4
- #define MAX_CMD_NAME_MAX_LENGTH 32
- #define MAX_CMD_VALUE_MAX_LENGTH 32
- #define MAX_CMD_TYPE_LENGTH 1
- #define MAX_CMD_RESERVE_LENGTH 1
- #define MAX_CMD_STRING_LENGTH 1
- #define MAX_CMD_VALUE_LENGTH 1
- #define CMD_FORMAT_V1_LENGTH (MAX_CMD_NAME_MAX_LENGTH + \
- MAX_CMD_VALUE_MAX_LENGTH + MAX_CMD_TYPE_LENGTH + \
- MAX_CMD_STRING_LENGTH + MAX_CMD_VALUE_LENGTH + MAX_CMD_RESERVE_LENGTH)
- #define MAX_CMD_BUFFER_LENGTH (CMD_FORMAT_V1_LENGTH * MAX_CMD_ITEM_MAX)
- #define FW_CFG_FILE "/etc/firmware/wifi_fw.cfg"
- /*******************************************************************************
- * D A T A T Y P E S
- ********************************************************************************
- */
- enum _CMD_VER_T {
- CMD_VER_1,
- CMD_VER_1_EXT
- };
- enum _CMD_TYPE_T {
- CMD_TYPE_QUERY,
- CMD_TYPE_SET
- };
- struct _CMD_FORMAT_V1_T {
- UINT_8 itemType;
- UINT_8 itemStringLength;
- UINT_8 itemValueLength;
- UINT_8 Reserved;
- UINT_8 itemString[MAX_CMD_NAME_MAX_LENGTH];
- UINT_8 itemValue[MAX_CMD_VALUE_MAX_LENGTH];
- };
- struct _CMD_HEADER_T {
- enum _CMD_VER_T cmdVersion;
- enum _CMD_TYPE_T cmdType;
- UINT_8 itemNum;
- UINT_16 cmdBufferLen;
- UINT_8 buffer[MAX_CMD_BUFFER_LENGTH];
- };
- struct WLAN_CFG_PARSE_STATE_S {
- CHAR *ptr;
- CHAR *text;
- INT_32 nexttoken;
- UINT_32 maxSize;
- };
- struct _FW_CFG {
- PUINT_8 key;
- PUINT_8 value;
- };
- /*******************************************************************************
- * P U B L I C D A T A
- ********************************************************************************
- */
- /*******************************************************************************
- * P R I V A T E D A T A
- ********************************************************************************
- */
- /*******************************************************************************
- * M A C R O S
- ********************************************************************************
- */
- /*******************************************************************************
- * F U N C T I O N D E C L A R A T I O N S
- ********************************************************************************
- */
- INT_32 getFwCfgItemNum(void);
- PUINT_8 getFwCfgItemKey(UINT_8 i);
- PUINT_8 getFwCfgItemValue(UINT_8 i);
- void wlanCfgFwSetParam(PUINT_8 fwBuffer, PCHAR cmdStr, PCHAR value, int num, int type);
- WLAN_STATUS wlanCfgSetGetFw(IN P_ADAPTER_T prAdapter, const PCHAR fwBuffer, int cmdNum, enum _CMD_TYPE_T cmdType);
- WLAN_STATUS wlanFwCfgParse(IN P_ADAPTER_T prAdapter, PUINT_8 pucConfigBuf);
- WLAN_STATUS wlanFwArrayCfg(IN P_ADAPTER_T prAdpter);
- WLAN_STATUS wlanFwFileCfg(IN P_ADAPTER_T prAdpter);
- #endif
- #endif
|