88 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| #ifndef _NVT_FW_H_
 | |
| #define _NVT_FW_H_
 | |
| #include "nvt_wlan_linux.h"
 | |
| 
 | |
| #define NVT_FW_NAME_STA "nvt/dsw_18211_sta.img"
 | |
| #define NVT_FW_NAME_AP  "nvt/dsw_18211_ap.img"
 | |
| #define NVT_FW_NAME_HUT  "nvt/dsw_18211_hut.img"
 | |
| #define NVT_FW_CONFIG_PATCH_FILE_NAME "nvt/cpf_linux.cpf"
 | |
| 
 | |
| #define NVT_FW_CFG_DOWNLOAD_BY_CHIPID    0
 | |
| 
 | |
| #define ELF_SEEK_SET    1
 | |
| #define NVT_FW_IMAGE_HEADER_LEN 32
 | |
| #define NVT_FW_FM_GO_ADDR 0xE413F800
 | |
| 
 | |
| #define NVT_CONFIG_PATCH_FILE_HEADER_LEN 64
 | |
| #define NVT_CONFIG_IMG_SECTOR_REG_COUNT 2
 | |
| #define NVT_CONFIG_IMG_SECTOR_MASK 1
 | |
| #define NVT_CONFIG_IMG_SECTOR_VAL 1
 | |
| #define NVT_CONFIG_IMG_SECTOR_READ_MAX_LEN 1024
 | |
| 
 | |
| enum nvt_fw_mode {
 | |
|         NVT_FW_STA = 0,
 | |
|         NVT_FW_AP,
 | |
|         NVT_FW_HUT,
 | |
|         NVT_FW_NUM
 | |
| };
 | |
| 
 | |
| enum nvt_fw_type {
 | |
|         NVT_FW_TYPE_BOOTLOADER = 0,
 | |
|         NVT_FW_TYPE_STA,
 | |
|         NVT_FW_TYPE_AP,
 | |
|         NVT_FW_TYPE_MAX
 | |
| };
 | |
| 
 | |
| /* AT define MAC FW Capability */
 | |
| #define FW_MAC_CAP_1_INTERNAL_SUPP_CAP (1 << 3)
 | |
| #define FW_MAC_CAP_2_PMF_CAP (1 << 2)
 | |
| #define FW_MAC_CAP_2_WAPI_CAP (1 << 3)
 | |
| 
 | |
| /* define EXTRA FW Capability_1 */
 | |
| #define FW_CAPABILITY_SEND_MAC_STATUS (1 << 3)
 | |
| #define FW_CAPABILITY_AP_STA_CONCURRENT (1 << 4)
 | |
| #define FW_CAPABILITY_STREAMING_MODE (1 << 5)
 | |
| #define FW_CAPABILITY_WOW (1 << 6)
 | |
| 
 | |
| //20150709 nash:
 | |
| #define NVT_FW_DEFAULT_FW_MODE  NVT_FW_STA
 | |
| 
 | |
| struct _nvt_bus;
 | |
| struct _nvt_if;
 | |
| 
 | |
| struct _nvt_config_patch_file_header {
 | |
|         u16 project_code;
 | |
|         u16 reserved1;
 | |
|         u32 total_length;
 | |
|         u64 reserved2;
 | |
|         u8 version[16];
 | |
|         u8 build_date[16];
 | |
|         u8 reserved_section3[15];
 | |
|         u8 crc;
 | |
| };
 | |
| 
 | |
| struct _nvt_config_img_sector_header {
 | |
|         u16 sector_type;
 | |
|         u16 offset;
 | |
|         u32 total_length;
 | |
|         u32 write_addr;
 | |
| };
 | |
| 
 | |
| #if (NVT_FW_CFG_DOWNLOAD_BY_CHIPID == 1)
 | |
| struct _nvt_fw_name {
 | |
|         s32 chip_id;
 | |
|         enum nvt_fw_mode mode;
 | |
|         s8 *filename;
 | |
| };
 | |
| #endif
 | |
| 
 | |
| 
 | |
| extern s32 nvt_fw_download(struct _nvt_bus *, enum nvt_fw_mode);
 | |
| extern s32 nvt_fw_change_opmode(struct _nvt_if *, enum nvt_fw_mode);
 | |
| extern s32 nvt_fw_cold_boot(struct _nvt_if *);
 | |
| extern s32 nvt_fw_get_ver(struct _nvt_bus *nvt_bus, u8 *ver, u32 *ver_len);
 | |
| extern s32 nvt_fw_deep_sleep_resume(struct _nvt_bus *bus);
 | |
| extern s32 nvt_fw_request_cpf(struct _nvt_bus *bus);
 | |
| extern void nvt_set_firmware_capability(struct _nvt_adapter *nvt_adapter);
 | |
| #endif
 | 
