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.