18 #ifndef INCLUDED_WHD_CHIP_H 19 #define INCLUDED_WHD_CHIP_H 21 #include "cyabs_rtos.h" 23 #include "whd_endian.h" 35 #define WHD_WLAN_WAKE_TIMEOUT (10000) 36 #define WHD_SHARED_MEMORY_POLLING_DELAY (10) 37 #define SICF_CPUHALT (0x0020) 48 WHD_COUNTRY_AGGREGATE_XA_0 =
MK_CNTRY(
'X',
'A', 0),
49 WHD_COUNTRY_AGGREGATE_XT_0 =
MK_CNTRY(
'X',
'T', 0),
50 WHD_COUNTRY_AGGREGATE_XV_0 =
MK_CNTRY(
'X',
'V', 0),
51 WHD_COUNTRY_AGGREGATE_CUSTOMER =
MK_CNTRY(
'X',
'Z', 278),
52 } whd_aggregate_code_t;
57 WLAN_ARM_CORE = 0, SOCRAM_CORE = 1, SDIOD_CORE = 2
62 WLAN_DOWN, WLAN_UP, WLAN_OFF
67 WLAN_CORE_FLAG_NONE, WLAN_CORE_FLAG_CPU_HALT,
80 WHD_AKM_8021X_SHA256 = 5,
81 WHD_AKM_PSK_SHA256 = 6,
83 WHD_AKM_SAE_SHA256 = 8,
84 WHD_AKM_FT_SAE_SHA256 = 9,
85 WHD_AKM_AP_PEER_KEY_SHA256 = 10,
86 WHD_AKM_SUITEB_8021X_HMAC_SHA256 = 11,
87 WHD_AKM_SUITEB_8021X_HMAC_SHA384 = 12,
88 WHD_AKM_SUITEB_FT_8021X_HMAC_SHA384 = 13,
97 WHD_CIPHER_WEP_40 = 1,
99 WHD_CIPHER_RESERVED = 3,
100 WHD_CIPHER_CCMP_128 = 4,
101 WHD_CIPHER_WEP_104 = 5,
102 WHD_CIPHER_BIP_CMAC_128 = 6,
103 WHD_CIPHER_GROUP_DISALLOWED = 7,
104 WHD_CIPHER_GCMP_128 = 8,
105 WHD_CIPHER_GCMP_256 = 9,
106 WHD_CIPHER_CCMP_256 = 10,
107 WHD_CIPHER_BIP_GMAC_128 = 11,
108 WHD_CIPHER_BIP_GMAC_256 = 12,
109 WHD_CIPHER_BIP_CMAC_256 = 13,
110 } whd_80211_cipher_t;
127 whd_aggregate_code_t aggregate_code;
128 uint32_t keep_wlan_awake;
136 #define COUNTRY_INFO_IE_MINIMUM_LENGTH (6) 140 uint8_t first_chan_num;
142 uint8_t max_tx_pwr_level;
172 uint32_t group_key_suite;
173 uint16_t pairwise_suite_count;
174 uint32_t pairwise_suite_list[1];
177 #define RSN_IE_MINIMUM_LENGTH (8) 185 #define VENDOR_SPECIFIC_IE_MINIMUM_LENGTH (4) 192 uint32_t multicast_suite;
193 uint16_t unicast_suite_count;
194 uint8_t unicast_suite_list[1][4];
197 #define WPA_IE_MINIMUM_LENGTH (12) 201 uint16_t akm_suite_count;
202 uint32_t akm_suite_list[1];
208 uint16_t ht_capabilities_info;
209 uint8_t ampdu_parameters;
211 uint16_t rxhighest_supported_data_rate;
212 uint8_t tx_supported_mcs_set;
213 uint8_t tx_mcs_info[3];
214 uint16_t ht_extended_capabilities;
215 uint32_t transmit_beam_forming_capabilities;
216 uint8_t antenna_selection_capabilities;
219 #define HT_CAPABILITIES_INFO_LDPC_CODING_CAPABILITY (1 << 0) 220 #define HT_CAPABILITIES_INFO_SUPPORTED_CHANNEL_WIDTH_SET (1 << 1) 221 #define HT_CAPABILITIES_INFO_SM_POWER_SAVE_OFFSET (1 << 2) 222 #define HT_CAPABILITIES_INFO_SM_POWER_SAVE_MASK (3 << 2) 223 #define HT_CAPABILITIES_INFO_HT_GREENFIELD (1 << 4) 224 #define HT_CAPABILITIES_INFO_SHORT_GI_FOR_20MHZ (1 << 5) 225 #define HT_CAPABILITIES_INFO_SHORT_GI_FOR_40MHZ (1 << 6) 226 #define HT_CAPABILITIES_INFO_TX_STBC (1 << 7) 227 #define HT_CAPABILITIES_INFO_RX_STBC_OFFSET (1 << 8) 228 #define HT_CAPABILITIES_INFO_RX_STBC_MASK (3 << 8) 229 #define HT_CAPABILITIES_INFO_HT_DELAYED_BLOCK_ACK (1 << 10) 230 #define HT_CAPABILITIES_INFO_MAXIMUM_A_MSDU_LENGTH (1 << 11) 231 #define HT_CAPABILITIES_INFO_DSSS_CCK_MODE_IN_40MHZ (1 << 12) 233 #define HT_CAPABILITIES_INFO_40MHZ_INTOLERANT (1 << 14) 234 #define HT_CAPABILITIES_INFO_L_SIG_TXOP_PROTECTION_SUPPORT (1 << 15) 236 typedef unsigned int uint;
255 volatile uint vcons_in;
256 volatile uint vcons_out;
287 uint assert_exp_addr;
288 uint assert_file_addr;
296 #define WLAN_LOG_BUF_LEN (4 * 1024) 298 #define WHD_IOCTL_LOG_SIZE 64 299 #define WHD_IOVAR_STRING_SIZE 128 300 #define WHD_MAX_DATA_SIZE 64 302 #define WHD_IOCTL_LOG_ADD(x, y, z) whd_ioctl_log_add(x, y, z) 303 #define WHD_IOCTL_LOG_ADD_EVENT(w, x, y, z) whd_ioctl_log_add_event(w, x, y, z) 304 #define WHD_IOCTL_PRINT(x) whd_ioctl_print(x) 309 uint8_t is_this_event;
310 uint8_t data[WHD_MAX_DATA_SIZE];
317 void whd_ioctl_log_add_event(
whd_driver_t whd_driver, uint32_t cmd, uint16_t flag, uint32_t data);
329 uint32_t console_addr;
334 cy_semaphore_t *active_join_semaphore;
336 cy_semaphore_t active_join_mutex;
339 uint32_t whd_join_status[3];
360 extern void whd_wifi_chip_info_init(
whd_driver_t whd_driver);
362 uint32_t wake_event_indication_addr, uint32_t wake_indication_addr,
363 uint32_t sdio_control_addr);
367 extern whd_result_t whd_disable_device_core(
whd_driver_t whd_driver, device_core_t core_id, wlan_core_flag_t core_flag);
368 extern whd_result_t whd_reset_device_core(
whd_driver_t whd_driver, device_core_t core_id, wlan_core_flag_t core_flag);
369 extern whd_result_t whd_reset_core(
whd_driver_t whd_driver, device_core_t core_id, uint32_t bits, uint32_t resetbits);
370 extern whd_result_t whd_wlan_armcore_run(
whd_driver_t whd_driver, device_core_t core_id, wlan_core_flag_t core_flag);
381 extern whd_result_t whd_wifi_read_wlan_log_unsafe(
whd_driver_t whd_driver, uint32_t wlan_shared_address,
char *buffer,
382 uint32_t buffer_size);
384 extern void whd_wifi_peek(
whd_driver_t whd_driver, uint32_t address, uint8_t register_length, uint8_t *value);
385 extern void whd_wifi_poke(
whd_driver_t whd_driver, uint32_t address, uint8_t register_length, uint32_t value);
whd_country_code_t
Enumerated list of country codes.
Provides abstract pointer type to act as instance for: driver, interface, buffer funcs, network funcs, resource funcs and bus funcs.
Structure for storing scan results.
void(* whd_scan_result_callback_t)(whd_scan_result_t **result_ptr, void *user_data, whd_scan_status_t status)
Scan result callback function pointer type.
whd_bool_t
Boolean values.
uint32_t whd_wifi_print_whd_log(whd_driver_t whd_drv)
To print whd log information.
uint32_t whd_result_t
WHD result is specified as uint32_t value.
uint32_t whd_wifi_read_wlan_log(whd_driver_t whd_drv, char *buffer, uint32_t buffer_size)
To print whd log information.
#define MK_CNTRY(a, b, rev)
Macro for creating country codes according to endianness.
Prototypes of functions for controlling the Wi-Fi system.