From 1952a26d5e2a5de444fce47d6d05c099ba3f69f6 Mon Sep 17 00:00:00 2001 From: cjin Date: Wed, 26 Apr 2023 10:31:11 +0800 Subject: [PATCH 1/2] ble:add version num support for esp32c6 chip --- components/bt/controller/esp32c6/bt.c | 10 +++++++++- components/bt/include/esp32c6/include/esp_bt.h | 4 ++-- components/bt/include/esp32c6/include/esp_bt_cfg.h | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/components/bt/controller/esp32c6/bt.c b/components/bt/controller/esp32c6/bt.c index e4626bf987..1b4a93371e 100644 --- a/components/bt/controller/esp32c6/bt.c +++ b/components/bt/controller/esp32c6/bt.c @@ -50,6 +50,8 @@ #include "esp_private/periph_ctrl.h" #include "esp_sleep.h" +#include "hal/efuse_hal.h" + /* Macro definition ************************************************************************ */ @@ -565,6 +567,7 @@ void controller_sleep_deinit(void) esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg) { uint8_t mac[6]; + uint32_t chip_version; esp_err_t ret = ESP_OK; ble_npl_count_info_t npl_info; @@ -626,7 +629,12 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg) /* Enable BT-related clocks */ modem_clock_module_enable(PERIPH_BT_MODULE); - modem_clock_select_lp_clock_source(PERIPH_BT_MODULE, MODEM_CLOCK_LPCLK_SRC_MAIN_XTAL, 249); + chip_version = efuse_hal_chip_revision(); + if (chip_version == 0) { + modem_clock_select_lp_clock_source(PERIPH_BT_MODULE, MODEM_CLOCK_LPCLK_SRC_MAIN_XTAL, (160 - 1)); + } else{ + modem_clock_select_lp_clock_source(PERIPH_BT_MODULE, MODEM_CLOCK_LPCLK_SRC_MAIN_XTAL, (2 - 1)); + } esp_phy_modem_init(); esp_phy_enable(); esp_btbb_enable(); diff --git a/components/bt/include/esp32c6/include/esp_bt.h b/components/bt/include/esp32c6/include/esp_bt.h index 4b44099fed..f8eb6a2af9 100644 --- a/components/bt/include/esp32c6/include/esp_bt.h +++ b/components/bt/include/esp32c6/include/esp_bt.h @@ -15,6 +15,7 @@ #include "nimble/nimble_npl.h" #include "esp_bt_cfg.h" +#include "hal/efuse_hal.h" #ifdef CONFIG_BT_LE_HCI_INTERFACE_USE_UART #include "driver/uart.h" @@ -23,7 +24,6 @@ #ifdef __cplusplus extern "C" { #endif - /** * @brief Bluetooth mode for controller enable/disable */ @@ -258,7 +258,7 @@ typedef struct { .dis_scan_backoff = NIMBLE_DISABLE_SCAN_BACKOFF, \ .ble_scan_classify_filter_enable = 0, \ .main_xtal_freq = CONFIG_XTAL_FREQ, \ - .version_num = 0, \ + .version_num = efuse_hal_chip_revision(), \ .cpu_freq_mhz = CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ, \ .ignore_wl_for_direct_adv = 0, \ .enable_pcl = DEFAULT_BT_LE_POWER_CONTROL_ENABLED, \ diff --git a/components/bt/include/esp32c6/include/esp_bt_cfg.h b/components/bt/include/esp32c6/include/esp_bt_cfg.h index 64567bccaf..658e39ae4e 100644 --- a/components/bt/include/esp32c6/include/esp_bt_cfg.h +++ b/components/bt/include/esp32c6/include/esp_bt_cfg.h @@ -196,7 +196,7 @@ extern "C" { #define BLE_LL_CONN_DEF_AUTH_PYLD_TMO_N (3000) -#define RTC_FREQ_N (160000) /* in Hz */ +#define RTC_FREQ_N (250000) /* in Hz */ #define BLE_LL_TX_PWR_DBM_N (9) From 41ea20908b1b5770cec4b207797b0d09bd7746a2 Mon Sep 17 00:00:00 2001 From: cjin Date: Fri, 5 May 2023 16:57:54 +0800 Subject: [PATCH 2/2] BLE: update ble lib Added version support for esp32c6 eco1 --- components/bt/controller/lib_esp32c6/esp32c6-bt-lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/bt/controller/lib_esp32c6/esp32c6-bt-lib b/components/bt/controller/lib_esp32c6/esp32c6-bt-lib index 31146e6b98..4acaf13af2 160000 --- a/components/bt/controller/lib_esp32c6/esp32c6-bt-lib +++ b/components/bt/controller/lib_esp32c6/esp32c6-bt-lib @@ -1 +1 @@ -Subproject commit 31146e6b988ed0f829dc9e6c6b6262a24206e57f +Subproject commit 4acaf13af2f9888ffa66b3a2f53c8bdb5cedaca7