Explorar el Código

Refactor Kconfig options structure

Geng Yuchao hace 3 años
padre
commit
02636688eb
Se han modificado 3 ficheros con 188 adiciones y 526 borrados
  1. 29 17
      components/bt/Kconfig
  2. 1 240
      components/bt/host/bluedroid/Kconfig.in
  3. 158 269
      components/bt/host/nimble/Kconfig.in

+ 29 - 17
components/bt/Kconfig

@@ -7,20 +7,8 @@ menu "Bluetooth"
         help
             Select this option to enable Bluetooth and show the submenu with Bluetooth configuration choices.
 
-    config BT_SOC_SUPPORT_5_0
-        bool
-        depends on BT_ENABLED && (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3)
-        default y if BT_ENABLED && (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3)
-        default n
-
-    menu "Bluetooth controller"
-        depends on BT_ENABLED
-
-        source "$IDF_PATH/components/bt/controller/$IDF_TARGET/Kconfig.in"
-    endmenu
-
     choice BT_HOST
-        prompt "Bluetooth Host"
+        prompt "Host"
         depends on BT_ENABLED
         default BT_BLUEDROID_ENABLED
         help
@@ -38,7 +26,7 @@ menu "Bluetooth"
                 This option is recommended for BLE only usecases to save on memory
 
         config BT_CONTROLLER_ONLY
-            bool "Controller Only"
+            bool "Disabled"
             help
                 This option is recommended when you want to communicate directly with the
                 controller (without any host) or when you are using any other host stack
@@ -46,17 +34,41 @@ menu "Bluetooth"
 
     endchoice
 
-    menu "Bluedroid Options"
-        depends on BT_BLUEDROID_ENABLED && SOC_BLUEDROID_SUPPORTED
+    choice BT_CONTROLLER
+        prompt "Controller"
+        depends on BT_ENABLED
+        default BT_CONTROLLER_ENABLED
+        help
+            This helps to choose Bluetooth controller stack
+
+        config BT_CONTROLLER_ENABLED
+            bool "Enabled"
+            help
+                This option is recommended for Bluetooth controller usecases
+                This option is recommended for Bluetooth controller usecases
 
+        config BT_CONTROLLER_DISABLED
+            bool "Disabled"
+            help
+                This option is recommended for Bluetooth Host only usecases
+
+    endchoice
+
+    menu "Bluedroid Options"
+        depends on BT_BLUEDROID_ENABLED
         source "$IDF_PATH/components/bt/host/bluedroid/Kconfig.in"
     endmenu
+
     menu "NimBLE Options"
         depends on BT_NIMBLE_ENABLED
-
         source "$IDF_PATH/components/bt/host/nimble/Kconfig.in"
     endmenu
 
+    menu "Controller Options"
+        depends on BT_CONTROLLER_ENABLED
+        source "$IDF_PATH/components/bt/controller/$IDF_TARGET/Kconfig.in"
+    endmenu
+
 endmenu
 
 menuconfig BLE_MESH

+ 1 - 240
components/bt/host/bluedroid/Kconfig.in

@@ -26,245 +26,6 @@ config BT_BLUEDROID_PINNED_TO_CORE
     default 1 if BT_BLUEDROID_PINNED_TO_CORE_1
     default 0
 
