[Infineon] Update P6 assets to latest tag along BT API changes (#20850)

diff --git a/examples/all-clusters-app/p6/include/ButtonHandler.h b/examples/all-clusters-app/p6/include/ButtonHandler.h
index 85dcdb5..a4128c6 100644
--- a/examples/all-clusters-app/p6/include/ButtonHandler.h
+++ b/examples/all-clusters-app/p6/include/ButtonHandler.h
@@ -35,6 +35,6 @@
 
 private:
     static void GpioInit(void);
-    static void lightbuttonIsr(void * handler_arg, cyhal_gpio_event_t event);
+    static void light_button_callback(void * handler_arg, cyhal_gpio_event_t event);
     static void TimerCallback(TimerHandle_t xTimer);
 };
diff --git a/examples/all-clusters-app/p6/src/ButtonHandler.cpp b/examples/all-clusters-app/p6/src/ButtonHandler.cpp
index 6c768e4..b9765cb 100644
--- a/examples/all-clusters-app/p6/src/ButtonHandler.cpp
+++ b/examples/all-clusters-app/p6/src/ButtonHandler.cpp
@@ -52,11 +52,14 @@
     }
 
     /* Configure GPIO interrupt. */
-    cyhal_gpio_register_callback(APP_LIGHT_BUTTON, lightbuttonIsr, NULL);
+    static cyhal_gpio_callback_data_t light_button_cbdata;
+    light_button_cbdata.callback     = light_button_callback;
+    light_button_cbdata.callback_arg = NULL;
+    cyhal_gpio_register_callback(APP_LIGHT_BUTTON, &light_button_cbdata);
     cyhal_gpio_enable_event(APP_LIGHT_BUTTON, CYHAL_GPIO_IRQ_FALL, GPIO_INTERRUPT_PRIORITY, true);
 }
 
-void ButtonHandler::lightbuttonIsr(void * handler_arg, cyhal_gpio_event_t event)
+void ButtonHandler::light_button_callback(void * handler_arg, cyhal_gpio_event_t event)
 {
     portBASE_TYPE taskWoken = pdFALSE;
     xTimerStartFromISR(buttonTimer, &taskWoken);
diff --git a/examples/all-clusters-minimal-app/p6/include/ButtonHandler.h b/examples/all-clusters-minimal-app/p6/include/ButtonHandler.h
index 85dcdb5..a4128c6 100644
--- a/examples/all-clusters-minimal-app/p6/include/ButtonHandler.h
+++ b/examples/all-clusters-minimal-app/p6/include/ButtonHandler.h
@@ -35,6 +35,6 @@
 
 private:
     static void GpioInit(void);
-    static void lightbuttonIsr(void * handler_arg, cyhal_gpio_event_t event);
+    static void light_button_callback(void * handler_arg, cyhal_gpio_event_t event);
     static void TimerCallback(TimerHandle_t xTimer);
 };
diff --git a/examples/all-clusters-minimal-app/p6/src/ButtonHandler.cpp b/examples/all-clusters-minimal-app/p6/src/ButtonHandler.cpp
index 6c768e4..b9765cb 100644
--- a/examples/all-clusters-minimal-app/p6/src/ButtonHandler.cpp
+++ b/examples/all-clusters-minimal-app/p6/src/ButtonHandler.cpp
@@ -52,11 +52,14 @@
     }
 
     /* Configure GPIO interrupt. */
-    cyhal_gpio_register_callback(APP_LIGHT_BUTTON, lightbuttonIsr, NULL);
+    static cyhal_gpio_callback_data_t light_button_cbdata;
+    light_button_cbdata.callback     = light_button_callback;
+    light_button_cbdata.callback_arg = NULL;
+    cyhal_gpio_register_callback(APP_LIGHT_BUTTON, &light_button_cbdata);
     cyhal_gpio_enable_event(APP_LIGHT_BUTTON, CYHAL_GPIO_IRQ_FALL, GPIO_INTERRUPT_PRIORITY, true);
 }
 
-void ButtonHandler::lightbuttonIsr(void * handler_arg, cyhal_gpio_event_t event)
+void ButtonHandler::light_button_callback(void * handler_arg, cyhal_gpio_event_t event)
 {
     portBASE_TYPE taskWoken = pdFALSE;
     xTimerStartFromISR(buttonTimer, &taskWoken);
diff --git a/examples/lighting-app/p6/include/ButtonHandler.h b/examples/lighting-app/p6/include/ButtonHandler.h
index 89b40e3..82a138f 100644
--- a/examples/lighting-app/p6/include/ButtonHandler.h
+++ b/examples/lighting-app/p6/include/ButtonHandler.h
@@ -34,7 +34,7 @@
 
 private:
     static void GpioInit(void);
-    static void lockbuttonIsr(void * handler_arg, cyhal_gpio_event_t event);
-    static void functionbuttonIsr(void * handler_arg, cyhal_gpio_event_t event);
+    static void light_button_callback(void * handler_arg, cyhal_gpio_event_t event);
+    static void func_button_callback(void * handler_arg, cyhal_gpio_event_t event);
     static void TimerCallback(TimerHandle_t xTimer);
 };
diff --git a/examples/lighting-app/p6/include/CHIPProjectConfig.h b/examples/lighting-app/p6/include/CHIPProjectConfig.h
index 885a051..2609a42 100644
--- a/examples/lighting-app/p6/include/CHIPProjectConfig.h
+++ b/examples/lighting-app/p6/include/CHIPProjectConfig.h
@@ -47,6 +47,9 @@
 #define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00
 #endif
 
+// define Device type based on the application
+#define CHIP_DEVICE_CONFIG_DEVICE_TYPE 257 // 0x0101  Dimmable Bulb
+
 // For convenience, Chip Security Test Mode can be enabled and the
 // requirement for authentication in various protocols can be disabled.
 //
diff --git a/examples/lighting-app/p6/src/ButtonHandler.cpp b/examples/lighting-app/p6/src/ButtonHandler.cpp
index 729939b..8038434 100644
--- a/examples/lighting-app/p6/src/ButtonHandler.cpp
+++ b/examples/lighting-app/p6/src/ButtonHandler.cpp
@@ -61,18 +61,24 @@
         printf(" cyhal_gpio_init failed for APP_FUNCTION_BUTTON\r\n");
     }
     /* Configure GPIO interrupt. */
-    cyhal_gpio_register_callback(APP_LIGHT_BUTTON, lockbuttonIsr, NULL);
-    cyhal_gpio_register_callback(APP_FUNCTION_BUTTON, functionbuttonIsr, NULL);
+    static cyhal_gpio_callback_data_t light_button_cbdata;
+    static cyhal_gpio_callback_data_t func_button_cbdata;
+    light_button_cbdata.callback     = light_button_callback;
+    light_button_cbdata.callback_arg = NULL;
+    cyhal_gpio_register_callback(APP_LIGHT_BUTTON, &light_button_cbdata);
+    func_button_cbdata.callback     = func_button_callback;
+    func_button_cbdata.callback_arg = NULL;
+    cyhal_gpio_register_callback(APP_FUNCTION_BUTTON, &func_button_cbdata);
     cyhal_gpio_enable_event(APP_LIGHT_BUTTON, CYHAL_GPIO_IRQ_FALL, GPIO_INTERRUPT_PRIORITY, true);
     cyhal_gpio_enable_event(APP_FUNCTION_BUTTON, CYHAL_GPIO_IRQ_FALL, GPIO_INTERRUPT_PRIORITY, true);
 }
-void ButtonHandler::lockbuttonIsr(void * handler_arg, cyhal_gpio_event_t event)
+void ButtonHandler::light_button_callback(void * handler_arg, cyhal_gpio_event_t event)
 {
     portBASE_TYPE taskWoken = pdFALSE;
     xTimerStartFromISR(buttonTimers[APP_LIGHT_BUTTON_IDX], &taskWoken);
 }
 
-void ButtonHandler::functionbuttonIsr(void * handler_arg, cyhal_gpio_event_t event)
+void ButtonHandler::func_button_callback(void * handler_arg, cyhal_gpio_event_t event)
 {
     portBASE_TYPE taskWoken = pdFALSE;
     xTimerStartFromISR(buttonTimers[APP_FUNCTION_BUTTON_IDX], &taskWoken);
diff --git a/examples/lock-app/p6/include/ButtonHandler.h b/examples/lock-app/p6/include/ButtonHandler.h
index 8334a7a..3820e16 100644
--- a/examples/lock-app/p6/include/ButtonHandler.h
+++ b/examples/lock-app/p6/include/ButtonHandler.h
@@ -33,7 +33,7 @@
 
 private:
     static void GpioInit(void);
-    static void lockbuttonIsr(void * handler_arg, cyhal_gpio_event_t event);
-    static void functionbuttonIsr(void * handler_arg, cyhal_gpio_event_t event);
+    static void lock_button_callback(void * handler_arg, cyhal_gpio_event_t event);
+    static void func_button_callback(void * handler_arg, cyhal_gpio_event_t event);
     static void TimerCallback(TimerHandle_t xTimer);
 };
diff --git a/examples/lock-app/p6/include/CHIPProjectConfig.h b/examples/lock-app/p6/include/CHIPProjectConfig.h
index 248a8a8..db1cfff 100644
--- a/examples/lock-app/p6/include/CHIPProjectConfig.h
+++ b/examples/lock-app/p6/include/CHIPProjectConfig.h
@@ -34,6 +34,9 @@
 #endif
 #define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00
 
+// define Device type based on the application
+#define CHIP_DEVICE_CONFIG_DEVICE_TYPE 10 // 0x00A Door lock
+
 // For convenience, Chip Security Test Mode can be enabled and the
 // requirement for authentication in various protocols can be disabled.
 //
diff --git a/examples/lock-app/p6/src/ButtonHandler.cpp b/examples/lock-app/p6/src/ButtonHandler.cpp
index c5307e4..d0bd98a 100644
--- a/examples/lock-app/p6/src/ButtonHandler.cpp
+++ b/examples/lock-app/p6/src/ButtonHandler.cpp
@@ -60,18 +60,24 @@
         printf(" cyhal_gpio_init failed for APP_FUNCTION_BUTTON\r\n");
     }
     /* Configure GPIO interrupt. */
-    cyhal_gpio_register_callback(APP_LOCK_BUTTON, lockbuttonIsr, NULL);
-    cyhal_gpio_register_callback(APP_FUNCTION_BUTTON, functionbuttonIsr, NULL);
+    static cyhal_gpio_callback_data_t lock_button_cbdata;
+    static cyhal_gpio_callback_data_t func_button_cbdata;
+    lock_button_cbdata.callback     = lock_button_callback;
+    lock_button_cbdata.callback_arg = NULL;
+    cyhal_gpio_register_callback(APP_LOCK_BUTTON, &lock_button_cbdata);
+    func_button_cbdata.callback     = func_button_callback;
+    func_button_cbdata.callback_arg = NULL;
+    cyhal_gpio_register_callback(APP_FUNCTION_BUTTON, &func_button_cbdata);
     cyhal_gpio_enable_event(APP_LOCK_BUTTON, CYHAL_GPIO_IRQ_FALL, GPIO_INTERRUPT_PRIORITY, true);
     cyhal_gpio_enable_event(APP_FUNCTION_BUTTON, CYHAL_GPIO_IRQ_FALL, GPIO_INTERRUPT_PRIORITY, true);
 }
-void ButtonHandler::lockbuttonIsr(void * handler_arg, cyhal_gpio_event_t event)
+void ButtonHandler::lock_button_callback(void * handler_arg, cyhal_gpio_event_t event)
 {
     portBASE_TYPE taskWoken = pdFALSE;
     xTimerStartFromISR(buttonTimers[APP_LOCK_BUTTON_IDX], &taskWoken);
 }
 
-void ButtonHandler::functionbuttonIsr(void * handler_arg, cyhal_gpio_event_t event)
+void ButtonHandler::func_button_callback(void * handler_arg, cyhal_gpio_event_t event)
 {
     portBASE_TYPE taskWoken = pdFALSE;
     xTimerStartFromISR(buttonTimers[APP_FUNCTION_BUTTON_IDX], &taskWoken);
diff --git a/examples/ota-requestor-app/p6/include/ButtonHandler.h b/examples/ota-requestor-app/p6/include/ButtonHandler.h
index 8dfbf7e..ea509ca 100644
--- a/examples/ota-requestor-app/p6/include/ButtonHandler.h
+++ b/examples/ota-requestor-app/p6/include/ButtonHandler.h
@@ -35,7 +35,7 @@
 
 private:
     static void GpioInit(void);
-    static void lockbuttonIsr(void * handler_arg, cyhal_gpio_event_t event);
-    static void functionbuttonIsr(void * handler_arg, cyhal_gpio_event_t event);
+    static void update_button_callback(void * handler_arg, cyhal_gpio_event_t event);
+    static void func_button_callback(void * handler_arg, cyhal_gpio_event_t event);
     static void TimerCallback(TimerHandle_t xTimer);
 };
