summaryrefslogtreecommitdiff
path: root/lib/bt/controller/esp32c2/Kconfig.in
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2024-03-28 14:32:49 +1100
committerjacqueline <me@jacqueline.id.au>2024-03-28 14:32:49 +1100
commitee29c25b29eaa4fac4e897442634b69ecc8d8125 (patch)
tree8c5f1a140463f20f104316fa3492984e191154e9 /lib/bt/controller/esp32c2/Kconfig.in
parent239e6d89507a24c849385f4bfa93ac4ad58e5de5 (diff)
downloadtangara-fw-ee29c25b29eaa4fac4e897442634b69ecc8d8125.tar.gz
Fork ESP-IDF's bluetooth component
i want better sbc encoding, and no cla will stop me
Diffstat (limited to 'lib/bt/controller/esp32c2/Kconfig.in')
-rw-r--r--lib/bt/controller/esp32c2/Kconfig.in466
1 files changed, 466 insertions, 0 deletions
diff --git a/lib/bt/controller/esp32c2/Kconfig.in b/lib/bt/controller/esp32c2/Kconfig.in
new file mode 100644
index 00000000..05e15708
--- /dev/null
+++ b/lib/bt/controller/esp32c2/Kconfig.in
@@ -0,0 +1,466 @@
+
+menu "HCI Config"
+
+ choice BT_LE_HCI_INTERFACE
+ prompt "Select HCI interface"
+ default BT_LE_HCI_INTERFACE_USE_RAM
+
+ config BT_LE_HCI_INTERFACE_USE_RAM
+ bool "ram"
+ help
+ Use RAM as HCI interface
+ config BT_LE_HCI_INTERFACE_USE_UART
+ bool "uart"
+ help
+ Use UART as HCI interface
+ endchoice
+
+ config BT_LE_HCI_UART_PORT
+ int "HCI UART port"
+ depends on BT_LE_HCI_INTERFACE_USE_UART
+ default 1
+ help
+ Set the port number of HCI UART
+
+ config BT_LE_HCI_UART_FLOWCTRL
+ bool "HCI uart Hardware Flow ctrl"
+ depends on BT_LE_HCI_INTERFACE_USE_UART
+ default n
+
+ config BT_LE_HCI_UART_TX_PIN
+ int "HCI uart Tx gpio"
+ depends on BT_LE_HCI_INTERFACE_USE_UART
+ default 19
+
+ config BT_LE_HCI_UART_RX_PIN
+ int "HCI uart Rx gpio"
+ depends on BT_LE_HCI_INTERFACE_USE_UART
+ default 10
+
+ config BT_LE_HCI_UART_RTS_PIN
+ int "HCI uart RTS gpio"
+ depends on BT_LE_HCI_UART_FLOWCTRL
+ default 4
+
+ config BT_LE_HCI_UART_CTS_PIN
+ int "HCI uart CTS gpio"
+ depends on BT_LE_HCI_UART_FLOWCTRL
+ default 5
+
+ config BT_LE_HCI_UART_BAUD
+ int "HCI uart baudrate"
+ depends on BT_LE_HCI_INTERFACE_USE_UART
+ default 921600
+ help
+ HCI uart baud rate 115200 ~ 1000000
+
+ choice BT_LE_HCI_UART_PARITY
+ prompt "select uart parity"
+ depends on BT_LE_HCI_INTERFACE_USE_UART
+ default BT_LE_HCI_UART_UART_PARITY_DISABLE
+
+ config BT_LE_HCI_UART_UART_PARITY_DISABLE
+ bool "PARITY_DISABLE"
+ help
+ UART_PARITY_DISABLE
+ config BT_LE_HCI_UART_UART_PARITY_EVEN
+ bool "PARITY_EVEN"
+ help
+ UART_PARITY_EVEN
+ config BT_LE_HCI_UART_UART_PARITY_ODD
+ bool "PARITY_ODD"
+ help
+ UART_PARITY_ODD
+ endchoice
+
+ config BT_LE_HCI_UART_TASK_STACK_SIZE
+ int "HCI uart task stack size"
+ depends on BT_LE_HCI_INTERFACE_USE_UART
+ default 1000
+ help
+ Set the size of uart task stack
+endmenu
+
+config BT_LE_CONTROLLER_NPL_OS_PORTING_SUPPORT
+ bool
+ default y
+ help
+ Enable NPL porting for controller.
+
+
+menuconfig BT_LE_50_FEATURE_SUPPORT
+ bool "Enable BLE 5 feature"
+ depends on !BT_NIMBLE_ENABLED
+ default y
+ help
+ Enable BLE 5 feature
+
+config BT_LE_LL_CFG_FEAT_LE_2M_PHY
+ bool "Enable 2M Phy"
+ depends on BT_LE_50_FEATURE_SUPPORT
+ default y
+ help
+ Enable 2M-PHY
+
+config BT_LE_LL_CFG_FEAT_LE_CODED_PHY
+ bool "Enable coded Phy"
+ depends on BT_LE_50_FEATURE_SUPPORT
+ default y
+ help
+ Enable coded-PHY
+
+config BT_LE_EXT_ADV
+ bool "Enable extended advertising"
+ depends on BT_LE_50_FEATURE_SUPPORT
+ default y
+ help
+ Enable this option to do extended advertising. Extended advertising
+ will be supported from BLE 5.0 onwards.
+
+if BT_LE_EXT_ADV
+ config BT_LE_MAX_EXT_ADV_INSTANCES
+ int "Maximum number of extended advertising instances."
+ range 0 4
+ default 1
+ depends on BT_LE_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.
+ Each extended advertising instance will take about 0.5k DRAM.
+
+ config BT_LE_EXT_ADV_MAX_SIZE
+ int "Maximum length of the advertising data."
+ range 0 1650
+ default 1650
+ depends on BT_LE_EXT_ADV
+ help
+ Defines the length of the extended adv data. The value should not
+ exceed 1650.
+
+ config BT_LE_ENABLE_PERIODIC_ADV
+ bool "Enable periodic advertisement."
+ default y
+ depends on BT_LE_EXT_ADV
+ help
+ Enable this option to start periodic advertisement.
+
+ config BT_LE_PERIODIC_ADV_SYNC_TRANSFER
+ bool "Enable Transer Sync Events"
+ depends on BT_LE_ENABLE_PERIODIC_ADV
+ default y
+ help
+ This enables controller transfer periodic sync events to host
+
+endif
+
+config BT_LE_MAX_PERIODIC_SYNCS
+ int "Maximum number of periodic advertising syncs"
+ depends on BT_LE_50_FEATURE_SUPPORT && !BT_NIMBLE_ENABLED
+
+ range 0 3
+ default 1 if BT_LE_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_LE_MAX_PERIODIC_ADVERTISER_LIST
+ int "Maximum number of periodic advertiser list"
+ depends on BT_LE_50_FEATURE_SUPPORT && !BT_NIMBLE_ENABLED
+ range 1 5
+ default 5
+ help
+ Set this option to set the upper limit for number of periodic advertiser list.
+
+menu "Memory Settings"
+ depends on !BT_NIMBLE_ENABLED
+
+ config BT_LE_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_LE_MSYS_1_BLOCK_SIZE
+ int "MSYS_1 Block Size"
+ default 256
+ help
+ Dynamic memory size of block 1
+
+ config BT_LE_MSYS_2_BLOCK_COUNT
+ int "MSYS_2 Block Count"
+ default 24
+ help
+ Dynamic memory count
+
+ config BT_LE_MSYS_2_BLOCK_SIZE
+ int "MSYS_2 Block Size"
+ default 320
+ help
+ Dynamic memory size of block 2
+
+ config BT_LE_ACL_BUF_COUNT
+ int "ACL Buffer count"
+ default 10
+ help
+ The number of ACL data buffers.
+
+ config BT_LE_ACL_BUF_SIZE
+ int "ACL Buffer size"
+ default 517
+ 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_LE_HCI_EVT_BUF_SIZE
+ int "HCI Event Buffer size"
+ default 257 if BT_LE_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_LE_HCI_EVT_HI_BUF_COUNT
+ int "High Priority HCI Event Buffer count"
+ 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_LE_HCI_EVT_LO_BUF_COUNT
+ int "Low Priority HCI Event Buffer count"
+ 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
+endmenu
+
+config BT_LE_CONTROLLER_TASK_STACK_SIZE
+ int "Controller task stack size"
+ default 5120 if BLE_MESH
+ default 4096
+ help
+ This configures stack size of NimBLE controller task
+
+menuconfig BT_LE_CONTROLLER_LOG_ENABLED
+ bool "Controller log enable"
+ default n
+ help
+ Enable controller log
+
+config BT_LE_CONTROLLER_LOG_CTRL_ENABLED
+ bool "enable controller log module"
+ depends on BT_LE_CONTROLLER_LOG_ENABLED
+ default y
+ help
+ Enable controller log module
+
+config BT_LE_CONTROLLER_LOG_HCI_ENABLED
+ bool "enable HCI log module"
+ depends on BT_LE_CONTROLLER_LOG_ENABLED
+ default y
+ help
+ Enable hci log module
+
+config BT_LE_CONTROLLER_LOG_DUMP_ONLY
+ bool "Controller log dump mode only"
+ depends on BT_LE_CONTROLLER_LOG_ENABLED
+ default y
+ help
+ Only operate in dump mode
+
+config BT_LE_LOG_CTRL_BUF1_SIZE
+ int "size of the first BLE controller LOG buffer"
+ depends on BT_LE_CONTROLLER_LOG_ENABLED
+ default 4096
+ help
+ Configure the size of the first BLE controller LOG buffer.
+
+config BT_LE_LOG_CTRL_BUF2_SIZE
+ int "size of the second BLE controller LOG buffer"
+ depends on BT_LE_CONTROLLER_LOG_ENABLED
+ default 1024
+ help
+ Configure the size of the second BLE controller LOG buffer.
+
+config BT_LE_LOG_HCI_BUF_SIZE
+ int "size of the BLE HCI LOG buffer"
+ depends on BT_LE_CONTROLLER_LOG_ENABLED
+ default 4096
+ help
+ Configure the size of the BLE HCI LOG buffer.
+
+config BT_LE_LL_RESOLV_LIST_SIZE
+ int "BLE LL Resolving list size"
+ range 1 5
+ default 4
+ help
+ Configure the size of resolving list used in link layer.
+
+menuconfig BT_LE_SECURITY_ENABLE
+ bool "Enable BLE SM feature"
+ depends on !BT_NIMBLE_ENABLED
+ default y
+ help
+ Enable BLE sm feature
+
+config BT_LE_SM_LEGACY
+ bool "Security manager legacy pairing"
+ depends on BT_LE_SECURITY_ENABLE
+ default y
+ help
+ Enable security manager legacy pairing
+
+config BT_LE_SM_SC
+ bool "Security manager secure connections (4.2)"
+ depends on BT_LE_SECURITY_ENABLE
+ default y
+ help
+ Enable security manager secure connections
+
+config BT_LE_SM_SC_DEBUG_KEYS
+ bool "Use predefined public-private key pair"
+ default n
+ depends on BT_LE_SECURITY_ENABLE && BT_LE_SM_SC
+ 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.
+
+config BT_LE_LL_CFG_FEAT_LE_ENCRYPTION
+ bool "Enable LE encryption"
+ depends on BT_LE_SECURITY_ENABLE
+ default y
+ help
+ Enable encryption connection
+
+config BT_LE_CRYPTO_STACK_MBEDTLS
+ bool "Override TinyCrypt with mbedTLS for crypto computations"
+ default y
+ depends on !BT_NIMBLE_ENABLED
+ select MBEDTLS_ECP_RESTARTABLE
+ select MBEDTLS_CMAC_C
+ help
+ Enable this option to choose mbedTLS instead of TinyCrypt for crypto
+ computations.
+
+config BT_LE_WHITELIST_SIZE
+ int "BLE white list size"
+ range 1 15
+ default 12
+ depends on !BT_NIMBLE_ENABLED
+
+ help
+ BLE list size
+
+config BT_LE_LL_DUP_SCAN_LIST_COUNT
+ int "BLE duplicate scan list count"
+ range 1 100
+ default 20
+ help
+ config the max count of duplicate scan list
+
+config BT_LE_LL_SCA
+ int "BLE Sleep clock accuracy"
+ range 0 500
+ default 60
+ help
+ Sleep clock accuracy of our device (in ppm)
+
+config BT_LE_MAX_CONNECTIONS
+ int "Maximum number of concurrent connections"
+ depends on !BT_NIMBLE_ENABLED
+ range 1 2
+ default 2
+ 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.
+ Each connection will take about 1k DRAM.
+
+choice BT_LE_COEX_PHY_CODED_TX_RX_TLIM
+ prompt "Coexistence: limit on MAX Tx/Rx time for coded-PHY connection"
+ default BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS
+ depends on ESP_COEX_SW_COEXIST_ENABLE
+ 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_LE_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_LE_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_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF
+ int
+ default 0 if !ESP_COEX_SW_COEXIST_ENABLE
+ default 1 if BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN
+ default 0 if BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS
+
+config BT_LE_SLEEP_ENABLE
+ bool "Enable BLE sleep"
+ default n
+ help
+ Enable BLE sleep
+
+config BT_LE_USE_ESP_TIMER
+ bool "Use Esp Timer for callout"
+ depends on !BT_NIMBLE_ENABLED
+ default y
+ help
+ Set this option to use Esp Timer which has higher priority timer instead of FreeRTOS timer
+
+config BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP
+ bool "BLE adv report flow control supported"
+ default y
+ help
+ The function is mainly used to enable flow control for advertising reports. When it is enabled,
+ advertising reports will be discarded by the controller if the number of unprocessed advertising
+ reports exceeds the size of BLE adv report flow control.
+
+config BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM
+ int "BLE adv report flow control number"
+ depends on BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP
+ range 50 1000
+ default 100
+ help
+ The number of unprocessed advertising report that bluetooth host can save.If you set
+ `BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM` to a small value, this may cause adv packets lost.
+ If you set `BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM` to a large value, bluetooth host may cache a
+ lot of adv packets and this may cause system memory run out. For example, if you set
+ it to 50, the maximum memory consumed by host is 35 * 50 bytes. Please set
+ `BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM` according to your system free memory and handle adv
+ packets as fast as possible, otherwise it will cause adv packets lost.
+
+config BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD
+ int "BLE adv lost event threshold value"
+ depends on BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP
+ range 1 1000
+ default 20
+ help
+ When adv report flow control is enabled, The ADV lost event will be generated when the number
+ of ADV packets lost in the controller reaches this threshold. It is better to set a larger value.
+ If you set `BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD` to a small value or printf every adv lost event, it
+ may cause adv packets lost more.
+
+config BT_LE_RELEASE_IRAM_SUPPORTED
+ bool
+ default y