-config BT_BLE_CONTROLLER_ENABLED
-    bool "Enable BLE controller"
-    depends on SOC_ESP_NIMBLE_CONTROLLER
-    default y
-    help
-            Enable or Disable NimBLE controller
-
-choice BT_BLE_SELECT_HCI_INTERFACE
-    prompt "Select HCI interface"
-    depends on SOC_ESP_NIMBLE_CONTROLLER
-    default BT_BLE_CONTROL_USE_RAM_HCI
-
-    config BT_BLE_CONTROL_USE_RAM_HCI
-        bool "ram"
-        help
-                Use RAM as HCI interface
-    config BT_BLE_CONTROL_USE_UART_HCI
-        bool "uart"
-        help
-                Use UART as HCI interface
-endchoice
-
-config BT_BLE_HCI_EVT_BUF_SIZE
-    int "HCI Event Buffer size"
-    depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
-    default 257 if BT_BLE_EXT_ADV
-    default 70
-    help
-        This is the size of each HCI event buffer in bytes. In case of
-        extended advertising, packets can be fragmented. 257 bytes is the
-        maximum size of a packet.
-
-menuconfig BT_BLE_MEMORY_SETTINGS
-    bool "OS Memory Settings"
-    depends on SOC_ESP_NIMBLE_CONTROLLER
-    default y
-    help
-            Settings memory blocks
-
-config BT_BLE_MSYS_1_BLOCK_COUNT
-    int "MSYS_1 Block Count"
-    depends on BT_BLE_MEMORY_SETTINGS
-    default 12
-    help
-        MSYS is a system level mbuf registry. For prepare write & prepare
-        responses MBUFs are allocated out of msys_1 pool. For NIMBLE_MESH
-        enabled cases, this block count is increased by 8 than user defined
-        count.
-
-config BT_BLE_MSYS_1_BLOCK_SIZE
-    int    "MSYS_1 Block Size"
-    depends on BT_BLE_MEMORY_SETTINGS
-    default 256
-    help
-            Dynamic memory size of block 1
-
-config BT_BLE_MSYS_2_BLOCK_COUNT
-    int    "MSYS_2 Block Count"
-    depends on BT_BLE_MEMORY_SETTINGS
-    default 24
-    help
-            Dynamic memory count
-
-config BT_BLE_MSYS_2_BLOCK_SIZE
-    int    "MSYS_2 Block Size"
-    depends on BT_BLE_MEMORY_SETTINGS
-    default 320
-    help
-            Dynamic memory size of block 2
-
-config BT_BLE_LL_RESOLV_LIST_SIZE
-    int "BLE LL Resolving list size"
-    range 1 5
-    default 5
-    depends on SOC_ESP_NIMBLE_CONTROLLER
-    help
-            Configure the size of resolving list used in link layer.
-
-
-config BT_BLE_HCI_EVT_HI_BUF_COUNT
-    int "High Priority HCI Event Buffer count"
-    depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
-    default 30
-    help
-        This is the high priority HCI events' buffer size. High-priority
-        event buffers are for everything except advertising reports. If there
-        are no free high-priority event buffers then host will try to allocate a
-        low-priority buffer instead
-
-config BT_BLE_HCI_EVT_LO_BUF_COUNT
-    int "Low Priority HCI Event Buffer count"
-    depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
-    default 8
-    help
-        This is the low priority HCI events' buffer size. Low-priority event
-        buffers are only used for advertising reports. If there are no free
-        low-priority event buffers, then an incoming advertising report will
-        get dropped
-
-config BT_BLE_LL_DUP_SCAN_LIST_COUNT
-    int "BLE duplicate scan list count"
-    range 1 20
-    default 10
-    depends on SOC_ESP_NIMBLE_CONTROLLER
-    help
-            config the max count of duplicate scan list
-
-config BT_BLE_MAX_CONNECTIONS
-    int "Maximum number of concurrent connections"
-    range 1 2 if ( SOC_ESP_NIMBLE_CONTROLLER)
-    default 2
-    depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
-    help
-        Defines maximum number of concurrent BLE connections. For ESP32, user
-        is expected to configure BTDM_CTRL_BLE_MAX_CONN from controller menu
-        along with this option. Similarly for ESP32-C3 or ESP32-S3, user is expected to
-        configure BT_CTRL_BLE_MAX_ACT from controller menu.
-
-config BT_BLE_ACL_BUF_COUNT
-    int "ACL Buffer count"
-    depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
-    default 24
-    help
-        The number of ACL data buffers.
-
-config BT_BLE_ACL_BUF_SIZE
-    int "ACL Buffer size"
-    depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
-    default 251
-    help
-        This is the maximum size of the data portion of HCI ACL data packets.
-        It does not include the HCI data header (of 4 bytes)
-
-config BT_BLE_HCI_UART_PORT
-    int "HCI UART port"
-    depends on BT_BLE_USE_UART_HCI
-    default 1
-    help
-        Set the port number of HCI UART
-
-config BT_BLE_HCI_UART_BAUD
-    int "HCI uart baudrate"
-    depends on BT_BLE_USE_UART_HCI
-    default 921600
-    help
-            HCI uart baud rate 115200 ~ 1000000
-
-config BT_BLE_SLEEP_ENABLE
-    bool "Enable BLE sleep"
-    depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
-    default n
-    help
-            Enable BLE sleep
-
-
-choice BT_BLE_COEX_PHY_CODED_TX_RX_TLIM
-    prompt "Coexistence: limit on MAX Tx/Rx time for coded-PHY connection"
-    default BT_BLE_COEX_PHY_CODED_TX_RX_TLIM_DIS
-    depends on ESP32_WIFI_SW_COEXIST_ENABLE && (BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER)
-    help
-            When using PHY-Coded in BLE connection, limitation on max tx/rx time can be applied to
-            better avoid dramatic performance deterioration of Wi-Fi.
-
-        config BT_BLE_COEX_PHY_CODED_TX_RX_TLIM_EN
-            bool "Force Enable"
-            help
-                Always enable the limitation on max tx/rx time for Coded-PHY connection
-
-        config BT_BLE_COEX_PHY_CODED_TX_RX_TLIM_DIS
-            bool "Force Disable"
-            help
-                Disable the limitation on max tx/rx time for Coded-PHY connection
-endchoice
-
-config BT_BLE_COEX_PHY_CODED_TX_RX_TLIM_EFF
-    int
-    default 0 if !(ESP32_WIFI_SW_COEXIST_ENABLE && (BT_BLUEDROID_ENABLED || BT_NIMBLE_ENABLED))
-    default 1 if BT_BLE_COEX_PHY_CODED_TX_RX_TLIM_EN
-    default 0 if BT_BLE_COEX_PHY_CODED_TX_RX_TLIM_DIS
-
-config BT_BLE_MAX_BONDS
-    int "Maximum number of bonds to save across reboots"
-    default 3
-    depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
-    help
-        Defines maximum number of bonds to save for peer security and our security
-
-
-config BT_BLE_WHITELIST_SIZE
-    int "BLE white list size"
-    depends on BT_BLUEDROID_ENABLED && SOC_ESP_NIMBLE_CONTROLLER
-    range 1 5
-    default 5
-    help
-            BLE list size
-
-config BT_BLE_CONTROLLER_TASK_STACK_SIZE
-    int "NimBLE Controller task stack size"
-    depends on (BT_BLUEDROID_ENABLED) && SOC_ESP_NIMBLE_CONTROLLER
-    default 5120 if BLE_MESH
-    default 4096
-    help
-            This configures stack size of NimBLE controller task
-
-choice BT_BLE_MEM_ALLOC_MODE
-    prompt "Memory allocation strategy"
-    default BT_BLE_MEM_ALLOC_MODE_INTERNAL
-    depends on SOC_ESP_NIMBLE_CONTROLLER
-    help
-        Allocation strategy for NimBLE host stack, essentially provides ability to
-        allocate all required dynamic allocations from,
-
-        - Internal DRAM memory only
-        - External SPIRAM memory only
-        - Either internal or external memory based on default malloc()
-          behavior in ESP-IDF
-        - Internal IRAM memory wherever applicable else internal DRAM
-
-    config BT_BLE_MEM_ALLOC_MODE_INTERNAL
-        bool "Internal memory"
-
-    config BT_BLE_MEM_ALLOC_MODE_EXTERNAL
-        bool "External SPIRAM"
-        depends on SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC
-
-    config BT_BLE_MEM_ALLOC_MODE_DEFAULT
-        bool "Default alloc mode"
-
-    config BT_BLE_MEM_ALLOC_MODE_IRAM_8BIT
-        bool "Internal IRAM"
-        depends on ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY
-        help
-            Allows to use IRAM memory region as 8bit accessible region.
-
-            Every unaligned (8bit or 16bit) access will result in an exception
-            and incur penalty of certain clock cycles per unaligned read/write.
-
-endchoice #BT_BLE_MEM_ALLOC_MODE
-
 config BT_BTU_TASK_STACK_SIZE
     int "Bluetooth Bluedroid Host Stack task stack size"
     depends on BT_BLUEDROID_ENABLED