diff --git a/examples/ota-requestor-app/p6/src/ButtonHandler.cpp b/examples/ota-requestor-app/p6/src/ButtonHandler.cpp
index 9701eca..e20f24e 100644
--- a/examples/ota-requestor-app/p6/src/ButtonHandler.cpp
+++ b/examples/ota-requestor-app/p6/src/ButtonHandler.cpp
@@ -62,19 +62,30 @@
         printf(" cyhal_gpio_init failed for APP_FUNCTION_BUTTON\r\n");
     }
     /* Configure GPIO interrupt. */
-    cyhal_gpio_register_callback(APP_UPDATE_BUTTON, lockbuttonIsr, NULL);
-    cyhal_gpio_register_callback(APP_FUNCTION_BUTTON, functionbuttonIsr, NULL);
+    static cyhal_gpio_callback_data_t update_button_cbdata;
+    static cyhal_gpio_callback_data_t func_button_cbdata;
+
+    /* Register for Update Button */
+    update_button_cbdata.callback     = update_button_callback;
+    update_button_cbdata.callback_arg = NULL;
+    cyhal_gpio_register_callback(APP_UPDATE_BUTTON, &update_button_cbdata);
+
+    /* Register for Function Button for factory reset */
+    func_button_cbdata.callback     = func_button_callback;
+    func_button_cbdata.callback_arg = NULL;
+    cyhal_gpio_register_callback(APP_FUNCTION_BUTTON, &func_button_cbdata);
+
     cyhal_gpio_enable_event(APP_UPDATE_BUTTON, CYHAL_GPIO_IRQ_FALL, GPIO_INTERRUPT_PRIORITY, true);
     cyhal_gpio_enable_event(APP_FUNCTION_BUTTON, CYHAL_GPIO_IRQ_FALL, GPIO_INTERRUPT_PRIORITY, true);
 }
 
-void ButtonHandler::lockbuttonIsr(void * handler_arg, cyhal_gpio_event_t event)
+void ButtonHandler::update_button_callback(void * handler_arg, cyhal_gpio_event_t event)
 {
     portBASE_TYPE taskWoken = pdFALSE;
     xTimerStartFromISR(buttonTimers[APP_UPDATE_BUTTON_IDX], &taskWoken);
 }
 
-void ButtonHandler::functionbuttonIsr(void * handler_arg, cyhal_gpio_event_t event)
+void ButtonHandler::func_button_callback(void * handler_arg, cyhal_gpio_event_t event)
 {
     portBASE_TYPE taskWoken = pdFALSE;
     xTimerStartFromISR(buttonTimers[APP_FUNCTION_BUTTON_IDX], &taskWoken);
diff --git a/examples/platform/p6/LEDWidget.cpp b/examples/platform/p6/LEDWidget.cpp
index 60924ce..075c5cd 100644
--- a/examples/platform/p6/LEDWidget.cpp
+++ b/examples/platform/p6/LEDWidget.cpp
@@ -52,13 +52,11 @@
     mLedNum           = ledNum;
     mState            = 0;
     mbrightness       = LED_MAX_BRIGHTNESS;
-    if (CY_RSLT_SUCCESS != cyhal_pwm_init(&pwm_led, (cyhal_gpio_t) ledNum, NULL))
+
+    if (CY_RSLT_SUCCESS !=
+        cyhal_gpio_init((cyhal_gpio_t) ledNum, CYHAL_GPIO_DIR_OUTPUT, CYHAL_GPIO_DRIVE_STRONG, CYBSP_LED_STATE_OFF))
     {
-        printf("LED PWM Init failed!");
-    }
-    if (CY_RSLT_SUCCESS != cyhal_pwm_set_duty_cycle(&pwm_led, GET_DUTY_CYCLE(LED_MAX_BRIGHTNESS), PWM_LED_FREQ_HZ))
-    {
-        printf("PWM failed to set dutycycle!");
+        printf("GPIO Init failed for Led %d \r\n", ledNum);
     }
 }
 
@@ -110,7 +108,7 @@
 {
     if (mState != state)
     {
-        (state) ? PWM_start() : PWM_stop();
+        cyhal_gpio_write((cyhal_gpio_t) mLedNum, ((state) ? CYBSP_LED_STATE_ON : CYBSP_LED_STATE_OFF));
     }
     mState = state;
 }
diff --git a/src/platform/P6/BLEManagerImpl.cpp b/src/platform/P6/BLEManagerImpl.cpp
index 134fc01..e2ccd9b 100644
--- a/src/platform/P6/BLEManagerImpl.cpp
+++ b/src/platform/P6/BLEManagerImpl.cpp
@@ -42,6 +42,7 @@
 #include "cy_utils.h"
 #include "wiced_bt_stack.h"
 
+#include "wiced_memory.h"
 #include <wiced_bt_ble.h>
 #include <wiced_bt_gatt.h>
 
@@ -49,6 +50,10 @@
 using namespace ::chip::Ble;
 
 #define BLE_SERVICE_DATA_SIZE 10
+#define BT_STACK_HEAP_SIZE (1024 * 6)
+typedef void (*pfn_free_buffer_t)(uint8_t *);
+wiced_bt_heap_t * p_heap   = NULL;
+static bool heap_allocated = false;
 
 namespace chip {
 namespace DeviceLayer {
@@ -93,6 +98,22 @@
     return WICED_BT_SUCCESS;
 }
 
+uint8_t * BLEManagerImpl::gatt_alloc_buffer(uint16_t len)
+{
+    uint8_t * p = (uint8_t *) wiced_bt_get_buffer(len);
+    return p;
+}
+
+void BLEManagerImpl::gatt_free_buffer(uint8_t * p_data)
+{
+    wiced_bt_free_buffer(p_data);
+}
+
+static void gatt_free_buffer_cb(uint8_t * p_data)
+{
+    BLEManagerImpl::sInstance.gatt_free_buffer(p_data);
+}
+
 CHIP_ERROR BLEManagerImpl::_Init()
 {
     CHIP_ERROR err;
@@ -108,7 +129,7 @@
     // configuration structure */
     if (WICED_SUCCESS != wiced_bt_stack_init(BLEManagerCallback, &wiced_bt_cfg_settings))
     {
-        printf("Error initializing BT stack\n");
+        ChipLogError(DeviceLayer, "Error initializing BT stack\n");
         CY_ASSERT(0);
     }
 
@@ -154,9 +175,6 @@
     return err;
 }
 
-/*
- * TODO
- */
 CHIP_ERROR BLEManagerImpl::_SetAdvertisingMode(BLEAdvertisingMode mode)
 {
     (void) (mode);
@@ -290,7 +308,7 @@
     wiced_bt_gatt_status_t gatt_err = wiced_bt_gatt_disconnect((uint16_t) conId);
     if (gatt_err != WICED_BT_GATT_SUCCESS)
     {
-        ChipLogError(DeviceLayer, "wiced_bt_gatt_disconnect() failed: %ld", gatt_err);
+        ChipLogError(DeviceLayer, "wiced_bt_gatt_disconnect() failed: %d", gatt_err);
     }
 
     return (gatt_err == WICED_BT_GATT_SUCCESS);
@@ -305,7 +323,7 @@
 
     if (!p_conn)
     {
-        return wiced_bt_cfg_settings.gatt_cfg.max_mtu_size;
+        return wiced_bt_cfg_settings.p_ble_cfg->ble_max_rx_pdu_size;
     }
     else
     {
@@ -328,12 +346,13 @@
 #endif
 
     // Send a notification for the CHIPoBLE TX characteristic to the client containing the supplied data.
-    gatt_err = wiced_bt_gatt_send_notification((uint16_t) conId, HDLC_CHIP_SERVICE_CHAR_C2_VALUE, dataLen, data->Start());
+    gatt_err =
+        wiced_bt_gatt_server_send_notification((uint16_t) conId, HDLC_CHIP_SERVICE_CHAR_C2_VALUE, dataLen, data->Start(), NULL);
 
 exit:
     if (gatt_err != WICED_BT_GATT_SUCCESS)
     {
-        ChipLogError(DeviceLayer, "BLEManagerImpl::SendNotification() failed: %ld", gatt_err);
+        ChipLogError(DeviceLayer, "BLEManagerImpl::SendNotification() failed: %d", gatt_err);
         return false;
     }
     else
@@ -435,6 +454,13 @@
 
             ChipLogProgress(DeviceLayer, "CHIPoBLE stop advertising");
             wiced_bt_start_advertisements(BTM_BLE_ADVERT_OFF, BLE_ADDR_PUBLIC, NULL);
+
+            /* Delete the heap allocated during BLE Advertisment Stop */
+            if (p_heap)
+            {
+                wiced_bt_delete_heap(p_heap);
+                heap_allocated = false;
+            }
         }
     }
 
@@ -466,51 +492,110 @@
     return NULL;
 }
 
