blob: 7e7d940d5fa1d47a9b606773ef5bcdf1a87702ce [file] [log] [blame]
/******************************************************************************
*
* Copyright(c) 2016 - 2017 Realtek Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of version 2 of the GNU General Public License 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 the GNU General Public License for
* more details.
*
******************************************************************************/
#ifndef _HALMAC_EFUSE_88XX_H_
#define _HALMAC_EFUSE_88XX_H_
#include "../halmac_api.h"
#if HALMAC_88XX_SUPPORT
HALMAC_RET_STATUS
halmac_dump_efuse_map_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
IN HALMAC_EFUSE_READ_CFG cfg
);
HALMAC_RET_STATUS
halmac_dump_efuse_map_bt_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
IN HALMAC_EFUSE_BANK halmac_efuse_bank,
IN u32 bt_efuse_map_size,
OUT u8 *pBT_efuse_map
);
HALMAC_RET_STATUS
halmac_write_efuse_bt_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
IN u32 halmac_offset,
IN u8 halmac_value,
IN HALMAC_EFUSE_BANK halmac_efuse_bank
);
HALMAC_RET_STATUS
halmac_read_efuse_bt_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
IN u32 halmac_offset,
OUT u8 *pValue,
IN HALMAC_EFUSE_BANK halmac_efuse_bank
);
HALMAC_RET_STATUS
halmac_cfg_efuse_auto_check_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
IN u8 enable
);
HALMAC_RET_STATUS
halmac_get_efuse_available_size_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
OUT u32 *halmac_size
);
HALMAC_RET_STATUS
halmac_get_efuse_size_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
OUT u32 *halmac_size
);
HALMAC_RET_STATUS
halmac_get_logical_efuse_size_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
OUT u32 *halmac_size
);
HALMAC_RET_STATUS
halmac_dump_logical_efuse_map_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
IN HALMAC_EFUSE_READ_CFG cfg
);
HALMAC_RET_STATUS
halmac_read_logical_efuse_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
IN u32 halmac_offset,
OUT u8 *pValue
);
HALMAC_RET_STATUS
halmac_write_logical_efuse_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
IN u32 halmac_offset,
IN u8 halmac_value
);
HALMAC_RET_STATUS
halmac_pg_efuse_by_map_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
IN PHALMAC_PG_EFUSE_INFO pPg_efuse_info,
IN HALMAC_EFUSE_READ_CFG cfg
);
HALMAC_RET_STATUS
halmac_mask_logical_efuse_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
INOUT PHALMAC_PG_EFUSE_INFO pEfuse_info
);
HALMAC_RET_STATUS
halmac_func_read_efuse_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
IN u32 offset,
IN u32 size,
OUT u8 *pEfuse_map
);
HALMAC_RET_STATUS
halmac_func_write_efuse_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
IN u32 offset,
IN u8 value
);
HALMAC_RET_STATUS
halmac_func_switch_efuse_bank_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
IN HALMAC_EFUSE_BANK efuse_bank
);
HALMAC_RET_STATUS
halmac_transition_efuse_state_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
IN HALMAC_EFUSE_CMD_CONSTRUCT_STATE dest_state
);
VOID
halmac_mask_eeprom_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
INOUT PHALMAC_PG_EFUSE_INFO pEfuse_info
);
HALMAC_RET_STATUS
halmac_parse_efuse_data_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
IN u8 *pC2h_buf,
IN u32 c2h_size
);
HALMAC_RET_STATUS
halmac_query_dump_physical_efuse_status_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
OUT HALMAC_CMD_PROCESS_STATUS *pProcess_status,
INOUT u8 *data,
INOUT u32 *size
);
HALMAC_RET_STATUS
halmac_query_dump_logical_efuse_status_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
OUT HALMAC_CMD_PROCESS_STATUS *pProcess_status,
INOUT u8 *data,
INOUT u32 *size
);
HALMAC_RET_STATUS
halmac_parse_h2c_ack_phy_efuse_88xx(
IN PHALMAC_ADAPTER pHalmac_adapter,
IN u8 *pC2h_buf,
IN u32 c2h_size
);
#endif /* HALMAC_88XX_SUPPORT */
#endif/* _HALMAC_EFUSE_88XX_H_ */