@@ -1323,7 +1084,7 @@ config BT_BLE_50_FEATURES_SUPPORTED
 
 config BT_BLE_42_FEATURES_SUPPORTED
     bool "Enable BLE 4.2 features"
-    depends on (BT_BLUEDROID_ENABLED && (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3))
+    depends on (BT_BLUEDROID_ENABLED && (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || SOC_ESP_NIMBLE_CONTROLLER))
     default n
     help
         This enables BLE 4.2 features.

+ 158 - 269
components/bt/host/nimble/Kconfig.in

@@ -1,32 +1,3 @@
-config BT_NIMBLE_CONTROLLER_ENABLED
-    bool "Enable NimBLE controller"
-    depends on BT_NIMBLE_ENABLED && IDF_TARGET_ESP32H2
-    default y
-    help
-            Enable or Disable NimBLE controller
-
-config BT_NIMBLE_CONTROL_SEQUENCE_MODE_ENABLED
-    bool "Enable controller in sequence mode"
-    depends on BT_NIMBLE_CONTROLLER_ENABLED
-    default y
-    help
-            Enable or Disable controller sequence mode
-
-choice
-    prompt "Select HCI interface"
-    depends on BT_NIMBLE_ENABLED && IDF_TARGET_ESP32H2
-    default BT_NIMBLE_CONTROL_USE_RAM_HCI
-
-    config BT_NIMBLE_CONTROL_USE_RAM_HCI
-        bool "ram"
-        help
-                Use RAM as HCI interface
-    config BT_NIMBLE_CONTROL_USE_UART_HCI
-        bool "uart"
-        help
-                Use UART as HCI interface
-endchoice
-
 
 choice BT_NIMBLE_MEM_ALLOC_MODE
     prompt "Memory allocation strategy"