-/*
- * Currently there is no reason to pass Read Req to CHIP. Only process request for
- * attributes in the GATT DB attribute table
- */
-wiced_bt_gatt_status_t BLEManagerImpl::HandleGattServiceRead(uint16_t conn_id, wiced_bt_gatt_read_t * p_read_data)
+wiced_bt_gatt_status_t BLEManagerImpl::HandleGattServiceRead(uint16_t conn_id, wiced_bt_gatt_opcode_t opcode,
+                                                             wiced_bt_gatt_read_t * p_read_req, uint16_t len_requested)
 {
-    gatt_db_lookup_table_t * puAttribute;
-    int attr_len_to_copy;
+    gatt_db_lookup_table_t * p_attribute;
+    uint8_t * from;
 
-    /* Get the right address for the handle in Gatt DB */
-    if (NULL == (puAttribute = GetGattAttr(p_read_data->handle)))
+    if ((p_attribute = GetGattAttr(p_read_req->handle)) == NULL)
     {
-        ChipLogError(DeviceLayer, "Read handle attribute not found. Handle:0x%X\n", p_read_data->handle);
+        ChipLogError(DeviceLayer, "[%s]  attr not found handle: 0x%04x\n", __FUNCTION__, p_read_req->handle);
+        wiced_bt_gatt_server_send_error_rsp(conn_id, opcode, p_read_req->handle, WICED_BT_GATT_INVALID_HANDLE);
         return WICED_BT_GATT_INVALID_HANDLE;
     }
 
-    attr_len_to_copy = puAttribute->cur_len;
-
-    ChipLogProgress(DeviceLayer, "GATT Read handler: conn_id:%04x handle:%04x len:%d", conn_id, p_read_data->handle,
-                    attr_len_to_copy);
-
-    /* If the incoming offset is greater than the current length in the GATT DB
-    then the data cannot be read back*/
-    if (p_read_data->offset >= puAttribute->cur_len)
+    if (p_read_req->offset >= p_attribute->cur_len)
     {
-        attr_len_to_copy = 0;
+        ChipLogError(DeviceLayer, "[%s] offset:%d larger than attribute length:%d\n", __FUNCTION__, p_read_req->offset,
+                     p_attribute->cur_len);
+
+        wiced_bt_gatt_server_send_error_rsp(conn_id, opcode, p_read_req->handle, WICED_BT_GATT_INVALID_OFFSET);
+        return (WICED_BT_GATT_INVALID_OFFSET);
+    }
+    else if (len_requested + p_read_req->offset > p_attribute->cur_len)
+    {
+        len_requested = p_attribute->cur_len - p_read_req->offset;
     }
 
-    /* Calculate the number of bytes and the position of the data and copy it to
-     the given pointer */
-    if (attr_len_to_copy != 0)
-    {
-        uint8_t * from;
-        int size_to_copy = attr_len_to_copy - p_read_data->offset;
+    from = ((uint8_t *) p_attribute->p_data) + p_read_req->offset;
 
-        if (size_to_copy > *p_read_data->p_val_len)
+    wiced_bt_gatt_server_send_read_handle_rsp(conn_id, opcode, len_requested, from, NULL);
+
+    return WICED_BT_GATT_SUCCESS;
+}
+/*
+ * Currently there is no reason to pass Read Req by type handler to CHIP. Only process request for
+ * attributes in the GATT DB attribute table
+ */
+wiced_bt_gatt_status_t BLEManagerImpl::HandleGattServiceReadByTypeHandler(uint16_t conn_id, wiced_bt_gatt_opcode_t opcode,
+                                                                          wiced_bt_gatt_read_by_type_t * p_read_req,
+                                                                          uint16_t len_requested)
+{
+    gatt_db_lookup_table_t * puAttribute;
+    uint16_t attr_handle = p_read_req->s_handle;
+    uint8_t * p_rsp      = NULL;
+    uint8_t pair_len     = 0;
+    int used             = 0;
+
+    if (heap_allocated == false)
+    {
+        p_heap         = wiced_bt_create_heap("default_heap", NULL, BT_STACK_HEAP_SIZE, NULL, WICED_TRUE);
+        heap_allocated = true;
+    }
+
+    /* Allocate buffer for GATT Read */
+    p_rsp = gatt_alloc_buffer(len_requested);
+    if (p_rsp == NULL)
+    {
+        ChipLogError(DeviceLayer, "[%s]  no memory len_requested: %d!!\n", __FUNCTION__, len_requested);
+        wiced_bt_gatt_server_send_error_rsp(conn_id, opcode, attr_handle, WICED_BT_GATT_INSUF_RESOURCE);
+        return WICED_BT_GATT_INSUF_RESOURCE;
+    }
+
+    /* Read by type returns all attributes of the specified type, between the start and end handles */
+    while (WICED_TRUE)
+    {
+        attr_handle = wiced_bt_gatt_find_handle_by_type(attr_handle, p_read_req->e_handle, &p_read_req->uuid);
+
+        if (attr_handle == 0)
+            break;
+
+        if ((puAttribute = GetGattAttr(attr_handle)) == NULL)
         {
-            size_to_copy = *p_read_data->p_val_len;
+            ChipLogError(DeviceLayer, "[%s]  found type but no attribute ??\n", __FUNCTION__);
+            wiced_bt_gatt_server_send_error_rsp(conn_id, opcode, p_read_req->s_handle, WICED_BT_GATT_ERR_UNLIKELY);
+            gatt_free_buffer(p_rsp);
+            return WICED_BT_GATT_INVALID_HANDLE;
         }
 
-        from                    = ((uint8_t *) puAttribute->p_data) + p_read_data->offset;
-        *p_read_data->p_val_len = size_to_copy;
+        {
+            int filled = wiced_bt_gatt_put_read_by_type_rsp_in_stream(p_rsp + used, len_requested - used, &pair_len, attr_handle,
+                                                                      puAttribute->cur_len, puAttribute->p_data);
+            if (filled == 0)
+            {
+                break;
+            }
+            used += filled;
+        }
 
-        memcpy(p_read_data->p_val, from, size_to_copy);
+        /* Increment starting handle for next search to one past current */
+        attr_handle++;
     }
+
+    if (used == 0)
+    {
+        ChipLogError(DeviceLayer, "[%s]  attr not found  start_handle: 0x%04x  end_handle: 0x%04x  Type: 0x%04x\n", __FUNCTION__,
+                     p_read_req->s_handle, p_read_req->e_handle, p_read_req->uuid.uu.uuid16);
+        wiced_bt_gatt_server_send_error_rsp(conn_id, opcode, p_read_req->s_handle, WICED_BT_GATT_INVALID_HANDLE);
+        gatt_free_buffer(p_rsp);
+        return WICED_BT_GATT_INVALID_HANDLE;
+    }
+
+    /* Send the response */
+    wiced_bt_gatt_server_send_read_by_type_rsp(conn_id, opcode, pair_len, used, p_rsp,
+                                               (wiced_bt_gatt_app_context_t) gatt_free_buffer_cb);
+
     return WICED_BT_GATT_SUCCESS;
 }
 
@@ -518,25 +603,19 @@
  * If Attribute is for CHIP, pass it through. Otherwise process request for
  * attributes in the GATT DB attribute table.
  */
-wiced_bt_gatt_status_t BLEManagerImpl::HandleGattServiceWrite(uint16_t conn_id, wiced_bt_gatt_write_t * p_data)
+wiced_bt_gatt_status_t BLEManagerImpl::HandleGattServiceWrite(uint16_t conn_id, wiced_bt_gatt_write_req_t * p_data)
 {
     wiced_bt_gatt_status_t result = WICED_BT_GATT_SUCCESS;
     gatt_db_lookup_table_t * puAttribute;
     const uint16_t valLen = p_data->val_len;
-
     // special handling for CHIP RX path
     if (p_data->handle == HDLC_CHIP_SERVICE_CHAR_C1_VALUE)
     {
-        chip::System::PacketBuffer * buf;
-        const uint16_t minBufSize = chip::System::PacketBuffer::kMaxSize + valLen;
+        System::PacketBufferHandle buf;
 
-        // Attempt to allocate a packet buffer with enough space to hold the characteristic value.
-        // Note that we must use pbuf_alloc() directly, as PacketBuffer::New() is not interrupt-safe.
-        if ((buf = (chip::System::PacketBuffer *) pbuf_alloc(PBUF_RAW, minBufSize, PBUF_POOL)) != NULL)
+        buf = System::PacketBufferHandle::NewWithData(p_data->p_val, valLen, 0, 0);
+        if (!buf.IsNull())
         {
-            // Copy the characteristic value into the packet buffer.
-            memcpy(buf->Start(), p_data->p_val, valLen);
-            buf->SetDataLength(valLen);
 #ifdef BLE_DEBUG
             ChipLogDetail(DeviceLayer, "Write received for CHIPoBLE RX characteristic con %04x len %d", conn_id, valLen);
 #endif
@@ -545,7 +624,7 @@
                 ChipDeviceEvent event;
                 event.Type                        = DeviceEventType::kCHIPoBLEWriteReceived;
                 event.CHIPoBLEWriteReceived.ConId = conn_id;
-                event.CHIPoBLEWriteReceived.Data  = buf;
+                event.CHIPoBLEWriteReceived.Data  = std::move(buf).UnsafeRelease();
                 CHIP_ERROR status                 = PlatformMgr().PostEvent(&event);
                 if (status != CHIP_NO_ERROR)
                 {
@@ -597,11 +676,9 @@
 /*
  * Process MTU request received from the GATT client
  */
-wiced_bt_gatt_status_t BLEManagerImpl::HandleGattServiceMtuReq(wiced_bt_gatt_attribute_request_t * p_data,
-                                                               CHIPoBLEConState * p_conn)
+wiced_bt_gatt_status_t BLEManagerImpl::HandleGattServiceMtuReq(uint16_t conn_id, uint16_t mtu)
 {
-    p_data->data.mtu = p_conn->Mtu;
-
+    wiced_bt_gatt_server_send_mtu_rsp(conn_id, mtu, wiced_bt_cfg_settings.p_ble_cfg->ble_max_rx_pdu_size);
     return WICED_BT_GATT_SUCCESS;
 }
 
@@ -612,19 +689,29 @@
                                                                      CHIPoBLEConState * p_conn)
 {
     wiced_bt_gatt_status_t result = WICED_BT_GATT_INVALID_PDU;
-
-    switch (p_request->request_type)
+    switch (p_request->opcode)
     {
-    case GATTS_REQ_TYPE_READ:
-        result = HandleGattServiceRead(p_request->conn_id, &(p_request->data.read_req));
+    case GATT_REQ_READ:
+    case GATT_REQ_READ_BLOB:
+        result =
+            HandleGattServiceRead(p_request->conn_id, p_request->opcode, &(p_request->data.read_req), p_request->len_requested);
         break;
-
-    case GATTS_REQ_TYPE_WRITE:
+    case GATT_REQ_READ_BY_TYPE:
+        result = HandleGattServiceReadByTypeHandler(p_request->conn_id, p_request->opcode, &p_request->data.read_by_type,
+                                                    p_request->len_requested);
+        break;
+    case GATT_REQ_WRITE:
+    case GATT_CMD_WRITE:
         result = HandleGattServiceWrite(p_request->conn_id, &(p_request->data.write_req));
+        if ((p_request->opcode == GATT_REQ_WRITE) && (result == WICED_BT_GATT_SUCCESS))
+        {
+            wiced_bt_gatt_write_req_t * p_write_request = &p_request->data.write_req;
+            wiced_bt_gatt_server_send_write_rsp(p_request->conn_id, p_request->opcode, p_write_request->handle);
+        }
         break;
 
-    case GATTS_REQ_TYPE_MTU:
-        result = HandleGattServiceMtuReq(p_request, p_conn);
+    case GATT_REQ_MTU:
+        result = HandleGattServiceMtuReq(p_request->conn_id, p_request->data.remote_mtu);
         break;
 
     default:
@@ -727,6 +814,28 @@
         conn_id = p_data->congestion.conn_id;
         break;
 
+    case GATT_GET_RESPONSE_BUFFER_EVT:
+        if (heap_allocated == false)
+        {
+            p_heap         = wiced_bt_create_heap("default_heap", NULL, BT_STACK_HEAP_SIZE, NULL, WICED_TRUE);
+            heap_allocated = true;
+        }
+        p_data->buffer_request.buffer.p_app_rsp_buffer =
+            BLEManagerImpl::sInstance.gatt_alloc_buffer(p_data->buffer_request.len_requested);
+        p_data->buffer_request.buffer.p_app_ctxt = (wiced_bt_gatt_app_context_t) gatt_free_buffer_cb;
+        return WICED_BT_GATT_SUCCESS;
+        break;
+
+    case GATT_APP_BUFFER_TRANSMITTED_EVT: {
+        pfn_free_buffer_t pfn_free = (pfn_free_buffer_t) p_data->buffer_xmitted.p_app_ctxt;
+        if (pfn_free)
+        {
+            pfn_free(p_data->buffer_xmitted.p_app_data);
+        }
+    }
+        return WICED_BT_GATT_SUCCESS;
+        break;
+
     default:
         return WICED_BT_GATT_ILLEGAL_PARAMETER;
     }
@@ -851,7 +960,7 @@
         if (mCons[i].connected == false)
         {
             mCons[i].ConId     = conId;
-            mCons[i].Mtu       = wiced_bt_cfg_settings.gatt_cfg.max_mtu_size;
+            mCons[i].Mtu       = wiced_bt_cfg_settings.p_ble_cfg->ble_max_rx_pdu_size;
             mCons[i].connected = false;
 
             mNumCons++;
diff --git a/src/platform/P6/BLEManagerImpl.h b/src/platform/P6/BLEManagerImpl.h
index d97fa47..08f91a8 100644
--- a/src/platform/P6/BLEManagerImpl.h
+++ b/src/platform/P6/BLEManagerImpl.h
@@ -128,12 +128,16 @@
     void SetAdvertisingData(void);
 
     wiced_bt_gatt_status_t HandleGattConnectEvent(wiced_bt_gatt_connection_status_t * p_conn_status, CHIPoBLEConState * p_conn);
-    wiced_bt_gatt_status_t HandleGattServiceRead(uint16_t conn_id, wiced_bt_gatt_read_t * p_read_data);
-    wiced_bt_gatt_status_t HandleGattServiceWrite(uint16_t conn_id, wiced_bt_gatt_write_t * p_data);
-    wiced_bt_gatt_status_t HandleGattServiceMtuReq(wiced_bt_gatt_attribute_request_t * p_data, CHIPoBLEConState * p_conn);
+    wiced_bt_gatt_status_t HandleGattServiceRead(uint16_t conn_id, wiced_bt_gatt_opcode_t opcode, wiced_bt_gatt_read_t * p_read_req,
+                                                 uint16_t len_requested);
+    wiced_bt_gatt_status_t HandleGattServiceReadByTypeHandler(uint16_t conn_id, wiced_bt_gatt_opcode_t opcode,
+                                                              wiced_bt_gatt_read_by_type_t * p_read_req, uint16_t len_requested);
+    wiced_bt_gatt_status_t HandleGattServiceWrite(uint16_t conn_id, wiced_bt_gatt_write_req_t * p_data);
+    wiced_bt_gatt_status_t HandleGattServiceMtuReq(uint16_t conn_id, uint16_t mtu);
     wiced_bt_gatt_status_t HandleGattServiceIndCfm(uint16_t conn_id, uint16_t handle);
     wiced_bt_gatt_status_t HandleGattServiceRequestEvent(wiced_bt_gatt_attribute_request_t * p_request, CHIPoBLEConState * p_conn);
-
+    uint8_t * gatt_alloc_buffer(uint16_t len);
+    void gatt_free_buffer(uint8_t * p_data);
     static wiced_result_t BLEManagerCallback(wiced_bt_management_evt_t event, wiced_bt_management_evt_data_t * p_event_data);
 
     CHIPoBLEConState * AllocConnectionState(uint16_t conId);
diff --git a/src/platform/P6/DiagnosticDataProviderImpl.cpp b/src/platform/P6/DiagnosticDataProviderImpl.cpp
index d5df791..95ada77 100644
--- a/src/platform/P6/DiagnosticDataProviderImpl.cpp
+++ b/src/platform/P6/DiagnosticDataProviderImpl.cpp
@@ -255,7 +255,7 @@
         SuccessOrExit(CHIP_ERROR_INTERNAL);
     }
     /* VHT Capable bit variable is not defined in whd and has to use the reserved bit */
-    if (bss_info.reserved[0])
+    if (bss_info.vht_cap)
     {
         wiFiVersion = EMBER_ZCL_WI_FI_VERSION_TYPE_802__11AC;
     }
diff --git a/src/platform/P6/cycfg_gatt_db.c b/src/platform/P6/cycfg_gatt_db.c
index be718a3..5ed8ddd 100644
--- a/src/platform/P6/cycfg_gatt_db.c
+++ b/src/platform/P6/cycfg_gatt_db.c
@@ -53,11 +53,11 @@
 
     /* Characteristic: Device Name */
     CHARACTERISTIC_UUID16(HDLC_GAP_DEVICE_NAME, HDLC_GAP_DEVICE_NAME_VALUE, __UUID_CHARACTERISTIC_DEVICE_NAME,
-                          LEGATTDB_CHAR_PROP_READ, LEGATTDB_PERM_READABLE),
+                          GATTDB_CHAR_PROP_READ, GATTDB_PERM_READABLE),
 
     /* Characteristic: Appearance */
-    CHARACTERISTIC_UUID16(HDLC_GAP_APPEARANCE, HDLC_GAP_APPEARANCE_VALUE, __UUID_CHARACTERISTIC_APPEARANCE, LEGATTDB_CHAR_PROP_READ,
-                          LEGATTDB_PERM_READABLE),
+    CHARACTERISTIC_UUID16(HDLC_GAP_APPEARANCE, HDLC_GAP_APPEARANCE_VALUE, __UUID_CHARACTERISTIC_APPEARANCE, GATTDB_CHAR_PROP_READ,
+                          GATTDB_PERM_READABLE),
 
     /* Primary Service: Generic Attribute */
     PRIMARY_SERVICE_UUID16(HDLS_GATT, __UUID_SERVICE_GENERIC_ATTRIBUTE),
@@ -67,16 +67,15 @@
 
     /* Characteristic: C1 */
     CHARACTERISTIC_UUID128_WRITABLE(HDLC_CHIP_SERVICE_CHAR_C1, HDLC_CHIP_SERVICE_CHAR_C1_VALUE, __UUID128_CHIPoBLEChar_C1,
-                                    LEGATTDB_CHAR_PROP_WRITE,
-                                    LEGATTDB_PERM_VARIABLE_LENGTH | LEGATTDB_PERM_READABLE | LEGATTDB_PERM_WRITE_REQ),
+                                    GATTDB_CHAR_PROP_WRITE, GATTDB_PERM_READABLE | GATTDB_PERM_WRITE_REQ),
     /* Characteristic: C2 */
     CHARACTERISTIC_UUID128_WRITABLE(HDLC_CHIP_SERVICE_CHAR_C2, HDLC_CHIP_SERVICE_CHAR_C2_VALUE, __UUID128_CHIPoBLEChar_C2,
-                                    LEGATTDB_CHAR_PROP_READ | LEGATTDB_CHAR_PROP_NOTIFY,
-                                    LEGATTDB_PERM_RELIABLE_WRITE | LEGATTDB_PERM_READABLE | LEGATTDB_PERM_WRITABLE),
+                                    GATTDB_CHAR_PROP_READ | GATTDB_CHAR_PROP_NOTIFY,
+                                    GATTDB_PERM_RELIABLE_WRITE | GATTDB_PERM_READABLE | GATTDB_CHAR_PROP_WRITE),
 
     /* Descriptor: Client Characteristic Configuration */
     CHAR_DESCRIPTOR_UUID16_WRITABLE(HDLD_CHIP_SERVICE_RX_CLIENT_CHAR_CONFIG, __UUID_DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION,
-                                    LEGATTDB_PERM_AUTH_READABLE | LEGATTDB_PERM_WRITE_REQ),
+                                    GATTDB_PERM_AUTH_READABLE | GATTDB_PERM_WRITE_REQ),
 };
 
 /* Length of the GATT database */
