| 
									
										
										
										
											2020-07-09 20:58:13 +08:00
										 |  |  | choice BTDM_CTRL_MODE | 
					
						
							|  |  |  |     prompt "Bluetooth controller mode (BR/EDR/BLE/DUALMODE)" | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         Specify the bluetooth controller mode (BR/EDR, BLE or dual mode). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     config BTDM_CTRL_MODE_BLE_ONLY | 
					
						
							|  |  |  |         bool "BLE Only" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     config BTDM_CTRL_MODE_BR_EDR_ONLY | 
					
						
							|  |  |  |         bool "BR/EDR Only" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     config BTDM_CTRL_MODE_BTDM | 
					
						
							|  |  |  |         bool "Bluetooth Dual Mode" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | endchoice | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_CTRL_BLE_MAX_CONN | 
					
						
							|  |  |  |     int "BLE Max Connections" | 
					
						
							|  |  |  |     depends on BTDM_CTRL_MODE_BLE_ONLY || BTDM_CTRL_MODE_BTDM | 
					
						
							|  |  |  |     default 3 | 
					
						
							|  |  |  |     range 1 9 | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         BLE maximum connections of bluetooth controller. | 
					
						
							|  |  |  |         Each connection uses 1KB static DRAM whenever the BT controller is enabled. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_CTRL_BR_EDR_MAX_ACL_CONN | 
					
						
							|  |  |  |     int "BR/EDR ACL Max Connections" | 
					
						
							|  |  |  |     depends on BTDM_CTRL_MODE_BR_EDR_ONLY || BTDM_CTRL_MODE_BTDM | 
					
						
							|  |  |  |     default 2 | 
					
						
							|  |  |  |     range 1 7 | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         BR/EDR ACL maximum connections of bluetooth controller. | 
					
						
							| 
									
										
										
										
											2021-02-19 18:39:26 +11:00
										 |  |  |         Each connection uses 1.2 KB DRAM whenever the BT controller is enabled. | 
					
						
							| 
									
										
										
										
											2020-07-09 20:58:13 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | config BTDM_CTRL_BR_EDR_MAX_SYNC_CONN | 
					
						
							|  |  |  |     int "BR/EDR Sync(SCO/eSCO) Max Connections" | 
					
						
							|  |  |  |     depends on BTDM_CTRL_MODE_BR_EDR_ONLY || BTDM_CTRL_MODE_BTDM | 
					
						
							|  |  |  |     default 0 | 
					
						
							|  |  |  |     range 0 3 | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         BR/EDR Synchronize maximum connections of bluetooth controller. | 
					
						
							| 
									
										
										
										
											2021-02-19 18:39:26 +11:00
										 |  |  |         Each connection uses 2 KB DRAM whenever the BT controller is enabled. | 
					
						
							| 
									
										
										
										
											2020-07-09 20:58:13 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | choice BTDM_CTRL_BR_EDR_SCO_DATA_PATH | 
					
						
							|  |  |  |     prompt "BR/EDR Sync(SCO/eSCO) default data path" | 
					
						
							|  |  |  |     depends on BTDM_CTRL_MODE_BR_EDR_ONLY || BTDM_CTRL_MODE_BTDM | 
					
						
							|  |  |  |     default BTDM_CTRL_BR_EDR_SCO_DATA_PATH_PCM | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         SCO data path, i.e. HCI or PCM. | 
					
						
							|  |  |  |         SCO data can be sent/received through HCI synchronous packets, or the data | 
					
						
							|  |  |  |         can be routed to on-chip PCM module on ESP32. PCM input/output signals can | 
					
						
							|  |  |  |         be "matrixed" to GPIOs. The default data path can also be set using API | 
					
						
							|  |  |  |         "esp_bredr_sco_datapath_set" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     config BTDM_CTRL_BR_EDR_SCO_DATA_PATH_HCI | 
					
						
							|  |  |  |         bool "HCI" | 
					
						
							|  |  |  |     config BTDM_CTRL_BR_EDR_SCO_DATA_PATH_PCM | 
					
						
							|  |  |  |         bool "PCM" | 
					
						
							|  |  |  | endchoice | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF | 
					
						
							|  |  |  |     int | 
					
						
							|  |  |  |     default 0 if BTDM_CTRL_BR_EDR_SCO_DATA_PATH_HCI | 
					
						
							|  |  |  |     default 1 if BTDM_CTRL_BR_EDR_SCO_DATA_PATH_PCM | 
					
						
							|  |  |  |     default 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | menuconfig BTDM_CTRL_PCM_ROLE_EDGE_CONFIG | 
					
						
							|  |  |  |     bool "PCM Signal Config (Role and Polar)" | 
					
						
							|  |  |  |     depends on BTDM_CTRL_BR_EDR_SCO_DATA_PATH_PCM | 
					
						
							|  |  |  |     default y | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | choice BTDM_CTRL_PCM_ROLE | 
					
						
							|  |  |  |     prompt "PCM Role" | 
					
						
							|  |  |  |     depends on BTDM_CTRL_PCM_ROLE_EDGE_CONFIG | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         PCM role can be configured as PCM master or PCM slave | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     config BTDM_CTRL_PCM_ROLE_MASTER | 
					
						
							|  |  |  |         bool "PCM Master" | 
					
						
							|  |  |  |     config BTDM_CTRL_PCM_ROLE_SLAVE | 
					
						
							|  |  |  |         bool "PCM Slave" | 
					
						
							|  |  |  | endchoice | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | choice BTDM_CTRL_PCM_POLAR | 
					
						
							|  |  |  |     prompt "PCM Polar" | 
					
						
							|  |  |  |     depends on BTDM_CTRL_PCM_ROLE_EDGE_CONFIG | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         PCM polarity can be configured as Falling Edge or Rising Edge | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     config BTDM_CTRL_PCM_POLAR_FALLING_EDGE | 
					
						
							|  |  |  |         bool "Falling Edge" | 
					
						
							|  |  |  |     config BTDM_CTRL_PCM_POLAR_RISING_EDGE | 
					
						
							|  |  |  |         bool "Rising Edge" | 
					
						
							|  |  |  | endchoice | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_CTRL_PCM_ROLE_EFF | 
					
						
							|  |  |  |     int | 
					
						
							|  |  |  |     default 0 if BTDM_CTRL_PCM_ROLE_MASTER | 
					
						
							|  |  |  |     default 1 if BTDM_CTRL_PCM_ROLE_SLAVE | 
					
						
							|  |  |  |     default 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_CTRL_PCM_POLAR_EFF | 
					
						
							|  |  |  |     int | 
					
						
							|  |  |  |     default 0 if BTDM_CTRL_PCM_POLAR_FALLING_EDGE | 
					
						
							|  |  |  |     default 1 if BTDM_CTRL_PCM_POLAR_RISING_EDGE | 
					
						
							|  |  |  |     default 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_CTRL_AUTO_LATENCY | 
					
						
							|  |  |  |     bool "Auto latency" | 
					
						
							|  |  |  |     depends on BTDM_CTRL_MODE_BTDM | 
					
						
							|  |  |  |     default n | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         BLE auto latency, used to enhance classic BT performance | 
					
						
							|  |  |  |         while classic BT and BLE are enabled at the same time. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_CTRL_AUTO_LATENCY_EFF | 
					
						
							|  |  |  |     bool | 
					
						
							|  |  |  |     default BTDM_CTRL_AUTO_LATENCY if BTDM_CTRL_MODE_BTDM | 
					
						
							|  |  |  |     default n | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT | 
					
						
							|  |  |  |     bool "Legacy Authentication Vendor Specific Event Enable" | 
					
						
							|  |  |  |     depends on BTDM_CTRL_MODE_BR_EDR_ONLY || BTDM_CTRL_MODE_BTDM | 
					
						
							|  |  |  |     default y | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         To protect from BIAS attack during Legacy authentication, | 
					
						
							|  |  |  |         Legacy authentication Vendor specific event should be enabled | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT_EFF | 
					
						
							|  |  |  |     bool | 
					
						
							|  |  |  |     default BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT if BTDM_CTRL_MODE_BR_EDR_ONLY || BTDM_CTRL_MODE_BTDM | 
					
						
							|  |  |  |     default 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_CTRL_BLE_MAX_CONN_EFF | 
					
						
							|  |  |  |     int | 
					
						
							|  |  |  |     default BTDM_CTRL_BLE_MAX_CONN if BTDM_CTRL_MODE_BLE_ONLY || BTDM_CTRL_MODE_BTDM | 
					
						
							|  |  |  |     default 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF | 
					
						
							|  |  |  |     int | 
					
						
							|  |  |  |     default BTDM_CTRL_BR_EDR_MAX_ACL_CONN if BTDM_CTRL_MODE_BR_EDR_ONLY || BTDM_CTRL_MODE_BTDM | 
					
						
							|  |  |  |     default 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF | 
					
						
							|  |  |  |     int | 
					
						
							|  |  |  |     default BTDM_CTRL_BR_EDR_MAX_SYNC_CONN if BTDM_CTRL_MODE_BR_EDR_ONLY || BTDM_CTRL_MODE_BTDM | 
					
						
							|  |  |  |     default 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | choice BTDM_CTRL_PINNED_TO_CORE_CHOICE | 
					
						
							|  |  |  |     prompt "The cpu core which bluetooth controller run" | 
					
						
							| 
									
										
										
										
											2021-09-13 15:42:49 +08:00
										 |  |  |     depends on !FREERTOS_UNICORE | 
					
						
							| 
									
										
										
										
											2020-07-09 20:58:13 +08:00
										 |  |  |     help | 
					
						
							|  |  |  |         Specify the cpu core to run bluetooth controller. | 
					
						
							|  |  |  |         Can not specify no-affinity. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     config BTDM_CTRL_PINNED_TO_CORE_0 | 
					
						
							|  |  |  |         bool "Core 0 (PRO CPU)" | 
					
						
							|  |  |  |     config BTDM_CTRL_PINNED_TO_CORE_1 | 
					
						
							|  |  |  |         bool "Core 1 (APP CPU)" | 
					
						
							|  |  |  |         depends on !FREERTOS_UNICORE | 
					
						
							|  |  |  | endchoice | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_CTRL_PINNED_TO_CORE | 
					
						
							|  |  |  |     int | 
					
						
							|  |  |  |     default 0 if BTDM_CTRL_PINNED_TO_CORE_0 | 
					
						
							|  |  |  |     default 1 if BTDM_CTRL_PINNED_TO_CORE_1 | 
					
						
							|  |  |  |     default 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | choice BTDM_CTRL_HCI_MODE_CHOICE | 
					
						
							|  |  |  |     prompt "HCI mode" | 
					
						
							|  |  |  |     help | 
					
						
							| 
									
										
										
										
											2024-04-03 15:03:25 +08:00
										 |  |  |         Specify HCI mode as VHCI or UART(H4) | 
					
						
							| 
									
										
										
										
											2020-07-09 20:58:13 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     config BTDM_CTRL_HCI_MODE_VHCI | 
					
						
							|  |  |  |         bool "VHCI" | 
					
						
							|  |  |  |         help | 
					
						
							|  |  |  |             Normal option. Mostly, choose this VHCI when bluetooth host run on ESP32, too. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     config BTDM_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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | menu "HCI UART(H4) Options" | 
					
						
							|  |  |  |     visible if BTDM_CTRL_HCI_MODE_UART_H4 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     config BTDM_CTRL_HCI_UART_NO | 
					
						
							|  |  |  |         int "UART Number for HCI" | 
					
						
							|  |  |  |         depends on BTDM_CTRL_HCI_MODE_UART_H4 | 
					
						
							|  |  |  |         range 1 2 | 
					
						
							|  |  |  |         default 1 | 
					
						
							|  |  |  |         help | 
					
						
							|  |  |  |             Uart number for HCI. The available uart is UART1 and UART2. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     config BTDM_CTRL_HCI_UART_BAUDRATE | 
					
						
							|  |  |  |         int "UART Baudrate for HCI" | 
					
						
							|  |  |  |         depends on BTDM_CTRL_HCI_MODE_UART_H4 | 
					
						
							|  |  |  |         range 115200 921600 | 
					
						
							|  |  |  |         default 921600 | 
					
						
							|  |  |  |         help | 
					
						
							|  |  |  |             UART Baudrate for HCI. Please use standard baudrate. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-22 16:14:01 +08:00
										 |  |  |     config BTDM_CTRL_HCI_UART_FLOW_CTRL_EN | 
					
						
							|  |  |  |         bool "Enable UART flow control" | 
					
						
							|  |  |  |         depends on BTDM_CTRL_HCI_MODE_UART_H4 | 
					
						
							|  |  |  |         default y | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-09 20:58:13 +08:00
										 |  |  | endmenu | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | menu "MODEM SLEEP Options" | 
					
						
							|  |  |  |     config BTDM_CTRL_MODEM_SLEEP | 
					
						
							|  |  |  |         bool "Bluetooth modem sleep" | 
					
						
							|  |  |  |         default y | 
					
						
							|  |  |  |         help | 
					
						
							|  |  |  |             Enable/disable bluetooth controller low power mode. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     choice BTDM_CTRL_MODEM_SLEEP_MODE | 
					
						
							|  |  |  |         prompt "Bluetooth Modem sleep mode" | 
					
						
							|  |  |  |         depends on BTDM_CTRL_MODEM_SLEEP | 
					
						
							|  |  |  |         help | 
					
						
							|  |  |  |             To select which strategy to use for modem sleep | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         config BTDM_CTRL_MODEM_SLEEP_MODE_ORIG | 
					
						
							|  |  |  |             bool "ORIG Mode(sleep with low power clock)" | 
					
						
							|  |  |  |             help | 
					
						
							|  |  |  |                 ORIG mode is a bluetooth sleep mode that can be used for dual mode controller. In this mode, | 
					
						
							|  |  |  |                 bluetooth controller sleeps between BR/EDR frames and BLE events. A low power clock is used to | 
					
						
							|  |  |  |                 maintain bluetooth reference clock. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         config BTDM_CTRL_MODEM_SLEEP_MODE_EVED | 
					
						
							|  |  |  |             bool "EVED Mode(For internal test only)" | 
					
						
							|  |  |  |             help | 
					
						
							|  |  |  |                 EVED mode is for BLE only and is only for internal test. Do not use it for production. this | 
					
						
							|  |  |  |                 mode is not compatible with DFS nor light sleep | 
					
						
							|  |  |  |     endchoice | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     choice BTDM_CTRL_LOW_POWER_CLOCK | 
					
						
							|  |  |  |         prompt "Bluetooth low power clock" | 
					
						
							|  |  |  |         depends on BTDM_CTRL_MODEM_SLEEP_MODE_ORIG | 
					
						
							|  |  |  |         help | 
					
						
							|  |  |  |             Select the low power clock source for bluetooth controller. Bluetooth low power clock is | 
					
						
							|  |  |  |             the clock source to maintain time in sleep mode. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             - "Main crystal" option provides good accuracy and can support Dynamic Frequency Scaling | 
					
						
							|  |  |  |               to be used with Bluetooth modem sleep. Light sleep is not supported. | 
					
						
							|  |  |  |             - "External 32kHz crystal" option allows user to use a 32.768kHz crystal as Bluetooth low | 
					
						
							|  |  |  |               power clock. This option is allowed as long as External 32kHz crystal is configured as | 
					
						
							|  |  |  |               the system RTC clock source. This option provides good accuracy and supports Bluetooth | 
					
						
							|  |  |  |               modem sleep to be used alongside Dynamic Frequency Scaling or light sleep. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         config BTDM_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, but | 
					
						
							|  |  |  |                 cannot work when light sleep is enabled. Main crystal has a good performance in accuracy as | 
					
						
							|  |  |  |                 the bluetooth low power clock source. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         config BTDM_CTRL_LPCLK_SEL_EXT_32K_XTAL | 
					
						
							| 
									
										
										
										
											2024-08-28 10:35:22 +08:00
										 |  |  |             bool "External 32kHz crystal/oscillator" | 
					
						
							|  |  |  |             depends on RTC_CLK_SRC_EXT_CRYS || RTC_CLK_SRC_EXT_OSC | 
					
						
							| 
									
										
										
										
											2020-07-09 20:58:13 +08:00
										 |  |  |             help | 
					
						
							| 
									
										
										
										
											2024-08-28 10:35:22 +08:00
										 |  |  |                 External 32kHz crystal/oscillator has a nominal frequency of 32.768kHz and provides good frequency | 
					
						
							| 
									
										
										
										
											2020-07-09 20:58:13 +08:00
										 |  |  |                 stability. If used as Bluetooth low power clock, External 32kHz can support Bluetooth | 
					
						
							|  |  |  |                 modem sleep to be used with both DFS and light sleep. | 
					
						
							|  |  |  |     endchoice | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | endmenu | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | choice BTDM_BLE_SLEEP_CLOCK_ACCURACY | 
					
						
							|  |  |  |     prompt "BLE Sleep Clock Accuracy" | 
					
						
							|  |  |  |     depends on BTDM_CTRL_MODE_BLE_ONLY || BTDM_CTRL_MODE_BTDM | 
					
						
							|  |  |  |     default BTDM_BLE_DEFAULT_SCA_250PPM | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         BLE Sleep Clock Accuracy(SCA) for the local device is used to estimate window widening in BLE | 
					
						
							|  |  |  |         connection events. With a lower level of clock accuracy(e.g. 500ppm over 250ppm), the slave | 
					
						
							|  |  |  |         needs a larger RX window to synchronize with master in each anchor point, thus resulting in an | 
					
						
							|  |  |  |         increase of power consumption but a higher level of robustness in keeping connected. According | 
					
						
							|  |  |  |         to the requirements of Bluetooth Core specification 4.2, the worst-case accuracy of Classic | 
					
						
							|  |  |  |         Bluetooth low power oscialltor(LPO) is +/-250ppm in STANDBY and in low power modes such as | 
					
						
							|  |  |  |         sniff. For BLE the worst-case SCA is +/-500ppm. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         - "151ppm to 250ppm" option is the default value for Bluetooth Dual mode | 
					
						
							|  |  |  |         - "251ppm to 500ppm" option can be used in BLE only mode when using external 32kHz crystal as | 
					
						
							|  |  |  |            low power clock. This option is provided in case that BLE sleep clock has a lower level of | 
					
						
							|  |  |  |            accuracy, or other error sources contribute to the inaccurate timing during sleep. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     config BTDM_BLE_DEFAULT_SCA_500PPM | 
					
						
							|  |  |  |         bool "251ppm to 500ppm" | 
					
						
							|  |  |  |         depends on BTDM_CTRL_LPCLK_SEL_EXT_32K_XTAL && BTDM_CTRL_MODE_BLE_ONLY | 
					
						
							|  |  |  |     config BTDM_BLE_DEFAULT_SCA_250PPM | 
					
						
							|  |  |  |         bool "151ppm to 250ppm" | 
					
						
							|  |  |  | endchoice | 
					
						
							|  |  |  | config BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF | 
					
						
							|  |  |  |     int | 
					
						
							|  |  |  |     default 0 if BTDM_BLE_DEFAULT_SCA_500PPM | 
					
						
							|  |  |  |     default 1 if BTDM_BLE_DEFAULT_SCA_250PPM | 
					
						
							|  |  |  |     default 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_BLE_SCAN_DUPL | 
					
						
							|  |  |  |     bool "BLE Scan Duplicate Options" | 
					
						
							|  |  |  |     depends on (BTDM_CTRL_MODE_BTDM || BTDM_CTRL_MODE_BLE_ONLY) | 
					
						
							|  |  |  |     default y | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         This select enables parameters setting of BLE scan duplicate. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | choice BTDM_SCAN_DUPL_TYPE | 
					
						
							|  |  |  |     prompt "Scan Duplicate Type" | 
					
						
							|  |  |  |     default BTDM_SCAN_DUPL_TYPE_DEVICE | 
					
						
							|  |  |  |     depends on BTDM_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 BTDM_SCAN_DUPL_TYPE_DEVICE | 
					
						
							|  |  |  |         bool "Scan Duplicate By Device Address" | 
					
						
							|  |  |  |         help | 
					
						
							|  |  |  |             This way is to use advertiser address filtering. The adv packet of the same address is only | 
					
						
							|  |  |  |             allowed to be reported once | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     config BTDM_SCAN_DUPL_TYPE_DATA | 
					
						
							|  |  |  |         bool "Scan Duplicate By Advertising Data" | 
					
						
							|  |  |  |         help | 
					
						
							|  |  |  |             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 BTDM_SCAN_DUPL_TYPE_DATA_DEVICE | 
					
						
							|  |  |  |         bool "Scan Duplicate By Device Address And Advertising Data" | 
					
						
							|  |  |  |         help | 
					
						
							|  |  |  |             This way is to use advertising data and device address filtering. All different adv packets with | 
					
						
							|  |  |  |             the same address are allowed to be reported. | 
					
						
							|  |  |  | endchoice | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_SCAN_DUPL_TYPE | 
					
						
							|  |  |  |     int | 
					
						
							|  |  |  |     depends on BTDM_BLE_SCAN_DUPL | 
					
						
							|  |  |  |     default 0 if BTDM_SCAN_DUPL_TYPE_DEVICE | 
					
						
							|  |  |  |     default 1 if BTDM_SCAN_DUPL_TYPE_DATA | 
					
						
							|  |  |  |     default 2 if BTDM_SCAN_DUPL_TYPE_DATA_DEVICE | 
					
						
							|  |  |  |     default 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_SCAN_DUPL_CACHE_SIZE | 
					
						
							|  |  |  |     int "Maximum number of devices in scan duplicate filter" | 
					
						
							|  |  |  |     depends on BTDM_BLE_SCAN_DUPL | 
					
						
							|  |  |  |     range 10 1000 | 
					
						
							| 
									
										
										
										
											2022-07-07 15:34:29 +08:00
										 |  |  |     default 100 | 
					
						
							| 
									
										
										
										
											2020-07-09 20:58:13 +08:00
										 |  |  |     help | 
					
						
							|  |  |  |         Maximum number of devices which can be recorded in scan duplicate filter. | 
					
						
							| 
									
										
										
										
											2024-01-09 18:54:42 +08:00
										 |  |  |         When the maximum amount of device in the filter is reached, the oldest device will be refreshed. | 
					
						
							| 
									
										
										
										
											2020-07-09 20:58:13 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-15 15:10:52 +08:00
										 |  |  | config BTDM_SCAN_DUPL_CACHE_REFRESH_PERIOD | 
					
						
							|  |  |  |     int "Duplicate scan list refresh period (seconds)" | 
					
						
							|  |  |  |     depends on BTDM_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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-09 20:58:13 +08:00
										 |  |  | config BTDM_BLE_MESH_SCAN_DUPL_EN | 
					
						
							|  |  |  |     bool "Special duplicate scan mechanism for BLE Mesh scan" | 
					
						
							|  |  |  |     depends on BTDM_BLE_SCAN_DUPL | 
					
						
							|  |  |  |     default n | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         This enables the BLE scan duplicate for special BLE Mesh scan. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_MESH_DUPL_SCAN_CACHE_SIZE | 
					
						
							|  |  |  |     int "Maximum number of Mesh adv packets in scan duplicate filter" | 
					
						
							|  |  |  |     depends on BTDM_BLE_MESH_SCAN_DUPL_EN | 
					
						
							|  |  |  |     range 10 1000 | 
					
						
							| 
									
										
										
										
											2022-07-07 15:34:29 +08:00
										 |  |  |     default 100 | 
					
						
							| 
									
										
										
										
											2020-07-09 20:58:13 +08:00
										 |  |  |     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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_CTRL_FULL_SCAN_SUPPORTED | 
					
						
							|  |  |  |     bool "BLE full scan feature supported" | 
					
						
							|  |  |  |     depends on BTDM_CTRL_MODE_BLE_ONLY || BTDM_CTRL_MODE_BTDM | 
					
						
							|  |  |  |     default y | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         The full scan function is mainly used to provide BLE scan performance. | 
					
						
							|  |  |  |         This is required for scenes with high scan performance requirements, such as BLE Mesh scenes. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-03 15:03:25 +08:00
										 |  |  | config BTDM_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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-16 20:49:57 +08:00
										 |  |  | config BTDM_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS | 
					
						
							|  |  |  |     bool "Enable enhanced Access Address check in CONNECT_IND" | 
					
						
							|  |  |  |     default n | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         Enabling this option will add stricter verification of the Access Address in the CONNECT_IND PDU. | 
					
						
							|  |  |  |         This improves security by ensuring that only connection requests with valid Access Addresses are accepted. | 
					
						
							|  |  |  |         If disabled, only basic checks are applied, improving compatibility. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-09 20:58:13 +08:00
										 |  |  | config BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP | 
					
						
							|  |  |  |     bool "BLE adv report flow control supported" | 
					
						
							|  |  |  |     depends on (BTDM_CTRL_MODE_BTDM || BTDM_CTRL_MODE_BLE_ONLY) | 
					
						
							|  |  |  |     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 BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM | 
					
						
							|  |  |  |     int "BLE adv report flow control number" | 
					
						
							|  |  |  |     depends on BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP | 
					
						
							|  |  |  |     range 50 1000 | 
					
						
							|  |  |  |     default 100 | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         The number of unprocessed advertising report that Bluedroid can save.If you set | 
					
						
							|  |  |  |         `BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM` to a small value, this may cause adv packets lost. | 
					
						
							|  |  |  |         If you set `BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM` to a large value, Bluedroid 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 | 
					
						
							|  |  |  |         `BTDM_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 BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD | 
					
						
							|  |  |  |     int "BLE adv lost event threshold value" | 
					
						
							|  |  |  |     depends on BTDM_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 `BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD` to a small value or printf every adv lost event, it | 
					
						
							|  |  |  |         may cause adv packets lost more. | 
					
						
							| 
									
										
										
										
											2021-09-02 21:49:30 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-31 15:33:34 +08:00
										 |  |  | menu "BLE disconnect when instant passed" | 
					
						
							|  |  |  |     config BTDM_BLE_LLCP_CONN_UPDATE | 
					
						
							|  |  |  |         bool "BLE ACL connection update procedure" | 
					
						
							|  |  |  |         depends on (BTDM_CTRL_MODE_BLE_ONLY || BTDM_CTRL_MODE_BTDM) | 
					
						
							|  |  |  |         default n | 
					
						
							|  |  |  |         help | 
					
						
							|  |  |  |             If this option is enabled, Controller will terminate the connection | 
					
						
							|  |  |  |             when instant passed during connection update procedure. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     config BTDM_BLE_LLCP_CHAN_MAP_UPDATE | 
					
						
							|  |  |  |         bool "BLE ACL channel map update procedure" | 
					
						
							|  |  |  |         depends on (BTDM_CTRL_MODE_BLE_ONLY || BTDM_CTRL_MODE_BTDM) | 
					
						
							|  |  |  |         default n | 
					
						
							|  |  |  |         help | 
					
						
							|  |  |  |             If this option is enabled, Controller will terminate the connection | 
					
						
							|  |  |  |             when instant passed in channel map update procedure. | 
					
						
							|  |  |  | endmenu | 
					
						
							| 
									
										
										
										
											2021-09-16 15:57:57 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-06 15:20:14 +08:00
										 |  |  | config BTDM_BLE_CHAN_ASS_EN | 
					
						
							|  |  |  |     bool "Enable channel assessment" | 
					
						
							|  |  |  |     depends on (BTDM_CTRL_MODE_BLE_ONLY || BTDM_CTRL_MODE_BTDM) | 
					
						
							|  |  |  |     default y | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         If this option is enabled, The Controller will records the communication quality | 
					
						
							|  |  |  |         for each channel and then start a timer to check and update the channel map every 4 seconds. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_BLE_PING_EN | 
					
						
							|  |  |  |     bool "Enable LE Ping procedure" | 
					
						
							|  |  |  |     depends on (BTDM_CTRL_MODE_BTDM || BTDM_CTRL_MODE_BLE_ONLY) | 
					
						
							|  |  |  |     default y | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         If this option is disabled, The Controller will not start the LE authenticated payload timer. | 
					
						
							|  |  |  |         This option is used for some compatibility problems related to LE ping procedure. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config BTDM_BLE_VS_QA_SUPPORT | 
					
						
							|  |  |  |     bool "BLE vendor HCI QA support" | 
					
						
							|  |  |  |     depends on (BTDM_CTRL_MODE_BTDM || BTDM_CTRL_MODE_BLE_ONLY) | 
					
						
							|  |  |  |     default n | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         This enables BLE vendor HCI command and event for QA. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-02-17 11:13:49 +08:00
										 |  |  | config BTDM_CTRL_CONTROLLER_DEBUG_MODE_1 | 
					
						
							|  |  |  |     visible if 0 | 
					
						
							|  |  |  |     bool "Enable Bluetooth controller debugging mode 1 (for internal use only)" | 
					
						
							|  |  |  |     default n | 
					
						
							|  |  |  |     depends on BT_ENABLED | 
					
						
							|  |  |  |     help | 
					
						
							|  |  |  |         Enables specific debugging features for the Bluetooth controller. | 
					
						
							|  |  |  |         This option is strictly for internal debugging purposes and should not be enabled in production environments, | 
					
						
							|  |  |  |         as it may impact performance and stability. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-16 15:57:57 +08:00
										 |  |  | config BTDM_RESERVE_DRAM | 
					
						
							|  |  |  |     hex | 
					
						
							|  |  |  |     default 0xdb5c if BT_ENABLED | 
					
						
							|  |  |  |     default 0 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-02 21:49:30 +08:00
										 |  |  | config BTDM_CTRL_HLI | 
					
						
							| 
									
										
										
										
											2020-12-24 21:30:36 +08:00
										 |  |  |     bool "High level interrupt" | 
					
						
							| 
									
										
										
										
											2021-09-02 21:49:30 +08:00
										 |  |  |     depends on BT_ENABLED | 
					
						
							|  |  |  |     default y | 
					
						
							|  |  |  |     help | 
					
						
							| 
									
										
										
										
											2020-12-24 21:30:36 +08:00
										 |  |  |         Using Level 4 interrupt for Bluetooth. |