@@ -91,55 +62,13 @@ config BT_NIMBLE_LOG_LEVEL
     default 3 if BT_NIMBLE_LOG_LEVEL_ERROR
     default 4 if BT_NIMBLE_LOG_LEVEL_NONE
 
-
-config BT_NIMBLE_HCI_UART_PORT
-    int "HCI UART port"
-    depends on BT_NIMBLE_USE_UART_HCI
-    default 1
-    help
-        Set the port number of HCI UART
-
-config BT_NIMBLE_HCI_UART_TX_PIN
-    int "HCI uart Tx gpio"
-    depends on BT_NIMBLE_USE_UART_HCI
-    default 19
-
-config BT_NIMBLE_HCI_UART_RX_PIN
-    int "HCI uart Rx gpio"
-    depends on BT_NIMBLE_USE_UART_HCI
-    default 10
-
-config BT_NIMBLE_HCI_UART_TASK_STACK_SIZE
-    int "HCI uart task stack size"
-    depends on BT_NIMBLE_USE_UART_HCI
-    default 1000
-    help
-            Set the size of uart task stack
-
-config BT_NIMBLE_HCI_UART_BAUD
-    int "HCI uart baudrate"
-    depends on BT_NIMBLE_USE_UART_HCI
-    default 921600
-    help
-            HCI uart baud rate 115200 ~ 1000000
-
-config BT_NIMBLE_RUN_QA_TEST
-    bool "Run QA test"
-    default y
-    help
-               Enable this option to run QA test.
-
-config BT_NIMBLE_RUN_BQB_TEST
-    bool "Run BQB test"
-    default n
-    help
-               Enable this option to run BQB test.
-
 config BT_NIMBLE_MAX_CONNECTIONS
     int "Maximum number of concurrent connections"
     range 1 8 if (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32H2)
+    range 1 2 if IDF_TARGET_ESP32C2
     range 1 9 if IDF_TARGET_ESP32
-    default 3
+    default 3 if (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32H2)
+    default 2 if IDF_TARGET_ESP32C2
     depends on BT_NIMBLE_ENABLED
     help
         Defines maximum number of concurrent BLE connections. For ESP32, user
@@ -226,21 +155,6 @@ config BT_NIMBLE_ROLE_OBSERVER
     help
             Enables observer role
 