diff --git a/third_party/p6/p6_sdk/build/CY8CKIT-062S2-43012/Debug/GCC_ARM.json b/third_party/p6/p6_sdk/build/CY8CKIT-062S2-43012/Debug/GCC_ARM.json
index c8d7625..f1f2712 100644
--- a/third_party/p6/p6_sdk/build/CY8CKIT-062S2-43012/Debug/GCC_ARM.json
+++ b/third_party/p6/p6_sdk/build/CY8CKIT-062S2-43012/Debug/GCC_ARM.json
@@ -73,8 +73,8 @@
     "includes": [
         "-I./configs",
         "-I.",
-        "-I./configs",
         "-I./arch",
+        "-I./configs",
         "-I./libs",
         "-I./libs/TARGET_CY8CKIT-062S2-43012",
         "-I./libs/TARGET_CY8CKIT-062S2-43012/COMPONENT_BSP_DESIGN_MODUS",
@@ -87,6 +87,7 @@
         "-I./libs/bluetooth-freertos",
         "-I./libs/bluetooth-freertos/platform",
         "-I./libs/bluetooth-freertos/platform/common",
+        "-I./libs/bluetooth-freertos/platform/debug",
         "-I./libs/bluetooth-freertos/platform/include",
         "-I./libs/btstack",
         "-I./libs/btstack/wiced_include",
@@ -120,14 +121,13 @@
         "-I./libs/mbedtls/include",
         "-I./libs/mbedtls/include/mbedtls",
         "-I./libs/mtb-hal-cat1",
-        "-I./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL",
-        "-I./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A",
-        "-I./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/include",
-        "-I./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/include/pin_packages",
-        "-I./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/include/triggers",
-        "-I./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/include",
-        "-I./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source",
+        "-I./libs/mtb-hal-cat1/COMPONENT_CAT1A",
+        "-I./libs/mtb-hal-cat1/COMPONENT_CAT1A/include",
+        "-I./libs/mtb-hal-cat1/COMPONENT_CAT1A/include/pin_packages",
+        "-I./libs/mtb-hal-cat1/COMPONENT_CAT1A/include/triggers",
         "-I./libs/mtb-hal-cat1/include",
+        "-I./libs/mtb-hal-cat1/include_pvt",
+        "-I./libs/mtb-hal-cat1/source",
         "-I./libs/mtb-pdl-cat1",
         "-I./libs/mtb-pdl-cat1/cmsis",
         "-I./libs/mtb-pdl-cat1/cmsis/include",
@@ -142,7 +142,7 @@
         "-I./libs/secure-sockets/include",
         "-I./libs/secure-sockets/include/COMPONENT_FREERTOS",
         "-I./libs/secure-sockets/source",
-        "-I./libs/serial-flash/",
+        "-I./libs/serial-flash",
         "-I./libs/whd-bsp-integration",
         "-I./libs/wifi-connection-manager",
         "-I./libs/wifi-connection-manager/include",
@@ -153,10 +153,13 @@
         "-I./libs/wifi-host-driver/WiFi_Host_Driver",
         "-I./libs/wifi-host-driver/WiFi_Host_Driver/inc",
         "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources",
+        "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/clm",
+        "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/clm/COMPONENT_43012",
         "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/firmware",
         "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/firmware/COMPONENT_43012",
         "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/nvram",
-        "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/nvram/TARGET_CY8CKIT_062S2_43012",
+        "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/nvram/COMPONENT_43012",
+        "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/nvram/COMPONENT_43012/COMPONENT_MURATA-1LV",
         "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/resource_imp",
         "-I./libs/wifi-host-driver/WiFi_Host_Driver/src",
         "-I./libs/wifi-host-driver/WiFi_Host_Driver/src/bus_protocols",
@@ -183,14 +186,16 @@
         "-DCOMPONENT_CM4",
         "-DCOMPONENT_CY8CKIT_062S2_43012",
         "-DCOMPONENT_FREERTOS",
+        "-DCOMPONENT_HCI_UART",
         "-DCOMPONENT_LWIP",
         "-DCOMPONENT_MBEDTLS",
+        "-DCOMPONENT_MURATA_1LV",
         "-DCOMPONENT_PSOC6HAL",
         "-DCOMPONENT_RTOS_AWARE",
         "-DCOMPONENT_SOFTFP",
         "-DCOMPONENT_WICED_BLE",
-        "-DCOMPONENT_WLCSP",
-        "-DDEBUG"
+        "-DDEBUG",
+        "-DCY_SUPPORTS_DEVICE_VALIDATION"
     ],
     "c_source": [
         "./libs/abstraction-rtos/source/cy_worker_thread.c",
@@ -202,13 +207,14 @@
         "./libs/bluetooth-freertos/platform/common/cybt_platform_task.c",
         "./libs/bluetooth-freertos/platform/common/cybt_platform_trace.c",
         "./libs/bluetooth-freertos/platform/common/cybt_prm.c",
+        "./libs/bluetooth-freertos/platform/debug/cybt_debug_uart.c",
         "./libs/bluetooth-freertos/platform/freertos/cybt_platform_freertos.c",
-        "./libs/clib-support/cy_mutex_pool.c",
         "./libs/clib-support/cy_time.c",
         "./libs/connectivity-utilities/JSON_parser/cy_json_parser.c",
         "./libs/connectivity-utilities/cy_log/cy_log.c",
         "./libs/connectivity-utilities/cy_string/cy_string_utils.c",
         "./libs/connectivity-utilities/linked_list/cy_linked_list.c",
+        "./libs/connectivity-utilities/network/cy_nw_helper_common.c",
         "./libs/freertos/Source/croutine.c",
         "./libs/freertos/Source/event_groups.c",
         "./libs/freertos/Source/list.c",
@@ -309,7 +315,6 @@
         "./libs/mbedtls/library/md2.c",
         "./libs/mbedtls/library/md4.c",
         "./libs/mbedtls/library/md5.c",
-        "./libs/mbedtls/library/md_wrap.c",
         "./libs/mbedtls/library/memory_buffer_alloc.c",
         "./libs/mbedtls/library/nist_kw.c",
         "./libs/mbedtls/library/oid.c",
@@ -325,6 +330,11 @@
         "./libs/mbedtls/library/platform.c",
         "./libs/mbedtls/library/platform_util.c",
         "./libs/mbedtls/library/poly1305.c",
+        "./libs/mbedtls/library/psa_crypto.c",
+        "./libs/mbedtls/library/psa_crypto_se.c",
+        "./libs/mbedtls/library/psa_crypto_slot_management.c",
+        "./libs/mbedtls/library/psa_crypto_storage.c",
+        "./libs/mbedtls/library/psa_its_file.c",
         "./libs/mbedtls/library/ripemd160.c",
         "./libs/mbedtls/library/rsa.c",
         "./libs/mbedtls/library/rsa_internal.c",
@@ -335,9 +345,11 @@
         "./libs/mbedtls/library/ssl_ciphersuites.c",
         "./libs/mbedtls/library/ssl_cli.c",
         "./libs/mbedtls/library/ssl_cookie.c",
+        "./libs/mbedtls/library/ssl_msg.c",
         "./libs/mbedtls/library/ssl_srv.c",
         "./libs/mbedtls/library/ssl_ticket.c",
         "./libs/mbedtls/library/ssl_tls.c",
+        "./libs/mbedtls/library/ssl_tls13_keys.c",
         "./libs/mbedtls/library/threading.c",
         "./libs/mbedtls/library/timing.c",
         "./libs/mbedtls/library/version.c",
@@ -350,7 +362,54 @@
         "./libs/mbedtls/library/x509write_crt.c",
         "./libs/mbedtls/library/x509write_csr.c",
         "./libs/mbedtls/library/xtea.c",
+        "./libs/mtb-hal-cat1/source/cyhal_adc_mic.c",
+        "./libs/mtb-hal-cat1/source/cyhal_adc_sar.c",
+        "./libs/mtb-hal-cat1/source/cyhal_analog_common.c",
+        "./libs/mtb-hal-cat1/source/cyhal_audio_common.c",
+        "./libs/mtb-hal-cat1/source/cyhal_clock.c",
+        "./libs/mtb-hal-cat1/source/cyhal_comp.c",
+        "./libs/mtb-hal-cat1/source/cyhal_comp_ctb.c",
+        "./libs/mtb-hal-cat1/source/cyhal_comp_lp.c",
+        "./libs/mtb-hal-cat1/source/cyhal_crc.c",
+        "./libs/mtb-hal-cat1/source/cyhal_crypto_common.c",
+        "./libs/mtb-hal-cat1/source/cyhal_dac.c",
+        "./libs/mtb-hal-cat1/source/cyhal_dma.c",
+        "./libs/mtb-hal-cat1/source/cyhal_dma_dmac.c",
+        "./libs/mtb-hal-cat1/source/cyhal_dma_dw.c",
+        "./libs/mtb-hal-cat1/source/cyhal_ezi2c.c",
+        "./libs/mtb-hal-cat1/source/cyhal_flash.c",
+        "./libs/mtb-hal-cat1/source/cyhal_gpio.c",
+        "./libs/mtb-hal-cat1/source/cyhal_hwmgr.c",
+        "./libs/mtb-hal-cat1/source/cyhal_i2c.c",
+        "./libs/mtb-hal-cat1/source/cyhal_i2s.c",
+        "./libs/mtb-hal-cat1/source/cyhal_interconnect.c",
+        "./libs/mtb-hal-cat1/source/cyhal_irq_psoc.c",
+        "./libs/mtb-hal-cat1/source/cyhal_keyscan.c",
+        "./libs/mtb-hal-cat1/source/cyhal_lptimer.c",
+        "./libs/mtb-hal-cat1/source/cyhal_opamp.c",
+        "./libs/mtb-hal-cat1/source/cyhal_pdmpcm.c",
+        "./libs/mtb-hal-cat1/source/cyhal_pwm.c",
+        "./libs/mtb-hal-cat1/source/cyhal_qspi.c",
+        "./libs/mtb-hal-cat1/source/cyhal_quaddec.c",
+        "./libs/mtb-hal-cat1/source/cyhal_rtc.c",
+        "./libs/mtb-hal-cat1/source/cyhal_scb_common.c",
+        "./libs/mtb-hal-cat1/source/cyhal_sdhc.c",
+        "./libs/mtb-hal-cat1/source/cyhal_spi.c",
+        "./libs/mtb-hal-cat1/source/cyhal_syspm.c",
+        "./libs/mtb-hal-cat1/source/cyhal_system.c",
+        "./libs/mtb-hal-cat1/source/cyhal_tcpwm_common.c",
+        "./libs/mtb-hal-cat1/source/cyhal_tdm.c",
+        "./libs/mtb-hal-cat1/source/cyhal_timer.c",
+        "./libs/mtb-hal-cat1/source/cyhal_trng.c",
+        "./libs/mtb-hal-cat1/source/cyhal_uart.c",
+        "./libs/mtb-hal-cat1/source/cyhal_udb_sdio.c",
+        "./libs/mtb-hal-cat1/source/cyhal_usb_dev.c",
+        "./libs/mtb-hal-cat1/source/cyhal_utils.c",
+        "./libs/mtb-hal-cat1/source/cyhal_utils_psoc.c",
+        "./libs/mtb-hal-cat1/source/cyhal_wdt.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_adcmic.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_ble_clk.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_btss.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_canfd.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_crypto.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_crypto_core_aes_v1.c",
@@ -380,22 +439,30 @@
         "./libs/mtb-pdl-cat1/drivers/source/cy_crypto_core_trng_v2.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_crypto_core_vu.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_crypto_server.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_cryptolite.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_csd.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_ctb.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_ctdac.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_dma.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_dmac.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_efuse.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_efuse_v3.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_flash.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_gpio.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_i2s.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_ipc_bt.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_ipc_drv.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_ipc_pipe.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_ipc_sema.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_keyscan.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_lin.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_lpcomp.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_lvd.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_mcwdt.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_pd_pdcm.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_pd_ppu.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_pdm_pcm.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_pdm_pcm_v2.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_pra.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_pra_cfg.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_profile.c",
@@ -412,30 +479,38 @@
         "./libs/mtb-pdl-cat1/drivers/source/cy_smartio.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_smif.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_smif_memslot.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_smif_sfdp.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_sysanalog.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_sysclk.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_sysclk_v2.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_sysint.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_sysint_v2.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_syslib.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_syspm.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_syspm_v2.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_systick.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_systick_v2.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_tcpwm_counter.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_tcpwm_pwm.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_tcpwm_quaddec.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_tcpwm_shiftreg.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_tdm.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_trigmux.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_usbfs_dev_drv.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_usbfs_dev_drv_io.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_usbfs_dev_drv_io_dma.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_wdt.c",
+        "./libs/mtb-pdl-cat1/drivers/source/ppu_v1.c",
         "./libs/retarget-io/cy_retarget_io.c",
+        "./libs/secure-sockets/source/cy_pkcs_psa_logging.c",
         "./libs/secure-sockets/source/cy_tls_weak.c",
         "./libs/serial-flash/cy_serial_flash_prog.c",
         "./libs/serial-flash/cy_serial_flash_qspi.c",
-        "./libs/whd-bsp-integration/cy_network_buffer.c",
         "./libs/whd-bsp-integration/cybsp_wifi.c",
         "./libs/wifi-host-driver/WiFi_Host_Driver/resources/resource_imp/whd_resources.c",
         "./libs/wifi-host-driver/WiFi_Host_Driver/src/bus_protocols/whd_bus.c",
         "./libs/wifi-host-driver/WiFi_Host_Driver/src/bus_protocols/whd_bus_common.c",
+        "./libs/wifi-host-driver/WiFi_Host_Driver/src/bus_protocols/whd_bus_m2m_protocol.c",
         "./libs/wifi-host-driver/WiFi_Host_Driver/src/bus_protocols/whd_bus_sdio_protocol.c",
         "./libs/wifi-host-driver/WiFi_Host_Driver/src/bus_protocols/whd_bus_spi_protocol.c",
         "./libs/wifi-host-driver/WiFi_Host_Driver/src/whd_ap.c",
@@ -458,7 +533,7 @@
         "./libs/wifi-host-driver/WiFi_Host_Driver/src/whd_wifi_p2p.c",
         "./libs/wifi-mw-core/lwip-whd-port/cy_lwip.c",
         "./libs/wifi-mw-core/lwip-whd-port/cy_lwip_dhcp_server.c",
-        "./libs/clib-support/TOOLCHAIN_GCC_ARM/cy_newlib_freertos.c",
+        "./libs/clib-support/TOOLCHAIN_GCC_ARM/cy_clib_support_newlib.c",
         "./libs/TARGET_CY8CKIT-062S2-43012/bluetooth/cybsp_bt_config.c",
         "./libs/TARGET_CY8CKIT-062S2-43012/cybsp.c",
         "./libs/TARGET_CY8CKIT-062S2-43012/COMPONENT_BSP_DESIGN_MODUS/GeneratedSource/cycfg.c",
@@ -472,77 +547,33 @@
         "./libs/TARGET_CY8CKIT-062S2-43012/COMPONENT_CM4/system_psoc6_cm4.c",
         "./libs/abstraction-rtos/source/COMPONENT_FREERTOS/cyabs_freertos_helpers.c",
         "./libs/abstraction-rtos/source/COMPONENT_FREERTOS/cyabs_rtos_freertos.c",
-        "./libs/bluetooth-freertos/firmware/COMPONENT_43012/TARGET_CY8CKIT_062S2_43012/w_bt_firmware_controller.c",
+        "./libs/bluetooth-freertos/firmware/COMPONENT_43012/COMPONENT_MURATA-1LV/COMPONENT_HCI-UART/w_bt_firmware_controller.c",
+        "./libs/clib-support/COMPONENT_FREERTOS/cy_mutex_pool.c",
         "./libs/connectivity-utilities/network/COMPONENT_LWIP/cy_nw_helper.c",
         "./libs/freertos/Source/portable/COMPONENT_CM4/TOOLCHAIN_GCC_ARM/port.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/cyhal_deprecated.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_104_m_csp_ble.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_104_m_csp_ble_usb.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_116_bga_ble.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_116_bga_usb.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_124_bga.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_124_bga_sip.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_43_smt.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_68_qfn_ble.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_80_wlcsp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_02_100_wlcsp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_02_124_bga.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_02_128_tqfp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_02_68_qfn.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_03_100_tqfp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_03_49_wlcsp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_03_68_qfn.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_04_64_tqfp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_04_68_qfn.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_04_80_tqfp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/triggers/cyhal_triggers_psoc6_01.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/triggers/cyhal_triggers_psoc6_02.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/triggers/cyhal_triggers_psoc6_03.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/triggers/cyhal_triggers_psoc6_04.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_adc_mic.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_adc_sar.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_analog_common.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_audio_common.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_clock.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_comp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_comp_ctb.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_comp_lp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_crc.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_crypto_common.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_dac.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_dma.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_dma_dmac.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_dma_dw.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_ezi2c.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_flash.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_gpio.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_hwmgr.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_i2c.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_i2s.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_interconnect.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_keyscan.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_lptimer.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_opamp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_pdmpcm.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_pwm.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_qspi.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_quaddec.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_rtc.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_scb_common.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_sdhc.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_spi.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_syspm.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_system.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_tcpwm_common.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_tdm.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_timer.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_trng.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_uart.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_udb_sdio.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_usb_dev.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_utils.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_utils_psoc.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_wdt.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_104_m_csp_ble.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_104_m_csp_ble_usb.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_116_bga_ble.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_116_bga_usb.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_124_bga.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_124_bga_sip.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_43_smt.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_68_qfn_ble.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_80_wlcsp.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_02_100_wlcsp.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_02_124_bga.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_02_128_tqfp.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_02_68_qfn.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_03_100_tqfp.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_03_49_wlcsp.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_03_68_qfn.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_04_64_tqfp.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_04_68_qfn.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_04_80_tqfp.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/triggers/cyhal_triggers_psoc6_01.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/triggers/cyhal_triggers_psoc6_02.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/triggers/cyhal_triggers_psoc6_03.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/triggers/cyhal_triggers_psoc6_04.c",
         "./libs/mtb-pdl-cat1/devices/COMPONENT_CAT1A/source/cy_device.c",
         "./libs/psoc6cm0p/COMPONENT_CM0P_SLEEP/psoc6_01_cm0p_sleep.c",
         "./libs/psoc6cm0p/COMPONENT_CM0P_SLEEP/psoc6_02_cm0p_sleep.c",
@@ -550,13 +581,15 @@
         "./libs/psoc6cm0p/COMPONENT_CM0P_SLEEP/psoc6_04_cm0p_sleep.c",
         "./libs/secure-sockets/source/COMPONENT_LWIP/cy_secure_sockets.c",
         "./libs/secure-sockets/source/COMPONENT_MBEDTLS/cy_tls.c",
+        "./libs/secure-sockets/source/COMPONENT_MBEDTLS/iot_crypto.c",
+        "./libs/whd-bsp-integration/COMPONENT_LWIP/cy_network_buffer_lwip.c",
         "./libs/wifi-connection-manager/source/COMPONENT_LWIP/cy_wcm.c",
         "./libs/wifi-connection-manager/source/COMPONENT_MBEDTLS/cy_wps_aes_ctr_ccm.c",
         "./libs/wifi-connection-manager/source/COMPONENT_MBEDTLS/cy_wps_crypto.c",
+        "./libs/wifi-host-driver/WiFi_Host_Driver/resources/clm/COMPONENT_43012/43012C0-mfgtest_clm_blob.c",
+        "./libs/wifi-host-driver/WiFi_Host_Driver/resources/clm/COMPONENT_43012/43012C0_clm_blob.c",
         "./libs/wifi-host-driver/WiFi_Host_Driver/resources/firmware/COMPONENT_43012/43012C0-mfgtest_bin.c",
-        "./libs/wifi-host-driver/WiFi_Host_Driver/resources/firmware/COMPONENT_43012/43012C0-mfgtest_clm_blob.c",
         "./libs/wifi-host-driver/WiFi_Host_Driver/resources/firmware/COMPONENT_43012/43012C0_bin.c",
-        "./libs/wifi-host-driver/WiFi_Host_Driver/resources/firmware/COMPONENT_43012/43012C0_clm_blob.c",
         "./arch/sys_arch.c"
     ],
     "cxx_source": [],
