diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/generated_mac_address.txt b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/generated_mac_address.txt index 29d6a2021e..317a34cd93 100644 --- a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/generated_mac_address.txt +++ b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/generated_mac_address.txt @@ -6,4 +6,4 @@ * MAC address is printed during WHD power up */ -#define NVRAM_GENERATED_MAC_ADDRESS "macaddr=00:A0:50:8c:3c:1b" +#define NVRAM_GENERATED_MAC_ADDRESS "macaddr=00:A0:50:d4:32:81" diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/inc/whd_version.h b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/inc/whd_version.h index ba8c223048..445c987cc0 100644 --- a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/inc/whd_version.h +++ b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/inc/whd_version.h @@ -1,3 +1,3 @@ -#define WHD_VERSION "v1.30.0-rc1-4-g9bd856ef-dirty" -#define WHD_BRANCH "master" -#define WHD_DATE "2019-08-23 15:56:34 +0800" +#define WHD_VERSION "v1.30.0-rc3-dirty" +#define WHD_BRANCH "v1.30.0-rc3" +#define WHD_DATE "2019-08-27 16:29:32 +0800" diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/resources/nvram/TARGET_CY8CMOD_062S2_43012/wifi_nvram_image.h b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/resources/nvram/TARGET_CY8CMOD_062S2_43012/wifi_nvram_image.h index 285a42c71e..7e38bdab2d 100644 --- a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/resources/nvram/TARGET_CY8CMOD_062S2_43012/wifi_nvram_image.h +++ b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/resources/nvram/TARGET_CY8CMOD_062S2_43012/wifi_nvram_image.h @@ -35,7 +35,7 @@ extern "C" { * cyw943012csp_ty1LV.TXT */ static const char wifi_nvram_image[] = - "NVRAMRev=$Rev: 721914 $" "\x00" + "NVRAMRev=$Rev:722123$" "\x00" "sromrev=11" "\x00" "cckdigfilttype=4" "\x00" "cckpwroffset0=2" "\x00" @@ -58,7 +58,7 @@ static const char wifi_nvram_image[] = "extpagain5g=2" "\x00" "ccode=0" "\x00" "regrev=0" "\x00" - "antswitch = 0" "\x00" + "antswitch=0" "\x00" "rxgains2gelnagaina0=0" "\x00" "rxgains2gtrisoa0=15" "\x00" "rxgains2gtrelnabypa0=0" "\x00" @@ -88,7 +88,7 @@ static const char wifi_nvram_image[] = "swctrlmap_2g=0x10101010,0x20202020,0x10101010,0x442020,0x3ff" "\x00" "swctrlmapext_2g=0x01000100,0x01000100,0x01000100,0x000000,0x301" "\x00" "swctrlmap_5g=0x80808080,0x00000000,0x80808080,0x442020,0x381" "\x00" - "swctrlmapext_5g=0x01000100,0x01000100,0x00000000,0x000100,0x303" "\x00" + "swctrlmapext_5g=0x01000100,0x01000100,0x00000000,0x000000,0x303" "\x00" "ulpnap=0" "\x00" "ulpadc=1" "\x00" "ssagc_en=0" "\x00" @@ -106,11 +106,12 @@ static const char wifi_nvram_image[] = "mcsbw202gpo=0xCC864420" "\x00" "maxp5ga0=70,70,70,70" "\x00" "mcsbw205glpo=0xCC864220" "\x00" - "mmcsbw205gmpo=0xCC864220" "\x00" + "mcsbw205gmpo=0xCC864220" "\x00" "mcsbw205ghpo=0xCC864220" "\x00" "femctrlwar=0" "\x00" "use5gpllfor2g=1" "\x00" "pt5db_gaintbl=0" "\x00" + "muxenab=0x01" "\x00" "txwbpapden=1" "\x00" "wb_rxattn=0x0303" "\x00" "wb_txattn=0x0203" "\x00" @@ -137,17 +138,18 @@ static const char wifi_nvram_image[] = "lpo_select=4" "\x00" "paprrmcsgamma2g=450,500,550,600,675,950,950,950,950,950,950,950" "\x00" "paprrmcsgamma5g20=450,500,550,600,800,950,1100,1100,1100,1100,1100,1100" "\x00" - "swdiv_en=0" "\x00" - "swdiv_gpio=0" "\x00" - "swdiv_swctrl_en=2" "\x00" - "swdiv_swctrl_ant0=0" "\x00" - "swdiv_swctrl_ant1=1" "\x00" - "swdiv_antmap2g_main=1" "\x00" - "swdiv_antmap5g_main=1" "\x00" - "swdiv_snrlim=10000" "\x00" - "swdiv_thresh=3000" "\x00" - "swdiv_snrthresh=24" "\x00" + "swdiv_en=0" "\x00" + "swdiv_gpio=0" "\x00" + "swdiv_swctrl_en=2" "\x00" + "swdiv_swctrl_ant0=0" "\x00" + "swdiv_swctrl_ant1=1" "\x00" + "swdiv_antmap2g_main=1" "\x00" + "swdiv_antmap5g_main=1" "\x00" + "swdiv_snrlim=10000" "\x00" + "swdiv_thresh=3000" "\x00" + "swdiv_snrthresh=24" "\x00" "\x00\x00"; + #ifdef __cplusplus } /*extern "C" */ #endif diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/resources/nvram/TARGET_CYW943012P6EVB_01/wifi_nvram_image.h b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/resources/nvram/TARGET_CYW943012P6EVB_01/wifi_nvram_image.h index b1e9e30d14..1353c76b95 100644 --- a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/resources/nvram/TARGET_CYW943012P6EVB_01/wifi_nvram_image.h +++ b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/resources/nvram/TARGET_CYW943012P6EVB_01/wifi_nvram_image.h @@ -38,32 +38,30 @@ extern "C" { * cyw943012csp_ty1LV.TXT */ static const char wifi_nvram_image[] = - "NVRAMRev=$Rev: 351687 $" "\x00" + "NVRAMRev=$Rev:722124$" "\x00" "sromrev=11" "\x00" "cckdigfilttype=4" "\x00" - "cckpwroffset0=3" "\x00" + "cckpwroffset0=2" "\x00" "bphyscale=0x20" "\x00" "boardflags3=0x40000100" "\x00" "vendid=0x14e4" "\x00" "devid=0xA804" "\x00" "manfid=0x2d0" "\x00" "prodid=0x052e" "\x00" - "#macaddr=00:90:4c:2a:80:00" "\x00" - "macaddr=00:90:4c:2a:9${maclo12}" "\x00" - "#macaddr=00:90:4c:2a:80:80" "\x00" + NVRAM_GENERATED_MAC_ADDRESS "\x00" "mac_clkgating=1" "\x00" "nocrc=1" "\x00" - "boardtype=0x0842" "\x00" - "boardrev=0x1100" "\x00" + "boardtype=0x0871" "\x00" + "boardrev=0x1202" "\x00" "xtalfreq=37400" "\x00" "boardflags2=0xc0000000" "\x00" - "boardflags=0x00000000" "\x00" + "boardflags=0x00000001" "\x00" "etmode=0x11" "\x00" "extpagain2g=2" "\x00" "extpagain5g=2" "\x00" "ccode=0" "\x00" "regrev=0" "\x00" - "antswitch = 0" "\x00" + "antswitch=0" "\x00" "rxgains2gelnagaina0=0" "\x00" "rxgains2gtrisoa0=15" "\x00" "rxgains2gtrelnabypa0=0" "\x00" @@ -82,19 +80,18 @@ static const char wifi_nvram_image[] = "tssipos2g=0" "\x00" "femctrl=17" "\x00" "subband5gver=4" "\x00" - "pa2ga0=-108,5627,-638" "\x00" - "# pa5ga0=-23,5933,-815,-29,5959,-814,-60,6093,-813,-50,6414,-836" "\x00" - "pa5ga0=-41,6533,-726,-29,6654,-746,9,6914,-772,12,7008,-806" "\x00" + "pa2ga0=-108,6062,-661" "\x00" + "pa5ga0=-82,6252,-698,-14,6722,-697,-92,6084,-710,-88,6465,-755" "\x00" "pdoffset40ma0=0" "\x00" "pdoffset80ma0=0" "\x00" "lowpowerrange2g=0" "\x00" "lowpowerrange5g=0" "\x00" "ed_thresh2g=-63" "\x00" "ed_thresh5g=-63" "\x00" - "swctrlmap_2g=0x10101010,0x20202020,0x10101010,0x414040,0x3ff" "\x00" - "swctrlmapext_2g=0x00000100,0x01000100,0x01000100,0x010000,0x301" "\x00" - "swctrlmap_5g=0x80808080,0x00000000,0x80808080,0x404040,0x3ff" "\x00" - "swctrlmapext_5g=0x01000100,0x01000100,0x00000000,0x000100,0x303" "\x00" + "swctrlmap_2g=0x10101010,0x20202020,0x10101010,0x442020,0x3ff" "\x00" + "swctrlmapext_2g=0x01000100,0x01000100,0x01000100,0x000000,0x301" "\x00" + "swctrlmap_5g=0x80808080,0x00000000,0x80808080,0x442020,0x381" "\x00" + "swctrlmapext_5g=0x01000100,0x01000100,0x00000000,0x000000,0x303" "\x00" "ulpnap=0" "\x00" "ulpadc=1" "\x00" "ssagc_en=0" "\x00" @@ -106,19 +103,17 @@ static const char wifi_nvram_image[] = "epacal5g=0" "\x00" "papdcck=0" "\x00" "epacal2g_mask=0x3fff" "\x00" - "maxp2ga0=82" "\x00" - "ofdmlrbw202gpo=0x0077" "\x00" - "dot11agofdmhrbw202gpo=0x8888" "\x00" - "mcsbw202gpo=0x99999999" "\x00" - "#mcsbw402gpo=0x99555533" "\x00" - "maxp5ga0=82,82,82,82" "\x00" - "mcsbw205glpo=0x99999999" "\x00" - "mcsbw205gmpo=0x99999999" "\x00" - "mcsbw205ghpo=0x99999999" "\x00" + "maxp2ga0=74" "\x00" + "ofdmlrbw202gpo=0x0020" "\x00" + "dot11agofdmhrbw202gpo=0x6442" "\x00" + "mcsbw202gpo=0xCC864420" "\x00" + "maxp5ga0=70,70,70,70" "\x00" + "mcsbw205glpo=0xCC864220" "\x00" + "mcsbw205gmpo=0xCC864220" "\x00" + "mcsbw205ghpo=0xCC864220" "\x00" "femctrlwar=0" "\x00" "use5gpllfor2g=1" "\x00" "pt5db_gaintbl=0" "\x00" - "txwbpapden=1" "\x00" "wb_rxattn=0x0303" "\x00" "wb_txattn=0x0203" "\x00" @@ -141,19 +136,15 @@ static const char wifi_nvram_image[] = "nb_eps_offset=0x01d701d7" "\x00" "nb_bbmult=0x5A5A" "\x00" "nb_tia_gain_mode=0x0000" "\x00" - "# AvVmid_c0=6,100,3,141,3,141,3,141,3,141" "\x00" "AvVmid_c0=6,100,7,70,7,70,7,70,7,70" "\x00" "tssisleep_en=0x5" "\x00" "lpflags=0x28" "\x00" "lpo_select=4" "\x00" - + "muxenab=0x01" "\x00" "paprrmcsgamma2g=450,500,550,600,675,950,950,950,950,950,950,950" "\x00" - "paprrmcsgamma5g20=450,500,550,600,800,950,1100,1100,1100,1100,1100,1100" "\x00" - "#paprdis=1" "\x00" - - "#SW-Diversity Related parameters" "\x00" - "swdiv_en=1 #To enable SW-DIV feature" "\x00" + "paprrmcsgamma5g20=450,500,550,600,800,950,1100,1100,1100,1100,1100,1100" "\x00" + "swdiv_en=0 #To enable SW-DIV feature" "\x00" "swdiv_gpio=0" "\x00" "swdiv_swctrl_en=2" "\x00" "swdiv_swctrl_ant0=0" "\x00" diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/resources/resource_imp/whd_resources.c b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/resources/resource_imp/whd_resources.c index b8c9298d74..e797f3acb5 100644 --- a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/resources/resource_imp/whd_resources.c +++ b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/resources/resource_imp/whd_resources.c @@ -18,11 +18,11 @@ /** @file * Defines WHD resource functions for BCM943340WCD1 platform */ -#include "resources.h" #include "wifi_nvram_image.h" #include "whd_resource_api.h" #include "whd_debug.h" #include "whd.h" +#include "resources.h" /****************************************************** * Macros diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/resources/resource_imp/wiced_resource.h b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/resources/resource_imp/wiced_resource.h index 97a04ecd7c..d5b10d0475 100644 --- a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/resources/resource_imp/wiced_resource.h +++ b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/resources/resource_imp/wiced_resource.h @@ -56,6 +56,21 @@ extern "C" { #define RESULT_ENUM(prefix, name, value) prefix ## name = (value) #endif /* ifndef RESULT_ENUM */ +#if !defined(CY_SECTION) +#if defined(__ARMCC_VERSION) +#define CY_SECTION(name) __attribute__ ( (section(name) ) ) +#elif defined (__GNUC__) +#if defined (__clang__) +#define CY_SECTION(name) __attribute__ ( (section("__DATA, "name) ) ) +#else +#define CY_SECTION(name) __attribute__ ( (section(name) ) ) +#endif +#elif defined (__ICCARM__) +#define CY_SECTION(name) CY_PRAGMA(location = name) +#else +#error "An unsupported toolchain" +#endif /* (__ARMCC_VERSION) */ +#endif /* !defined(CY_SECTION) */ /* These Enum result values are for Resource errors * Values: 4000 - 4999 diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/src/whd_cdc_bdc.c b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/src/whd_cdc_bdc.c index 1827528807..3fa6da2a28 100644 --- a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/src/whd_cdc_bdc.c +++ b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/src/whd_cdc_bdc.c @@ -98,8 +98,14 @@ void whd_cdc_bdc_info_deinit(whd_driver_t whd_driver) { whd_cdc_bdc_info_t *cdc_bdc_info = &whd_driver->cdc_bdc_info; - cy_rtos_deinit_semaphore(&cdc_bdc_info->ioctl_sleep); - cy_rtos_deinit_semaphore(&cdc_bdc_info->ioctl_mutex); + /* Delete the sleep mutex */ + (void)cy_rtos_deinit_semaphore(&cdc_bdc_info->ioctl_sleep); + + /* Delete the queue mutex. */ + (void)cy_rtos_deinit_semaphore(&cdc_bdc_info->ioctl_mutex); + + /* Delete the event list management mutex */ + (void)cy_rtos_deinit_semaphore(&cdc_bdc_info->event_list_mutex); } whd_result_t whd_cdc_bdc_info_init(whd_driver_t whd_driver) diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/src/whd_events.c b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/src/whd_events.c index d8c9b77d58..a564393407 100644 --- a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/src/whd_events.c +++ b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/src/whd_events.c @@ -81,19 +81,18 @@ static uint8_t whd_find_number_of_events(const whd_event_num_t *event_nums) * This function registers a callback handler to be notified when * a particular event is received. * - * Alternately the function clears callbacks for given event type. + * @note : Currently there is a limit to the number of simultaneously + * registered events * - * @note : Currently each event may only be registered to one handler - * and there is a limit to the number of simultaneously registered - * events - * - * @param event_nums An array of event types that is to trigger the handler. The array must be terminated with a WLC_E_NONE event - * See @ref whd_event_num_t for available events - * @param handler_func A function pointer to the new handler callback, - * or NULL if callbacks are to be disabled for the given event type - * @param handler_user_data A pointer value which will be passed to the event handler function + * @param ifp Pointer to handle instance of whd interface + * @param event_nums An array of event types that is to trigger the handler. + * The array must be terminated with a WLC_E_NONE event + * See @ref whd_event_num_t for available events + * @param handler_func A function pointer to the new handler callback, + * or NULL if callbacks are to be disabled for the given event type + * @param handler_user_data A pointer value which will be passed to the event handler function * at the time an event is triggered (NULL is allowed) - * @param interface The interface to set the handler for. + * @param[out] *event_index entry where the event handler is registered in the list * * @return WHD result code */ @@ -246,20 +245,18 @@ static uint8_t *whd_management_alloc_event_msgs_buffer(whd_interface_t ifp, whd_ * This function registers a callback handler to be notified when * a particular event is received. * - * Alternately the function clears callbacks for given event type. + * @note : Currently there is a limit to the number of simultaneously + * registered events * - * @note : Currently each event may only be registered to one handler - * and there is a limit to the number of simultaneously registered - * events - * - * @param event_nums An array of event types that is to trigger the handler. - * The array must be terminated with a WLC_E_NONE event - * See @ref whd_event_num_t for available events - * @param handler_func A function pointer to the new handler callback, - * or NULL if callbacks are to be disabled for the given event type - * @param handler_user_data A pointer value which will be passed to the event handler function + * @param ifp Pointer to handle instance of whd interface + * @param event_nums An array of event types that is to trigger the handler. + * The array must be terminated with a WLC_E_NONE event + * See @ref whd_event_num_t for available events + * @param handler_func A function pointer to the new handler callback, + * or NULL if callbacks are to be disabled for the given event type + * @param handler_user_data A pointer value which will be passed to the event handler function * at the time an event is triggered (NULL is allowed) - * @param interface The interface to set the handler for. + * @param[out] *event_index entry where the event handler is registered in the list * * @return WHD result code */ diff --git a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/src/whd_sdpcm.c b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/src/whd_sdpcm.c index 6b270721ba..41a8fa76ea 100644 --- a/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/src/whd_sdpcm.c +++ b/targets/TARGET_Cypress/TARGET_PSOC6/TARGET_WHD/src/whd_sdpcm.c @@ -260,21 +260,11 @@ void whd_sdpcm_bus_vars_init(whd_driver_t whd_driver) void whd_sdpcm_quit(whd_driver_t whd_driver) { whd_sdpcm_info_t *sdpcm_info = &whd_driver->sdpcm_info; - whd_cdc_bdc_info_t *cdc_bdc_info = &whd_driver->cdc_bdc_info; whd_result_t result; - /* Delete the sleep mutex */ - (void)cy_rtos_deinit_semaphore(&cdc_bdc_info->ioctl_sleep); /* Ignore return - not much can be done about failure */ - - /* Delete the queue mutex. */ - (void)cy_rtos_deinit_semaphore(&cdc_bdc_info->ioctl_mutex); /* Ignore return - not much can be done about failure */ - /* Delete the SDPCM queue mutex */ (void)cy_rtos_deinit_semaphore(&sdpcm_info->send_queue_mutex); /* Ignore return - not much can be done about failure */ - /* Delete the event list management mutex */ - (void)cy_rtos_deinit_semaphore(&cdc_bdc_info->event_list_mutex); /* Ignore return - not much can be done about failure */ - /* Free any left over packets in the queue */ while (sdpcm_info->send_queue_head != NULL) {