-config BT_NIMBLE_CONTROLLER_TASK_STACK_SIZE
-    int "NimBLE Controller task stack size"
-    depends on BT_NIMBLE_ENABLED && IDF_TARGET_ESP32H2
-    default 5120 if BLE_MESH
-    default 4096
-    help
-            This configures stack size of NimBLE controller task
-
-config BT_NIMBLE_CONTROLLER_TASK_PRIORITY
-    int "NimBLE Controller task priority"
-    depends on BT_NIMBLE_ENABLED
-    default 23
-    help
-            This configures priority of NimBLE controller task
-
 config BT_NIMBLE_NVS_PERSIST
     bool "Persist the BLE Bonding keys in NVS"
     depends on BT_NIMBLE_ENABLED
@@ -269,13 +183,14 @@ config BT_NIMBLE_SM_SC
     help
         Enable security manager secure connections
 
-config BT_NIMBLE_DEBUG
-    bool "Enable extra runtime asserts and host debugging"
+config BT_NIMBLE_SM_SC_DEBUG_KEYS
+    bool "Use predefined public-private key pair"
     default n
-    depends on BT_NIMBLE_ENABLED
+    depends on BT_NIMBLE_SECURITY_ENABLE && BT_NIMBLE_SM_SC
     help
-        This enables extra runtime asserts and host debugging
-
+        If this option is enabled, SM uses predefined DH key pair as described
+        in Core Specification, Vol. 3, Part H, 2.3.5.6.1. This allows to
+        decrypt air traffic easily and thus should only be used for debugging.
 
 config BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION
     bool "Enable LE encryption"
@@ -284,14 +199,12 @@ config BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION
     help
             Enable encryption connection
 
-config BT_NIMBLE_SM_SC_DEBUG_KEYS
-    bool "Use predefined public-private key pair"
+config BT_NIMBLE_DEBUG
+    bool "Enable extra runtime asserts and host debugging"
     default n
-    depends on BT_NIMBLE_SM_SC
+    depends on BT_NIMBLE_ENABLED
     help
-        If this option is enabled, SM uses predefined DH key pair as described
-        in Core Specification, Vol. 3, Part H, 2.3.5.6.1. This allows to
-        decrypt air traffic easily and thus should only be used for debugging.
+        This enables extra runtime asserts and host debugging
 
 config BT_NIMBLE_SVC_GAP_DEVICE_NAME
     string "BLE GAP default device name"
@@ -323,87 +236,81 @@ config BT_NIMBLE_SVC_GAP_APPEARANCE
     help
         Standard BLE GAP Appearance value in HEX format e.g. 0x02C0
 
-config BT_NIMBLE_ACL_BUF_COUNT
-    int "ACL Buffer count"
-    depends on BT_NIMBLE_ENABLED
-    default 24
-    help
-        The number of ACL data buffers.
-
-config BT_NIMBLE_ACL_BUF_SIZE
-    int "ACL Buffer size"
-    depends on BT_NIMBLE_ENABLED
-    default 255
-    help
-        This is the maximum size of the data portion of HCI ACL data packets.
-        It does not include the HCI data header (of 4 bytes)
-
-config BT_NIMBLE_HCI_EVT_BUF_SIZE
-    int "HCI Event Buffer size"
-    depends on BT_NIMBLE_ENABLED
-    default 257 if BT_NIMBLE_EXT_ADV
-    default 70
-    help
-        This is the size of each HCI event buffer in bytes. In case of
-        extended advertising, packets can be fragmented. 257 bytes is the
-        maximum size of a packet.
-
-config BT_NIMBLE_HCI_EVT_HI_BUF_COUNT
-    int "High Priority HCI Event Buffer count"
-    depends on BT_NIMBLE_ENABLED
-    default 30
-    help
-        This is the high priority HCI events' buffer size. High-priority
-        event buffers are for everything except advertising reports. If there
-        are no free high-priority event buffers then host will try to allocate a
-        low-priority buffer instead
 