diff --git a/third_party/p6/p6_sdk/build/CY8CKIT-062S2-43012/Release/GCC_ARM.json b/third_party/p6/p6_sdk/build/CY8CKIT-062S2-43012/Release/GCC_ARM.json
index 1ab41aa..d7d5c1b 100644
--- a/third_party/p6/p6_sdk/build/CY8CKIT-062S2-43012/Release/GCC_ARM.json
+++ b/third_party/p6/p6_sdk/build/CY8CKIT-062S2-43012/Release/GCC_ARM.json
@@ -73,8 +73,8 @@
     "includes": [
         "-I./configs",
         "-I.",
-        "-I./configs",
         "-I./arch",
+        "-I./configs",
         "-I./libs",
         "-I./libs/TARGET_CY8CKIT-062S2-43012",
         "-I./libs/TARGET_CY8CKIT-062S2-43012/COMPONENT_BSP_DESIGN_MODUS",
@@ -87,6 +87,7 @@
         "-I./libs/bluetooth-freertos",
         "-I./libs/bluetooth-freertos/platform",
         "-I./libs/bluetooth-freertos/platform/common",
+        "-I./libs/bluetooth-freertos/platform/debug",
         "-I./libs/bluetooth-freertos/platform/include",
         "-I./libs/btstack",
         "-I./libs/btstack/wiced_include",
@@ -120,14 +121,13 @@
         "-I./libs/mbedtls/include",
         "-I./libs/mbedtls/include/mbedtls",
         "-I./libs/mtb-hal-cat1",
-        "-I./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL",
-        "-I./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A",
-        "-I./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/include",
-        "-I./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/include/pin_packages",
-        "-I./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/include/triggers",
-        "-I./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/include",
-        "-I./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source",
+        "-I./libs/mtb-hal-cat1/COMPONENT_CAT1A",
+        "-I./libs/mtb-hal-cat1/COMPONENT_CAT1A/include",
+        "-I./libs/mtb-hal-cat1/COMPONENT_CAT1A/include/pin_packages",
+        "-I./libs/mtb-hal-cat1/COMPONENT_CAT1A/include/triggers",
         "-I./libs/mtb-hal-cat1/include",
+        "-I./libs/mtb-hal-cat1/include_pvt",
+        "-I./libs/mtb-hal-cat1/source",
         "-I./libs/mtb-pdl-cat1",
         "-I./libs/mtb-pdl-cat1/cmsis",
         "-I./libs/mtb-pdl-cat1/cmsis/include",
@@ -142,7 +142,7 @@
         "-I./libs/secure-sockets/include",
         "-I./libs/secure-sockets/include/COMPONENT_FREERTOS",
         "-I./libs/secure-sockets/source",
-        "-I./libs/serial-flash/",
+        "-I./libs/serial-flash",
         "-I./libs/whd-bsp-integration",
         "-I./libs/wifi-connection-manager",
         "-I./libs/wifi-connection-manager/include",
@@ -153,10 +153,13 @@
         "-I./libs/wifi-host-driver/WiFi_Host_Driver",
         "-I./libs/wifi-host-driver/WiFi_Host_Driver/inc",
         "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources",
+        "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/clm",
+        "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/clm/COMPONENT_43012",
         "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/firmware",
         "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/firmware/COMPONENT_43012",
         "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/nvram",
-        "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/nvram/TARGET_CY8CKIT_062S2_43012",
+        "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/nvram/COMPONENT_43012",
+        "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/nvram/COMPONENT_43012/COMPONENT_MURATA-1LV",
         "-I./libs/wifi-host-driver/WiFi_Host_Driver/resources/resource_imp",
         "-I./libs/wifi-host-driver/WiFi_Host_Driver/src",
         "-I./libs/wifi-host-driver/WiFi_Host_Driver/src/bus_protocols",
@@ -183,14 +186,16 @@
         "-DCOMPONENT_CM4",
         "-DCOMPONENT_CY8CKIT_062S2_43012",
         "-DCOMPONENT_FREERTOS",
+        "-DCOMPONENT_HCI_UART",
         "-DCOMPONENT_LWIP",
         "-DCOMPONENT_MBEDTLS",
+        "-DCOMPONENT_MURATA_1LV",
         "-DCOMPONENT_PSOC6HAL",
         "-DCOMPONENT_RTOS_AWARE",
         "-DCOMPONENT_SOFTFP",
         "-DCOMPONENT_WICED_BLE",
-        "-DCOMPONENT_WLCSP",
-        "-DNDEBUG"
+        "-DNDEBUG",
+        "-DCY_SUPPORTS_DEVICE_VALIDATION"
     ],
     "c_source": [
         "./libs/abstraction-rtos/source/cy_worker_thread.c",
@@ -202,13 +207,14 @@
         "./libs/bluetooth-freertos/platform/common/cybt_platform_task.c",
         "./libs/bluetooth-freertos/platform/common/cybt_platform_trace.c",
         "./libs/bluetooth-freertos/platform/common/cybt_prm.c",
+        "./libs/bluetooth-freertos/platform/debug/cybt_debug_uart.c",
         "./libs/bluetooth-freertos/platform/freertos/cybt_platform_freertos.c",
-        "./libs/clib-support/cy_mutex_pool.c",
         "./libs/clib-support/cy_time.c",
         "./libs/connectivity-utilities/JSON_parser/cy_json_parser.c",
         "./libs/connectivity-utilities/cy_log/cy_log.c",
         "./libs/connectivity-utilities/cy_string/cy_string_utils.c",
         "./libs/connectivity-utilities/linked_list/cy_linked_list.c",
+        "./libs/connectivity-utilities/network/cy_nw_helper_common.c",
         "./libs/freertos/Source/croutine.c",
         "./libs/freertos/Source/event_groups.c",
         "./libs/freertos/Source/list.c",
@@ -309,7 +315,6 @@
         "./libs/mbedtls/library/md2.c",
         "./libs/mbedtls/library/md4.c",
         "./libs/mbedtls/library/md5.c",
-        "./libs/mbedtls/library/md_wrap.c",
         "./libs/mbedtls/library/memory_buffer_alloc.c",
         "./libs/mbedtls/library/nist_kw.c",
         "./libs/mbedtls/library/oid.c",
@@ -325,6 +330,11 @@
         "./libs/mbedtls/library/platform.c",
         "./libs/mbedtls/library/platform_util.c",
         "./libs/mbedtls/library/poly1305.c",
+        "./libs/mbedtls/library/psa_crypto.c",
+        "./libs/mbedtls/library/psa_crypto_se.c",
+        "./libs/mbedtls/library/psa_crypto_slot_management.c",
+        "./libs/mbedtls/library/psa_crypto_storage.c",
+        "./libs/mbedtls/library/psa_its_file.c",
         "./libs/mbedtls/library/ripemd160.c",
         "./libs/mbedtls/library/rsa.c",
         "./libs/mbedtls/library/rsa_internal.c",
@@ -335,9 +345,11 @@
         "./libs/mbedtls/library/ssl_ciphersuites.c",
         "./libs/mbedtls/library/ssl_cli.c",
         "./libs/mbedtls/library/ssl_cookie.c",
+        "./libs/mbedtls/library/ssl_msg.c",
         "./libs/mbedtls/library/ssl_srv.c",
         "./libs/mbedtls/library/ssl_ticket.c",
         "./libs/mbedtls/library/ssl_tls.c",
+        "./libs/mbedtls/library/ssl_tls13_keys.c",
         "./libs/mbedtls/library/threading.c",
         "./libs/mbedtls/library/timing.c",
         "./libs/mbedtls/library/version.c",
@@ -350,7 +362,54 @@
         "./libs/mbedtls/library/x509write_crt.c",
         "./libs/mbedtls/library/x509write_csr.c",
         "./libs/mbedtls/library/xtea.c",
+        "./libs/mtb-hal-cat1/source/cyhal_adc_mic.c",
+        "./libs/mtb-hal-cat1/source/cyhal_adc_sar.c",
+        "./libs/mtb-hal-cat1/source/cyhal_analog_common.c",
+        "./libs/mtb-hal-cat1/source/cyhal_audio_common.c",
+        "./libs/mtb-hal-cat1/source/cyhal_clock.c",
+        "./libs/mtb-hal-cat1/source/cyhal_comp.c",
+        "./libs/mtb-hal-cat1/source/cyhal_comp_ctb.c",
+        "./libs/mtb-hal-cat1/source/cyhal_comp_lp.c",
+        "./libs/mtb-hal-cat1/source/cyhal_crc.c",
+        "./libs/mtb-hal-cat1/source/cyhal_crypto_common.c",
+        "./libs/mtb-hal-cat1/source/cyhal_dac.c",
+        "./libs/mtb-hal-cat1/source/cyhal_dma.c",
+        "./libs/mtb-hal-cat1/source/cyhal_dma_dmac.c",
+        "./libs/mtb-hal-cat1/source/cyhal_dma_dw.c",
+        "./libs/mtb-hal-cat1/source/cyhal_ezi2c.c",
+        "./libs/mtb-hal-cat1/source/cyhal_flash.c",
+        "./libs/mtb-hal-cat1/source/cyhal_gpio.c",
+        "./libs/mtb-hal-cat1/source/cyhal_hwmgr.c",
+        "./libs/mtb-hal-cat1/source/cyhal_i2c.c",
+        "./libs/mtb-hal-cat1/source/cyhal_i2s.c",
+        "./libs/mtb-hal-cat1/source/cyhal_interconnect.c",
+        "./libs/mtb-hal-cat1/source/cyhal_irq_psoc.c",
+        "./libs/mtb-hal-cat1/source/cyhal_keyscan.c",
+        "./libs/mtb-hal-cat1/source/cyhal_lptimer.c",
+        "./libs/mtb-hal-cat1/source/cyhal_opamp.c",
+        "./libs/mtb-hal-cat1/source/cyhal_pdmpcm.c",
+        "./libs/mtb-hal-cat1/source/cyhal_pwm.c",
+        "./libs/mtb-hal-cat1/source/cyhal_qspi.c",
+        "./libs/mtb-hal-cat1/source/cyhal_quaddec.c",
+        "./libs/mtb-hal-cat1/source/cyhal_rtc.c",
+        "./libs/mtb-hal-cat1/source/cyhal_scb_common.c",
+        "./libs/mtb-hal-cat1/source/cyhal_sdhc.c",
+        "./libs/mtb-hal-cat1/source/cyhal_spi.c",
+        "./libs/mtb-hal-cat1/source/cyhal_syspm.c",
+        "./libs/mtb-hal-cat1/source/cyhal_system.c",
+        "./libs/mtb-hal-cat1/source/cyhal_tcpwm_common.c",
+        "./libs/mtb-hal-cat1/source/cyhal_tdm.c",
+        "./libs/mtb-hal-cat1/source/cyhal_timer.c",
+        "./libs/mtb-hal-cat1/source/cyhal_trng.c",
+        "./libs/mtb-hal-cat1/source/cyhal_uart.c",
+        "./libs/mtb-hal-cat1/source/cyhal_udb_sdio.c",
+        "./libs/mtb-hal-cat1/source/cyhal_usb_dev.c",
+        "./libs/mtb-hal-cat1/source/cyhal_utils.c",
+        "./libs/mtb-hal-cat1/source/cyhal_utils_psoc.c",
+        "./libs/mtb-hal-cat1/source/cyhal_wdt.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_adcmic.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_ble_clk.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_btss.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_canfd.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_crypto.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_crypto_core_aes_v1.c",
@@ -380,22 +439,30 @@
         "./libs/mtb-pdl-cat1/drivers/source/cy_crypto_core_trng_v2.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_crypto_core_vu.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_crypto_server.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_cryptolite.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_csd.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_ctb.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_ctdac.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_dma.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_dmac.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_efuse.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_efuse_v3.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_flash.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_gpio.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_i2s.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_ipc_bt.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_ipc_drv.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_ipc_pipe.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_ipc_sema.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_keyscan.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_lin.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_lpcomp.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_lvd.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_mcwdt.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_pd_pdcm.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_pd_ppu.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_pdm_pcm.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_pdm_pcm_v2.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_pra.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_pra_cfg.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_profile.c",
@@ -412,30 +479,38 @@
         "./libs/mtb-pdl-cat1/drivers/source/cy_smartio.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_smif.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_smif_memslot.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_smif_sfdp.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_sysanalog.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_sysclk.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_sysclk_v2.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_sysint.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_sysint_v2.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_syslib.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_syspm.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_syspm_v2.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_systick.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_systick_v2.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_tcpwm_counter.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_tcpwm_pwm.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_tcpwm_quaddec.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_tcpwm_shiftreg.c",
+        "./libs/mtb-pdl-cat1/drivers/source/cy_tdm.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_trigmux.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_usbfs_dev_drv.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_usbfs_dev_drv_io.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_usbfs_dev_drv_io_dma.c",
         "./libs/mtb-pdl-cat1/drivers/source/cy_wdt.c",
+        "./libs/mtb-pdl-cat1/drivers/source/ppu_v1.c",
         "./libs/retarget-io/cy_retarget_io.c",
+        "./libs/secure-sockets/source/cy_pkcs_psa_logging.c",
         "./libs/secure-sockets/source/cy_tls_weak.c",
         "./libs/serial-flash/cy_serial_flash_prog.c",
         "./libs/serial-flash/cy_serial_flash_qspi.c",
-        "./libs/whd-bsp-integration/cy_network_buffer.c",
         "./libs/whd-bsp-integration/cybsp_wifi.c",
         "./libs/wifi-host-driver/WiFi_Host_Driver/resources/resource_imp/whd_resources.c",
         "./libs/wifi-host-driver/WiFi_Host_Driver/src/bus_protocols/whd_bus.c",
         "./libs/wifi-host-driver/WiFi_Host_Driver/src/bus_protocols/whd_bus_common.c",
+        "./libs/wifi-host-driver/WiFi_Host_Driver/src/bus_protocols/whd_bus_m2m_protocol.c",
         "./libs/wifi-host-driver/WiFi_Host_Driver/src/bus_protocols/whd_bus_sdio_protocol.c",
         "./libs/wifi-host-driver/WiFi_Host_Driver/src/bus_protocols/whd_bus_spi_protocol.c",
         "./libs/wifi-host-driver/WiFi_Host_Driver/src/whd_ap.c",
@@ -458,7 +533,7 @@
         "./libs/wifi-host-driver/WiFi_Host_Driver/src/whd_wifi_p2p.c",
         "./libs/wifi-mw-core/lwip-whd-port/cy_lwip.c",
         "./libs/wifi-mw-core/lwip-whd-port/cy_lwip_dhcp_server.c",
-        "./libs/clib-support/TOOLCHAIN_GCC_ARM/cy_newlib_freertos.c",
+        "./libs/clib-support/TOOLCHAIN_GCC_ARM/cy_clib_support_newlib.c",
         "./libs/TARGET_CY8CKIT-062S2-43012/bluetooth/cybsp_bt_config.c",
         "./libs/TARGET_CY8CKIT-062S2-43012/cybsp.c",
         "./libs/TARGET_CY8CKIT-062S2-43012/COMPONENT_BSP_DESIGN_MODUS/GeneratedSource/cycfg.c",
@@ -472,77 +547,33 @@
         "./libs/TARGET_CY8CKIT-062S2-43012/COMPONENT_CM4/system_psoc6_cm4.c",
         "./libs/abstraction-rtos/source/COMPONENT_FREERTOS/cyabs_freertos_helpers.c",
         "./libs/abstraction-rtos/source/COMPONENT_FREERTOS/cyabs_rtos_freertos.c",
-        "./libs/bluetooth-freertos/firmware/COMPONENT_43012/TARGET_CY8CKIT_062S2_43012/w_bt_firmware_controller.c",
+        "./libs/bluetooth-freertos/firmware/COMPONENT_43012/COMPONENT_MURATA-1LV/COMPONENT_HCI-UART/w_bt_firmware_controller.c",
+        "./libs/clib-support/COMPONENT_FREERTOS/cy_mutex_pool.c",
         "./libs/connectivity-utilities/network/COMPONENT_LWIP/cy_nw_helper.c",
         "./libs/freertos/Source/portable/COMPONENT_CM4/TOOLCHAIN_GCC_ARM/port.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/cyhal_deprecated.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_104_m_csp_ble.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_104_m_csp_ble_usb.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_116_bga_ble.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_116_bga_usb.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_124_bga.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_124_bga_sip.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_43_smt.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_68_qfn_ble.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_80_wlcsp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_02_100_wlcsp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_02_124_bga.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_02_128_tqfp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_02_68_qfn.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_03_100_tqfp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_03_49_wlcsp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_03_68_qfn.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_04_64_tqfp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_04_68_qfn.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_04_80_tqfp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/triggers/cyhal_triggers_psoc6_01.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/triggers/cyhal_triggers_psoc6_02.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/triggers/cyhal_triggers_psoc6_03.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/COMPONENT_CAT1A/source/triggers/cyhal_triggers_psoc6_04.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_adc_mic.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_adc_sar.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_analog_common.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_audio_common.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_clock.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_comp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_comp_ctb.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_comp_lp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_crc.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_crypto_common.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_dac.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_dma.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_dma_dmac.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_dma_dw.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_ezi2c.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_flash.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_gpio.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_hwmgr.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_i2c.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_i2s.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_interconnect.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_keyscan.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_lptimer.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_opamp.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_pdmpcm.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_pwm.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_qspi.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_quaddec.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_rtc.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_scb_common.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_sdhc.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_spi.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_syspm.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_system.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_tcpwm_common.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_tdm.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_timer.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_trng.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_uart.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_udb_sdio.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_usb_dev.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_utils.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_utils_psoc.c",
-        "./libs/mtb-hal-cat1/COMPONENT_PSOC6HAL/source/cyhal_wdt.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_104_m_csp_ble.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_104_m_csp_ble_usb.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_116_bga_ble.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_116_bga_usb.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_124_bga.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_124_bga_sip.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_43_smt.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_68_qfn_ble.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_01_80_wlcsp.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_02_100_wlcsp.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_02_124_bga.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_02_128_tqfp.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_02_68_qfn.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_03_100_tqfp.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_03_49_wlcsp.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_03_68_qfn.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_04_64_tqfp.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_04_68_qfn.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/pin_packages/cyhal_psoc6_04_80_tqfp.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/triggers/cyhal_triggers_psoc6_01.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/triggers/cyhal_triggers_psoc6_02.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/triggers/cyhal_triggers_psoc6_03.c",
+        "./libs/mtb-hal-cat1/COMPONENT_CAT1A/source/triggers/cyhal_triggers_psoc6_04.c",
         "./libs/mtb-pdl-cat1/devices/COMPONENT_CAT1A/source/cy_device.c",
         "./libs/psoc6cm0p/COMPONENT_CM0P_SLEEP/psoc6_01_cm0p_sleep.c",
         "./libs/psoc6cm0p/COMPONENT_CM0P_SLEEP/psoc6_02_cm0p_sleep.c",
@@ -550,13 +581,15 @@
         "./libs/psoc6cm0p/COMPONENT_CM0P_SLEEP/psoc6_04_cm0p_sleep.c",
         "./libs/secure-sockets/source/COMPONENT_LWIP/cy_secure_sockets.c",
         "./libs/secure-sockets/source/COMPONENT_MBEDTLS/cy_tls.c",
+        "./libs/secure-sockets/source/COMPONENT_MBEDTLS/iot_crypto.c",
+        "./libs/whd-bsp-integration/COMPONENT_LWIP/cy_network_buffer_lwip.c",
         "./libs/wifi-connection-manager/source/COMPONENT_LWIP/cy_wcm.c",
         "./libs/wifi-connection-manager/source/COMPONENT_MBEDTLS/cy_wps_aes_ctr_ccm.c",
         "./libs/wifi-connection-manager/source/COMPONENT_MBEDTLS/cy_wps_crypto.c",
+        "./libs/wifi-host-driver/WiFi_Host_Driver/resources/clm/COMPONENT_43012/43012C0-mfgtest_clm_blob.c",
+        "./libs/wifi-host-driver/WiFi_Host_Driver/resources/clm/COMPONENT_43012/43012C0_clm_blob.c",
         "./libs/wifi-host-driver/WiFi_Host_Driver/resources/firmware/COMPONENT_43012/43012C0-mfgtest_bin.c",
-        "./libs/wifi-host-driver/WiFi_Host_Driver/resources/firmware/COMPONENT_43012/43012C0-mfgtest_clm_blob.c",
         "./libs/wifi-host-driver/WiFi_Host_Driver/resources/firmware/COMPONENT_43012/43012C0_bin.c",
-        "./libs/wifi-host-driver/WiFi_Host_Driver/resources/firmware/COMPONENT_43012/43012C0_clm_blob.c",
         "./arch/sys_arch.c"
     ],
     "cxx_source": [],
