summaryrefslogtreecommitdiff
path: root/lib/bt/controller/esp32c3/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/esp32c3/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/esp32c3/Kconfig.in')
-rw-r--r--lib/bt/controller/esp32c3/Kconfig.in477
1 files changed, 477 insertions, 0 deletions
diff --git a/lib/bt/controller/esp32c3/Kconfig.in b/lib/bt/controller/esp32c3/Kconfig.in
new file mode 100644
index 00000000..078b215f
--- /dev/null
+++ b/lib/bt/controller/esp32c3/Kconfig.in
@@ -0,0 +1,477 @@
+config BT_CTRL_MODE_EFF
+ int
+ default 1
+
+config BT_CTRL_BLE_MAX_ACT
+ int "BLE Max Instances"
+ default 6
+ range 1 10
+ help
+ BLE maximum activities of bluetooth controller,both of connections,
+ scan , sync and adv(periodic adv, multi-adv). Each instance needs to
+ consume 828 bytes, you can save RAM by modifying the instance value
+ according to actual needs.
+
+config BT_CTRL_BLE_MAX_ACT_EFF
+ int
+ default BT_CTRL_BLE_MAX_ACT
+ default 0
+
+config BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB
+ int "BLE static ACL TX buffer numbers"
+ range 0 12
+ default 0
+ help
+ BLE ACL buffer have two methods to be allocated. One is persistent allocating
+ (alloate when controller initialise, never free until controller de-initialise)
+ another is dynamically allocating (allocate before TX and free after TX).
+
+choice BT_CTRL_PINNED_TO_CORE_CHOICE
+ prompt "The cpu core which bluetooth controller run"
+ depends on !FREERTOS_UNICORE
+ help
+ Specify the cpu core to run bluetooth controller.
+ Can not specify no-affinity.
+
+ config BT_CTRL_PINNED_TO_CORE_0
+ bool "Core 0 (PRO CPU)"
+ config BT_CTRL_PINNED_TO_CORE_1
+ bool "Core 1 (APP CPU)"
+ depends on !FREERTOS_UNICORE
+endchoice
+
+config BT_CTRL_PINNED_TO_CORE
+ int
+ default 0 if BT_CTRL_PINNED_TO_CORE_0
+ default 1 if BT_CTRL_PINNED_TO_CORE_1
+ default 0
+
+choice BT_CTRL_HCI_MODE_CHOICE
+ prompt "HCI mode"
+ help
+ Specify HCI mode as VHCI or UART(H4)
+
+ config BT_CTRL_HCI_MODE_VHCI
+ bool "VHCI"
+ help
+ Normal option. Mostly, choose this VHCI when bluetooth host run on ESP32S3 or ESP32C3.
+
+ config BT_CTRL_HCI_MODE_UART_H4
+ bool "UART(H4)"
+ help
+ If use external bluetooth host which run on other hardware and use UART as the HCI interface,
+ choose this option.
+endchoice
+
+config BT_CTRL_HCI_TL
+ int
+ default 0 if BT_CTRL_HCI_MODE_UART_H4
+ default 1 if BT_CTRL_HCI_M0DE_VHCI
+ default 1
+ help
+ HCI mode as VHCI or UART(H4)
+
+config BT_CTRL_ADV_DUP_FILT_MAX
+ int "The maxinum number of 5.0 extend duplicate scan filter"
+ range 1 500
+ default 30
+ help
+ The maxinum number of suplicate scan filter
+
+choice BT_BLE_CCA_MODE
+ prompt "BLE CCA mode"
+ default BT_BLE_CCA_MODE_NONE
+ help
+ Define BT BLE CCA mode
+
+ config BT_BLE_CCA_MODE_NONE
+ bool "NONE"
+ config BT_BLE_CCA_MODE_HW
+ bool "Hardware"
+ config BT_BLE_CCA_MODE_SW
+ bool "Software"
+endchoice
+
+config BT_BLE_CCA_MODE
+ int
+ default 0 if BT_BLE_CCA_MODE_NONE
+ default 1 if BT_BLE_CCA_MODE_HW
+ default 2 if BT_BLE_CCA_MODE_SW
+
+config BT_CTRL_HW_CCA_VAL
+ int "CCA threshold value"
+ range 20 100
+ default 20
+ help
+ It is the threshold value of HW CCA, if the value is 30, it means CCA threshold is -30 dBm.
+
+config BT_CTRL_HW_CCA_EFF
+ int
+ default 1 if BT_CTRL_HW_CCA
+ default 0
+ help
+ If other devices are sending packets in the air and the signal is strong,
+ the packet hw to be sent this time is cancelled.
+
+choice BT_CTRL_CE_LENGTH_TYPE
+ prompt "Connection event length determination method"
+ help
+ Specify connection event length determination
+
+ config BT_CTRL_CE_LENGTH_TYPE_ORIG
+ bool "ORIGINAL"
+ config BT_CTRL_CE_LENGTH_TYPE_CE
+ bool "Use CE parameter for HCI command"
+ config BT_CTRL_CE_LENGTH_TYPE_SD
+ bool "Use Espressif self-defined method"
+endchoice
+
+config BT_CTRL_CE_LENGTH_TYPE_EFF
+ int
+ default 0 if BT_CTRL_CE_LENGTH_TYPE_ORIG
+ default 1 if BT_CTRL_CE_LENGTH_TYPE_CE
+ default 2 if BT_CTRL_CE_LENGTH_TYPE_SD
+
+choice BT_CTRL_TX_ANTENNA_INDEX
+ prompt "default Tx anntena used"
+ help
+ Specify default Tx antenna used for bluetooth
+
+ config BT_CTRL_TX_ANTENNA_INDEX_0
+ bool "Antenna 0"
+ config BT_CTRL_TX_ANTENNA_INDEX_1
+ bool "Antenna 1"
+endchoice
+
+config BT_CTRL_TX_ANTENNA_INDEX_EFF
+ int
+ default 0 if BT_CTRL_TX_ANTENNA_INDEX_0
+ default 1 if BT_CTRL_TX_ANTENNA_INDEX_1
+
+choice BT_CTRL_RX_ANTENNA_INDEX
+ prompt "default Rx anntena used"
+ help
+ Specify default Rx antenna used for bluetooth
+
+ config BT_CTRL_RX_ANTENNA_INDEX_0
+ bool "Antenna 0"
+ config BT_CTRL_RX_ANTENNA_INDEX_1
+ bool "Antenna 1"
+endchoice
+
+config BT_CTRL_RX_ANTENNA_INDEX_EFF
+ int
+ default 0 if BT_CTRL_RX_ANTENNA_INDEX_0
+ default 1 if BT_CTRL_RX_ANTENNA_INDEX_1
+
+choice BT_CTRL_DFT_TX_POWER_LEVEL
+ prompt "BLE default Tx power level"
+ default BT_CTRL_DFT_TX_POWER_LEVEL_P9
+ help
+ Specify default Tx power level
+
+ config BT_CTRL_DFT_TX_POWER_LEVEL_N24
+ bool "-24dBm"
+ config BT_CTRL_DFT_TX_POWER_LEVEL_N21
+ bool "-21dBm"
+ config BT_CTRL_DFT_TX_POWER_LEVEL_N18
+ bool "-18dBm"
+ config BT_CTRL_DFT_TX_POWER_LEVEL_N15
+ bool "-15dBm"
+ config BT_CTRL_DFT_TX_POWER_LEVEL_N12
+ bool "-12dBm"
+ config BT_CTRL_DFT_TX_POWER_LEVEL_N9
+ bool "-9dBm"
+ config BT_CTRL_DFT_TX_POWER_LEVEL_N6
+ bool "-6dBm"
+ config BT_CTRL_DFT_TX_POWER_LEVEL_N3
+ bool "-3dBm"
+ config BT_CTRL_DFT_TX_POWER_LEVEL_N0
+ bool "0dBm"
+ config BT_CTRL_DFT_TX_POWER_LEVEL_P3
+ bool "+3dBm"
+ config BT_CTRL_DFT_TX_POWER_LEVEL_P6
+ bool "+6dBm"
+ config BT_CTRL_DFT_TX_POWER_LEVEL_P9
+ bool "+9dBm"
+ config BT_CTRL_DFT_TX_POWER_LEVEL_P12
+ bool "+12dBm"
+ config BT_CTRL_DFT_TX_POWER_LEVEL_P15
+ bool "+15dBm"
+ config BT_CTRL_DFT_TX_POWER_LEVEL_P18
+ bool "+18dBm"
+ config BT_CTRL_DFT_TX_POWER_LEVEL_P21
+ bool "+21dBm"
+endchoice
+
+config BT_CTRL_DFT_TX_POWER_LEVEL_EFF
+ int
+ default 0 if BT_CTRL_DFT_TX_POWER_LEVEL_N24
+ default 1 if BT_CTRL_DFT_TX_POWER_LEVEL_N21
+ default 2 if BT_CTRL_DFT_TX_POWER_LEVEL_N18
+ default 3 if BT_CTRL_DFT_TX_POWER_LEVEL_N15
+ default 4 if BT_CTRL_DFT_TX_POWER_LEVEL_N12
+ default 5 if BT_CTRL_DFT_TX_POWER_LEVEL_N9
+ default 6 if BT_CTRL_DFT_TX_POWER_LEVEL_N6
+ default 7 if BT_CTRL_DFT_TX_POWER_LEVEL_N3
+ default 8 if BT_CTRL_DFT_TX_POWER_LEVEL_N0
+ default 9 if BT_CTRL_DFT_TX_POWER_LEVEL_P3
+ default 10 if BT_CTRL_DFT_TX_POWER_LEVEL_P6
+ default 11 if BT_CTRL_DFT_TX_POWER_LEVEL_P9
+ default 12 if BT_CTRL_DFT_TX_POWER_LEVEL_P12
+ default 13 if BT_CTRL_DFT_TX_POWER_LEVEL_P15
+ default 14 if BT_CTRL_DFT_TX_POWER_LEVEL_P18
+ default 15 if BT_CTRL_DFT_TX_POWER_LEVEL_P21
+ default 0
+
+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_CTRL_BLE_SCAN_DUPL
+ bool "BLE Scan Duplicate Options"
+ default y
+ help
+ This select enables parameters setting of BLE scan duplicate.
+
+choice BT_CTRL_SCAN_DUPL_TYPE
+ prompt "Scan Duplicate Type"
+ default BT_CTRL_SCAN_DUPL_TYPE_DEVICE
+ depends on BT_CTRL_BLE_SCAN_DUPL
+ help
+ Scan duplicate have three ways. one is "Scan Duplicate By Device Address", This way is to use
+ advertiser address filtering. The adv packet of the same address is only allowed to be reported once.
+ Another way is "Scan Duplicate By Device Address And Advertising Data". This way is to use advertising
+ data and device address filtering. All different adv packets with the same address are allowed to be
+ reported. The last way is "Scan Duplicate By Advertising Data". This way is to use advertising data
+ filtering. All same advertising data only allow to be reported once even though they are from
+ different devices.
+
+ config BT_CTRL_SCAN_DUPL_TYPE_DEVICE
+ bool "Scan Duplicate By Device Address"
+ help
+ Advertising packets with the same address, address type, and advertising type are reported once.
+
+ config BT_CTRL_SCAN_DUPL_TYPE_DATA
+ bool "Scan Duplicate By Advertising Data"
+ help
+ Advertising packets with identical advertising data, address type, and advertising type
+ are reported only once, even if they originate from different devices.
+
+ config BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE
+ bool "Scan Duplicate By Device Address And Advertising Data"
+ help
+ Advertising packets with the same address, advertising data, address type,
+ and advertising type are reported only once.
+endchoice
+
+config BT_CTRL_SCAN_DUPL_TYPE
+ int
+ depends on BT_CTRL_BLE_SCAN_DUPL
+ default 0 if BT_CTRL_SCAN_DUPL_TYPE_DEVICE
+ default 1 if BT_CTRL_SCAN_DUPL_TYPE_DATA
+ default 2 if BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE
+ default 0
+
+config BT_CTRL_SCAN_DUPL_CACHE_SIZE
+ int "Maximum number of devices in scan duplicate filter"
+ depends on BT_CTRL_BLE_SCAN_DUPL
+ range 10 1000
+ default 100
+ help
+ Maximum number of devices which can be recorded in scan duplicate filter.
+ When the maximum amount of device in the filter is reached, the cache will be refreshed.
+
+config BT_CTRL_DUPL_SCAN_CACHE_REFRESH_PERIOD
+ int "Duplicate scan list refresh period (seconds)"
+ depends on BT_CTRL_BLE_SCAN_DUPL
+ range 0 1000
+ default 0
+ help
+ If the period value is non-zero, the controller will periodically clear the device information
+ stored in the scan duuplicate filter. If it is 0, the scan duuplicate filter will not be cleared
+ until the scanning is disabled. Duplicate advertisements for this period should not be sent to the
+ Host in advertising report events.
+ There are two scenarios where the ADV packet will be repeatedly reported:
+ 1. The duplicate scan cache is full, the controller will delete the oldest device information and
+ add new device information.
+ 2. When the refresh period is up, the controller will clear all device information and start filtering
+ again.
+
+config BT_CTRL_BLE_MESH_SCAN_DUPL_EN
+ bool "Special duplicate scan mechanism for BLE Mesh scan"
+ depends on BT_CTRL_BLE_SCAN_DUPL
+ default n
+ help
+ This enables the BLE scan duplicate for special BLE Mesh scan.
+
+config BT_CTRL_MESH_DUPL_SCAN_CACHE_SIZE
+ int "Maximum number of Mesh adv packets in scan duplicate filter"
+ depends on BT_CTRL_BLE_MESH_SCAN_DUPL_EN
+ range 10 1000
+ default 100
+ help
+ Maximum number of adv packets which can be recorded in duplicate scan cache for BLE Mesh.
+ When the maximum amount of device in the filter is reached, the cache will be refreshed.
+
+choice BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM
+ prompt "Coexistence: limit on MAX Tx/Rx time for coded-PHY connection"
+ default BT_CTRL_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_CTRL_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_CTRL_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_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF
+ int
+ default 0 if !ESP_COEX_SW_COEXIST_ENABLE
+ default 1 if BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN
+ default 0 if BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS
+
+menu "MODEM SLEEP Options"
+ visible if BT_ENABLED
+
+ config BT_CTRL_MODEM_SLEEP
+ bool "Bluetooth modem sleep"
+ depends on !BT_CTRL_HCI_MODE_UART_H4
+ default n
+ help
+ Enable/disable bluetooth controller low power mode.
+ Modem sleep is not supported to be used with UART HCI.
+
+ config BT_CTRL_MODEM_SLEEP_MODE_1
+ bool "Bluetooth Modem sleep Mode 1"
+ depends on BT_CTRL_MODEM_SLEEP
+ default y
+ help
+ Mode 1 is the currently supported sleep mode. In this mode,
+ bluetooth controller sleeps between and BLE events. A low
+ power clock is used to maintain bluetooth reference clock.
+
+ choice BT_CTRL_LOW_POWER_CLOCK
+ prompt "Bluetooth low power clock"
+ depends on BT_CTRL_MODEM_SLEEP_MODE_1
+ help
+ Select the low power clock source for bluetooth controller
+
+ config BT_CTRL_LPCLK_SEL_MAIN_XTAL
+ bool "Main crystal"
+ help
+ Main crystal can be used as low power clock for bluetooth modem sleep. If this option is
+ selected, bluetooth modem sleep can work under Dynamic Frequency Scaling(DFS) enabled, and
+ bluetooth can work under light sleep enabled. Main crystal has a relatively better performance
+ than other bluetooth low power clock sources.
+ config BT_CTRL_LPCLK_SEL_EXT_32K_XTAL
+ bool "External 32kHz crystal"
+ depends on RTC_CLK_SRC_EXT_CRYS
+ help
+ External 32kHz crystal has a nominal frequency of 32.768kHz and provides good frequency
+ stability. If used as Bluetooth low power clock, External 32kHz can support Bluetooth
+ modem sleep to be used with both DFS and light sleep.
+
+ config BT_CTRL_LPCLK_SEL_RTC_SLOW
+ bool "Internal 150kHz RC oscillator"
+ depends on RTC_CLK_SRC_INT_RC
+ help
+ Internal 150kHz RC oscillator. The accuracy of this clock is a lot larger than 500ppm which is required
+ in Bluetooth communication, so don't select this option in scenarios such as BLE connection state.
+ endchoice
+
+ config BT_CTRL_MAIN_XTAL_PU_DURING_LIGHT_SLEEP
+ bool "power up main XTAL during light sleep"
+ depends on (BT_CTRL_LPCLK_SEL_MAIN_XTAL || BT_CTRL_LPCLK_SEL_EXT_32K_XTAL) && FREERTOS_USE_TICKLESS_IDLE
+ default n
+ help
+ If this option is selected, the main crystal will power up during light sleep when the low power clock
+ selects an external 32kHz crystal but the external 32kHz crystal does not exist or the low power clock
+ selects the main crystal.
+
+endmenu
+
+config BT_CTRL_SLEEP_MODE_EFF
+ int
+ default 1 if BT_CTRL_MODEM_SLEEP_MODE_1
+ default 0
+
+config BT_CTRL_SLEEP_CLOCK_EFF
+ int
+ default 1 if BT_CTRL_LPCLK_SEL_MAIN_XTAL
+ default 2 if BT_CTRL_LPCLK_SEL_EXT_32K_XTAL
+ default 3 if BT_CTRL_LPCLK_SEL_RTC_SLOW
+
+ default 0
+
+config BT_CTRL_HCI_TL_EFF
+ int
+ default 0 if BT_CTRL_HCI_MODE_UART_H4
+ default 1 if BT_CTRL_HCI_M0DE_VHCI
+ default 1
+
+config BT_CTRL_AGC_RECORRECT_EN
+ bool "Enable HW AGC recorrect"
+ default n
+ help
+ Enable uncoded phy AGC recorrect
+
+config BT_CTRL_CODED_AGC_RECORRECT_EN
+ bool "Enable coded phy AGC recorrect"
+ depends on BT_CTRL_AGC_RECORRECT_EN
+ default n
+ help
+ Enable coded phy AGC recorrect
+
+config BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX
+ bool "Disable active scan backoff"
+ default n
+ help
+ Disable active scan backoff. The bluetooth spec requires that scanners should run a backoff procedure to
+ minimize collision of scan request PDUs from nultiple scanners. If scan backoff is disabled, in active
+ scanning, scan request PDU will be sent every time when HW receives scannable ADV PDU.
+
+config BT_BLE_ADV_DATA_LENGTH_ZERO_AUX
+ bool "Enable aux packet when ext adv data length is zero"
+ default n
+ help
+ When this option is enabled, auxiliary packets will be present in the events of
+ 'Non-Connectable and Non-Scannable' regardless of whether the advertising length is 0.
+ If this option is not enabled, auxiliary packets will only be present when the advertising length is not 0.