-config BT_NIMBLE_HCI_EVT_LO_BUF_COUNT
-    int "Low Priority HCI Event Buffer count"
-    depends on BT_NIMBLE_ENABLED
-    default 8
-    help
-        This is the low priority HCI events' buffer size. Low-priority event
-        buffers are only used for advertising reports. If there are no free
-        low-priority event buffers, then an incoming advertising report will
-        get dropped
+menu "Memory Settings"
+    config BT_NIMBLE_MSYS_1_BLOCK_COUNT
+        int "MSYS_1 Block Count"
+        default 12
+        help
+            MSYS is a system level mbuf registry. For prepare write & prepare
+            responses MBUFs are allocated out of msys_1 pool. For NIMBLE_MESH
+            enabled cases, this block count is increased by 8 than user defined
+            count.
+
+    config BT_NIMBLE_MSYS_1_BLOCK_SIZE
+        int    "MSYS_1 Block Size"
+        default 256
+        help
+                Dynamic memory size of block 1
 
-menuconfig BT_NIMBLE_MEMORY_SETTINGS
-    bool "OS Memory Settings"
-    default y
-    help
-            Settings memory blocks
+    config BT_NIMBLE_MSYS_2_BLOCK_COUNT
+        int    "MSYS_2 Block Count"
+        default 24
+        help
+                Dynamic memory count
 
-config BT_NIMBLE_MSYS_1_BLOCK_COUNT
-    int "MSYS_1 Block Count"
-    depends on BT_NIMBLE_MEMORY_SETTINGS
-    default 12
-    help
-        MSYS is a system level mbuf registry. For prepare write & prepare
-        responses MBUFs are allocated out of msys_1 pool. For NIMBLE_MESH
-        enabled cases, this block count is increased by 8 than user defined
-        count.
+    config BT_NIMBLE_MSYS_2_BLOCK_SIZE
+        int    "MSYS_2 Block Size"
+        default 320
+        help
+                Dynamic memory size of block 2
 
-config BT_NIMBLE_MSYS_1_BLOCK_SIZE
-    int    "MSYS_1 Block Size"
-    depends on BT_NIMBLE_MEMORY_SETTINGS
-    default 256
-    help
-            Dynamic memory size of block 1
+    config BT_NIMBLE_ACL_BUF_COUNT
+        int "ACL Buffer count"
+        depends on BT_NIMBLE_ENABLED
+        default 24
+        help
+            The number of ACL data buffers.
 
-config BT_NIMBLE_MSYS_2_BLOCK_COUNT
-    int    "MSYS_2 Block Count"
-    depends on BT_NIMBLE_MEMORY_SETTINGS
-    default 24
-    help
-            Dynamic memory count
+    config BT_NIMBLE_ACL_BUF_SIZE
+        int "ACL Buffer size"
+        depends on BT_NIMBLE_ENABLED
+        default 255
+        help
+            This is the maximum size of the data portion of HCI ACL data packets.
+            It does not include the HCI data header (of 4 bytes)
+
+    config BT_NIMBLE_HCI_EVT_BUF_SIZE
+        int "HCI Event Buffer size"
+        depends on BT_NIMBLE_ENABLED
+        default 257 if BT_NIMBLE_EXT_ADV
+        default 70
+        help
+            This is the size of each HCI event buffer in bytes. In case of
+            extended advertising, packets can be fragmented. 257 bytes is the
+            maximum size of a packet.
+
+    config BT_NIMBLE_HCI_EVT_HI_BUF_COUNT
+        int "High Priority HCI Event Buffer count"
+        depends on BT_NIMBLE_ENABLED
+        default 30
+        help
+            This is the high priority HCI events' buffer size. High-priority
+            event buffers are for everything except advertising reports. If there
+            are no free high-priority event buffers then host will try to allocate a
+            low-priority buffer instead
+
+    config BT_NIMBLE_HCI_EVT_LO_BUF_COUNT
+        int "Low Priority HCI Event Buffer count"
+        depends on BT_NIMBLE_ENABLED
+        default 8
+        help
+            This is the low priority HCI events' buffer size. Low-priority event
+            buffers are only used for advertising reports. If there are no free
+            low-priority event buffers, then an incoming advertising report will
+            get dropped
 
-config BT_NIMBLE_MSYS_2_BLOCK_SIZE
-    int    "MSYS_2 Block Size"
-    depends on BT_NIMBLE_MEMORY_SETTINGS
-    default 320
-    help
-            Dynamic memory size of block 2
+endmenu
 
 config BT_NIMBLE_HS_FLOW_CTRL
     bool "Enable Host Flow control"