diff --git a/third_party/p6/p6_sdk/configs/mbedtls_user_config.h b/third_party/p6/p6_sdk/configs/mbedtls_user_config.h
index 59fd91e..45a1fd8 100644
--- a/third_party/p6/p6_sdk/configs/mbedtls_user_config.h
+++ b/third_party/p6/p6_sdk/configs/mbedtls_user_config.h
@@ -1,5 +1,5 @@
 /**
- * \file mbedtls_user_config.h
+ * \file config.h
  *
  * \brief Configuration options (set of defines)
  *
@@ -468,7 +468,7 @@
  *
  * This module is required for X.509 CRL parsing.
  */
-#undef MBEDTLS_X509_CRL_PARSE_C
+//#undef MBEDTLS_X509_CRL_PARSE_C
 
 /**
  * \def MBEDTLS_X509_CSR_PARSE_C
@@ -521,7 +521,7 @@
  *
  * This module is required for X.509 certificate creation.
  */
-#undef MBEDTLS_X509_CRT_WRITE_C
+//#undef MBEDTLS_X509_CRT_WRITE_C
 
 /**
  * \def MBEDTLS_CERTS_C
@@ -705,21 +705,78 @@
 #undef MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
 
 /**
- * Allow SHA-1 in the default TLS configuration for certificate signing if
- * enabled in the application Makefile.
+ * \def MBEDTLS_PSA_CRYPTO_C
  *
- * Without this build-time option, SHA-1 support must be activated explicitly
- * through mbedtls_ssl_conf_cert_profile. Turning on this option is not
- * recommended because of it is possible to generate SHA-1 collisions, however
- * this may be safe for legacy infrastructure where additional controls apply.
+ * Enable the Platform Security Architecture cryptography API.
  *
- * \warning   SHA-1 is considered a weak message digest and its use constitutes
- *            a security risk. If possible, we recommend avoiding dependencies
- *            on it, and considering stronger message digests instead.
+ * \warning The PSA Crypto API is still beta status. While you're welcome to
+ * experiment using it, incompatible API changes are still possible, and some
+ * parts may not have reached the same quality as the rest of Mbed TLS yet.
+ *
+ * Module:  library/psa_crypto.c
+ *
+ * Requires: MBEDTLS_CTR_DRBG_C, MBEDTLS_ENTROPY_C
  *
  */