@@ -567,7 +474,7 @@ config BT_NIMBLE_HOST_BASED_PRIVACY
 
 config BT_NIMBLE_ENABLE_CONN_REATTEMPT
     bool "Enable connection reattempts on connection establishment error"
-    default y if (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32H2 )
+    default y if (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C2)
     default n if IDF_TARGET_ESP32
     help
         Enable to make the NimBLE host to reattempt GAP connection on connection
@@ -582,30 +489,93 @@ config BT_NIMBLE_MAX_CONN_REATTEMPT
         Defines maximum number of connection reattempts.
 
 menuconfig BT_NIMBLE_50_FEATURE_SUPPORT
-    bool "Enable BLE v5.0 feature"
+    bool "Enable BLE 5 feature"
     depends on BT_NIMBLE_ENABLED
     default y
     help
-            Enable BLE v5.0 feature
+            Enable BLE 5 feature
 
+config BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY
+    bool "Enable 2M Phy"
+    depends on BT_NIMBLE_50_FEATURE_SUPPORT
+    default y
+    help
+            Enable 2M-PHY
+
+config BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY
+    bool "Enable coded Phy"
+    depends on BT_NIMBLE_50_FEATURE_SUPPORT
+    default y
+    help
+            Enable coded-PHY
 
 config BT_NIMBLE_EXT_ADV
     bool "Enable extended advertising"
-    depends on BT_NIMBLE_ENABLED && BT_NIMBLE_50_FEATURE_SUPPORT
+    depends on BT_NIMBLE_50_FEATURE_SUPPORT
     default n
     help
         Enable this option to do extended advertising. Extended advertising
         will be supported from BLE 5.0 onwards.
 
 if BT_NIMBLE_EXT_ADV
+    config BT_NIMBLE_MAX_EXT_ADV_INSTANCES
+        int "Maximum number of extended advertising instances."
+        range 0 4
+        default 1 if BT_NIMBLE_EXT_ADV
+        default 0
+        depends on BT_NIMBLE_EXT_ADV
+        help
+            Change this option to set maximum number of extended advertising
+            instances. Minimum there is always one instance of
+            advertising. Enter how many more advertising instances you
+            want.
+
     config BT_NIMBLE_EXT_ADV_MAX_SIZE
-        int "set ext adv maximum paket size"
-        depends on BT_NIMBLE_50_FEATURE_SUPPORT
-        default 1650
+        int "Maximum length of the advertising data."
+        range 0 1650
+        default 1650 if BT_NIMBLE_EXT_ADV
+        default 0
+        depends on BT_NIMBLE_EXT_ADV
         help
-                Ext ADV packet size
+            Defines the length of the extended adv data. The value should not
+            exceed 1650.
+
+    config BT_NIMBLE_ENABLE_PERIODIC_ADV
+        bool "Enable periodic advertisement."
+        default y
+        depends on BT_NIMBLE_EXT_ADV
+        help
+            Enable this option to start periodic advertisement.
+
+    config BT_NIMBLE_PERIODIC_ADV_SYNC_TRANSFER
+        bool "Enable Transer Sync Events"
+        depends on BT_NIMBLE_ENABLE_PERIODIC_ADV
+        default y
+        help
+                This enables controller transfer periodic sync events to host
+
 endif
 
+config BT_NIMBLE_MAX_PERIODIC_SYNCS
+    int "Maximum number of periodic advertising syncs"
+    depends on BT_NIMBLE_50_FEATURE_SUPPORT
+    range 0 8 if !IDF_TARGET_ESP32C2
+    range 0 3 if IDF_TARGET_ESP32C2
+    default 1 if BT_NIMBLE_ENABLE_PERIODIC_ADV
+    default 0
+    help
+        Set this option to set the upper limit for number of periodic sync
+        connections. This should be less than maximum connections allowed by
+        controller.
+
+config BT_NIMBLE_MAX_PERIODIC_ADVERTISER_LIST
+    int "Maximum number of periodic advertiser list"
+    depends on BT_NIMBLE_50_FEATURE_SUPPORT && IDF_TARGET_ESP32C2
+    range 1 5
+    default 5 if BT_NIMBLE_50_FEATURE_SUPPORT
+    help
+        Set this option to set the upper limit for number of periodic advertiser list.
+
 choice BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM
     prompt "Coexistence: limit on MAX Tx/Rx time for coded-PHY connection"
     default BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS
@@ -635,100 +605,19 @@ config BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EFF
 config BT_NIMBLE_WHITELIST_SIZE
     int "BLE white list size"
     depends on BT_NIMBLE_ENABLED
-    range 1 15
-    default 12
+    range 1 15 if !IDF_TARGET_ESP32C2
+    default 12 if !IDF_TARGET_ESP32C2
+    range 1 5 if IDF_TARGET_ESP32C2
+    default 5 if IDF_TARGET_ESP32C2
     help
             BLE list size
 
-
-config BT_NIMBLE_MAX_EXT_ADV_INSTANCES
-    int "Maximum number of extended advertising instances."
-    range 0 4
-    default 1 if BT_NIMBLE_EXT_ADV
-    default 0
-    depends on BT_NIMBLE_EXT_ADV
-    help
-        Change this option to set maximum number of extended advertising
-        instances. Minimum there is always one instance of
-        advertising. Enter how many more advertising instances you
-        want.
-
-config BT_NIMBLE_MAX_EXT_ADV_DATA_LEN
-    int "Maximum length of the advertising data."
-    range 0 1650
-    default 1650 if BT_NIMBLE_EXT_ADV
-    default 0
-    depends on BT_NIMBLE_EXT_ADV
-    help
-        Defines size of extended advertising data. Size should not increase
-        1650.
-
-config BT_NIMBLE_ENABLE_PERIODIC_ADV
-    bool "Enable periodic advertisement."
-    default y
-    depends on BT_NIMBLE_EXT_ADV
-    help
-        Enable this option to start periodic advertisement.
-
-config BT_NIMBLE_PERIODIC_ADV_SYNC_TRANSFER
-    bool "Enable Transer Sync Events"
-    depends on BT_NIMBLE_EXT_ADV
-    default y
-    help
-            This enables controller transfer periodic sync events to host
-
-
-config BT_NIMBLE_MAX_PERIODIC_SYNCS
-    int "Maximum number of periodic advertising syncs."
-    default 1 if BT_NIMBLE_ENABLE_PERIODIC_ADV
-    default 0
-    depends on BT_NIMBLE_ENABLE_PERIODIC_ADV
-    range 1 8
-    help
-        Set this option to set the upper limit for number of periodic sync
-        connections. This should be less than maximum connections allowed by
-        controller.
-
-config BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY
-    bool "Enable 2M Phy"
-    depends on BT_NIMBLE_50_FEATURE_SUPPORT
-    default y
-    help
-            Enable 2M-PHY
-
-config BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY
-    bool "Enable coded Phy"
-    depends on BT_NIMBLE_50_FEATURE_SUPPORT
-    default y
-    help
-            Enable coded-PHY
-
-config BT_NIMBLE_HARDWARE_BLE_ONLY
-    bool "Run example on Ble Only Hardware"
-    default y
-    help
-            Run example on Ble Only Hardware
-
 config BT_NIMBLE_TEST_THROUGHPUT_TEST
     bool "Throughput Test Mode enable"
     default n
     help
             Enable the throughput test mode
 
-
-config BT_NIMBLE_LL_RESOLV_LIST_SIZE
-    int "BLE LL Resolving list size"
-    default 4
-    help
-            Configure the size of resolving list used in link layer.
-
-config BT_NIMBLE_LL_DUP_SCAN_LIST_COUNT
-    int "BLE duplicate scan list count"
-    range 1 100
-    default 8
-    help
-            config the max count of duplicate scan list
-
 config BT_NIMBLE_SLEEP_ENABLE
     bool "Enable BLE sleep"
     depends on BT_NIMBLE_ENABLED
@@ -736,7 +625,7 @@ config BT_NIMBLE_SLEEP_ENABLE
     help
             Enable BLE sleep
 
-choice
+choice BT_NIMBLE_WAKEUP_SOURCE
     prompt "BLE light sleep wakeup source"
     depends on BT_NIMBLE_SLEEP_ENABLE
     default BT_NIMBLE_WAKEUP_SOURCE_CPU_RTC_TIMER