-#ifdef CY_MQTT_ENABLE_SECURE_TEST_MOSQUITTO_SUPPORT
-#define MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_CERTIFICATES
-#endif
+#undef MBEDTLS_PSA_CRYPTO_C
+
+/**
+ * \def MBEDTLS_PSA_CRYPTO_STORAGE_C
+ *
+ * Enable the Platform Security Architecture persistent key storage.
+ *
+ * Module:  library/psa_crypto_storage.c
+ *
+ * Requires: MBEDTLS_PSA_CRYPTO_C,
+ *           either MBEDTLS_PSA_ITS_FILE_C or a native implementation of
+ *           the PSA ITS interface
+ */
+#undef MBEDTLS_PSA_CRYPTO_STORAGE_C
+
+/**
+ * \def MBEDTLS_PSA_ITS_FILE_C
+ *
+ * Enable the emulation of the Platform Security Architecture
+ * Internal Trusted Storage (PSA ITS) over files.
+ *
+ * Module:  library/psa_its_file.c
+ *
+ * Requires: MBEDTLS_FS_IO
+ */
+#undef MBEDTLS_PSA_ITS_FILE_C
+
+/**
+ * \def MBEDTLS_SSL_KEEP_PEER_CERTIFICATE
+ *
+ * This option controls the availability of the API mbedtls_ssl_get_peer_cert()
+ * giving access to the peer's certificate after completion of the handshake.
+ *
+ * Unless you need mbedtls_ssl_peer_cert() in your application, it is
+ * recommended to disable this option for reduced RAM usage.
+ *
+ * \note If this option is disabled, mbedtls_ssl_get_peer_cert() is still
+ *       defined, but always returns \c NULL.
+ *
+ * \note This option has no influence on the protection against the
+ *       triple handshake attack. Even if it is disabled, Mbed TLS will
+ *       still ensure that certificates do not change during renegotiation,
+ *       for exaple by keeping a hash of the peer's certificate.
+ *
+ * Comment this macro to disable storing the peer's certificate
+ * after the handshake.
+ */
+#undef MBEDTLS_SSL_KEEP_PEER_CERTIFICATE
+
+/**
+ * \def MBEDTLS_DEPRECATED_REMOVED
+ *
+ * Remove deprecated functions and features so that they generate an error if
+ * used. Functionality deprecated in one version will usually be removed in the
+ * next version. You can enable this to help you prepare the transition to a
+ * new major version by making sure your code is not using this functionality.
+ *
+ * Uncomment to get errors on using deprecated functions and features.
+ */
+#define MBEDTLS_DEPRECATED_REMOVED
 
 #endif /* MBEDTLS_USER_CONFIG_HEADER */
diff --git a/third_party/p6/p6_sdk/libs/TARGET_CY8CKIT-062S2-43012 b/third_party/p6/p6_sdk/libs/TARGET_CY8CKIT-062S2-43012
index b5ab9e8..7f3840a 160000
--- a/third_party/p6/p6_sdk/libs/TARGET_CY8CKIT-062S2-43012
+++ b/third_party/p6/p6_sdk/libs/TARGET_CY8CKIT-062S2-43012
@@ -1 +1 @@
-Subproject commit b5ab9e8d529b7d94d4d4ee3d521ba6f2a42f06b3
+Subproject commit 7f3840aab53ff773c5d95eaedb5aaaae9dd2af45
diff --git a/third_party/p6/p6_sdk/libs/abstraction-rtos b/third_party/p6/p6_sdk/libs/abstraction-rtos
index d083ab1..23800dd 160000
--- a/third_party/p6/p6_sdk/libs/abstraction-rtos
+++ b/third_party/p6/p6_sdk/libs/abstraction-rtos
@@ -1 +1 @@
-Subproject commit d083ab11d7d3f151ea1ae90c1e779b261e073034
+Subproject commit 23800dd03bf46064930127b22f915807cacbc1e7
diff --git a/third_party/p6/p6_sdk/libs/bluetooth-freertos b/third_party/p6/p6_sdk/libs/bluetooth-freertos
index 634ad19..e0d13d8 160000
--- a/third_party/p6/p6_sdk/libs/bluetooth-freertos
+++ b/third_party/p6/p6_sdk/libs/bluetooth-freertos
@@ -1 +1 @@
-Subproject commit 634ad198af17a4d84dc8aa62d3ae38faadd1987b
+Subproject commit e0d13d8e1f49f5522043133856fa268d1a279b32
diff --git a/third_party/p6/p6_sdk/libs/btstack b/third_party/p6/p6_sdk/libs/btstack
index 5f82d08..34e7ee4 160000
--- a/third_party/p6/p6_sdk/libs/btstack
+++ b/third_party/p6/p6_sdk/libs/btstack
@@ -1 +1 @@
-Subproject commit 5f82d0813f139325310087d01e7de10aaa0e59c4
+Subproject commit 34e7ee4b7de542a9f8f779389eccc2a3886c3dbf
diff --git a/third_party/p6/p6_sdk/libs/clib-support b/third_party/p6/p6_sdk/libs/clib-support
index 4a63ab0..8be98e6 160000
--- a/third_party/p6/p6_sdk/libs/clib-support
+++ b/third_party/p6/p6_sdk/libs/clib-support
@@ -1 +1 @@
-Subproject commit 4a63ab0635609f67e73573973495a058c86ad4f2
+Subproject commit 8be98e6512bb03d11780530c35e23cd723a1cd72
diff --git a/third_party/p6/p6_sdk/libs/connectivity-utilities b/third_party/p6/p6_sdk/libs/connectivity-utilities
index bbed663..7b2f441 160000
--- a/third_party/p6/p6_sdk/libs/connectivity-utilities
+++ b/third_party/p6/p6_sdk/libs/connectivity-utilities
@@ -1 +1 @@
-Subproject commit bbed663a71670b02d362c6f1bd69fe970ff814ec
+Subproject commit 7b2f441dce5b748173cdf2a2f3871d7f4562a6e5
diff --git a/third_party/p6/p6_sdk/libs/core-lib b/third_party/p6/p6_sdk/libs/core-lib
index ab67dc9..7e6892e 160000
--- a/third_party/p6/p6_sdk/libs/core-lib
+++ b/third_party/p6/p6_sdk/libs/core-lib
@@ -1 +1 @@
-Subproject commit ab67dc9b428c1ac0d6e34ff4b1d67d5cedb20a7a
+Subproject commit 7e6892ee1eeabc8f6c25fbf02cb00ff43bd3ac73
diff --git a/third_party/p6/p6_sdk/libs/core-make b/third_party/p6/p6_sdk/libs/core-make
index 0afbd06..251ade9 160000
--- a/third_party/p6/p6_sdk/libs/core-make
+++ b/third_party/p6/p6_sdk/libs/core-make
@@ -1 +1 @@
-Subproject commit 0afbd06b571673034a9a2508d29ab1635766bb0f
+Subproject commit 251ade90cd56005369ced67cf0583171783b1cd1
diff --git a/third_party/p6/p6_sdk/libs/freertos b/third_party/p6/p6_sdk/libs/freertos
index d3bf12c..eec6019 160000
--- a/third_party/p6/p6_sdk/libs/freertos
+++ b/third_party/p6/p6_sdk/libs/freertos
@@ -1 +1 @@
-Subproject commit d3bf12c52cc9ebaee1fb85ed2da60df8a6e25744
+Subproject commit eec60193e7f5d4e239bc9c8e6c0c6e88eb3ecdb4
diff --git a/third_party/p6/p6_sdk/libs/mbedtls b/third_party/p6/p6_sdk/libs/mbedtls
index abc4602..1c54b54 160000
--- a/third_party/p6/p6_sdk/libs/mbedtls
+++ b/third_party/p6/p6_sdk/libs/mbedtls
@@ -1 +1 @@
-Subproject commit abc460236f17be148036e2c7e07e6a05f938b656
+Subproject commit 1c54b5410fd48d6bcada97e30cac417c5c7eea67
diff --git a/third_party/p6/p6_sdk/libs/mtb-hal-cat1 b/third_party/p6/p6_sdk/libs/mtb-hal-cat1
index f468ebe..708a6b2 160000
--- a/third_party/p6/p6_sdk/libs/mtb-hal-cat1
+++ b/third_party/p6/p6_sdk/libs/mtb-hal-cat1
@@ -1 +1 @@
-Subproject commit f468ebe53b8df9485e32ac8cd18d9225280ae415
+Subproject commit 708a6b2542f0d8814c129a3141e78fd265826a0b
diff --git a/third_party/p6/p6_sdk/libs/mtb-pdl-cat1 b/third_party/p6/p6_sdk/libs/mtb-pdl-cat1
index 255d23f..3c6aebd 160000
--- a/third_party/p6/p6_sdk/libs/mtb-pdl-cat1
+++ b/third_party/p6/p6_sdk/libs/mtb-pdl-cat1
@@ -1 +1 @@
-Subproject commit 255d23f774f5b14343d022bea5b3fc67be7d6d39
+Subproject commit 3c6aebd2f3238b578329bfb8a6c5a0e138bd5c7b
diff --git a/third_party/p6/p6_sdk/libs/psoc6cm0p b/third_party/p6/p6_sdk/libs/psoc6cm0p
index 2b8e6d7..6556957 160000
--- a/third_party/p6/p6_sdk/libs/psoc6cm0p
+++ b/third_party/p6/p6_sdk/libs/psoc6cm0p
@@ -1 +1 @@
-Subproject commit 2b8e6d793331834965e814fdc945f7d0451a0ee5
+Subproject commit 65569574830d3eef29fb9a0f1060eb0885063b56
diff --git a/third_party/p6/p6_sdk/libs/recipe-make-cat1a b/third_party/p6/p6_sdk/libs/recipe-make-cat1a
index c44efd9..656d8c5 160000
--- a/third_party/p6/p6_sdk/libs/recipe-make-cat1a
+++ b/third_party/p6/p6_sdk/libs/recipe-make-cat1a
@@ -1 +1 @@
-Subproject commit c44efd9d4e2d1811e45576c9c76b61f9451f5690
+Subproject commit 656d8c5b4fbd1e20190315ffb6a64ae151f627c9
diff --git a/third_party/p6/p6_sdk/libs/retarget-io b/third_party/p6/p6_sdk/libs/retarget-io
index 135a764..a61cd7c 160000
--- a/third_party/p6/p6_sdk/libs/retarget-io
+++ b/third_party/p6/p6_sdk/libs/retarget-io
@@ -1 +1 @@
-Subproject commit 135a764cb356d49d8b55780d63239116c413c7c1
+Subproject commit a61cd7c5f4b2808c949248f05287c09e6578abfc
diff --git a/third_party/p6/p6_sdk/libs/secure-sockets b/third_party/p6/p6_sdk/libs/secure-sockets
index af2bd13..afb9546 160000
--- a/third_party/p6/p6_sdk/libs/secure-sockets
+++ b/third_party/p6/p6_sdk/libs/secure-sockets
@@ -1 +1 @@
-Subproject commit af2bd139cd3762ea45c027ae25e8a21b6d9fc3d4
+Subproject commit afb9546877915d22f226afd1ddb3b15a1df38bd3
diff --git a/third_party/p6/p6_sdk/libs/serial-flash b/third_party/p6/p6_sdk/libs/serial-flash
index db4a5dd..c7b55aa 160000
--- a/third_party/p6/p6_sdk/libs/serial-flash
+++ b/third_party/p6/p6_sdk/libs/serial-flash
@@ -1 +1 @@
-Subproject commit db4a5dd646629ac31d669b4ed943d8ab1fa4a9d7
+Subproject commit c7b55aa5406e6da9954f60e5f5460b71cd220ef2
diff --git a/third_party/p6/p6_sdk/libs/whd-bsp-integration b/third_party/p6/p6_sdk/libs/whd-bsp-integration
index 30d33bc..c180a14 160000
--- a/third_party/p6/p6_sdk/libs/whd-bsp-integration
+++ b/third_party/p6/p6_sdk/libs/whd-bsp-integration
@@ -1 +1 @@
-Subproject commit 30d33bca1faeef183cf7480526667124ec7efb14
+Subproject commit c180a141838d02aea52f86967772f8216fc15a18
diff --git a/third_party/p6/p6_sdk/libs/wifi-connection-manager b/third_party/p6/p6_sdk/libs/wifi-connection-manager
index e0375bb..43a355a 160000
--- a/third_party/p6/p6_sdk/libs/wifi-connection-manager
+++ b/third_party/p6/p6_sdk/libs/wifi-connection-manager
@@ -1 +1 @@
-Subproject commit e0375bb94455b304b6ebb866fdce1ff4bbf6b922
+Subproject commit 43a355a7c4234953f35860e9bf52ad1376bd62ba
diff --git a/third_party/p6/p6_sdk/libs/wifi-host-driver b/third_party/p6/p6_sdk/libs/wifi-host-driver
index 19968e1..d2a1222 160000
--- a/third_party/p6/p6_sdk/libs/wifi-host-driver
+++ b/third_party/p6/p6_sdk/libs/wifi-host-driver
@@ -1 +1 @@
-Subproject commit 19968e1b77db296b1be9f1352147f615200354f2
+Subproject commit d2a12226145f63d870ef789ee88a1d9a28edcee0
diff --git a/third_party/p6/p6_sdk/libs/wifi-mw-core b/third_party/p6/p6_sdk/libs/wifi-mw-core
index 906346a..1024dbf 160000
--- a/third_party/p6/p6_sdk/libs/wifi-mw-core
+++ b/third_party/p6/p6_sdk/libs/wifi-mw-core
@@ -1 +1 @@
-Subproject commit 906346acbb093364f92a720d830d1c191ffbdc89
+Subproject commit 1024dbf4a0ff979a233169558d9b8ca7e79b34ee