mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
241 lines
9.3 KiB
Plaintext
241 lines
9.3 KiB
Plaintext
|
|
menu "Wireless Coexistence"
|
|
|
|
config ESP_COEX_ENABLED
|
|
bool
|
|
default y if (!SOC_WIRELESS_HOST_SUPPORTED)
|
|
|
|
if(ESP_COEX_ENABLED)
|
|
config ESP_COEX_SW_COEXIST_ENABLE
|
|
bool "Software controls WiFi/Bluetooth coexistence"
|
|
depends on (ESP_WIFI_ENABLED && BT_ENABLED) || \
|
|
(ESP_WIFI_ENABLED && IEEE802154_ENABLED) || \
|
|
(IEEE802154_ENABLED && BT_ENABLED)
|
|
default y
|
|
select ESP_WIFI_STA_DISCONNECTED_PM_ENABLE if (ESP_WIFI_ENABLED)
|
|
help
|
|
If enabled, WiFi & Bluetooth coexistence is controlled by software rather than hardware.
|
|
Recommended for heavy traffic scenarios. Both coexistence configuration options are
|
|
automatically managed, no user intervention is required.
|
|
If only Bluetooth is used, it is recommended to disable this option to reduce binary file
|
|
size.
|
|
|
|
config ESP_COEX_EXTERNAL_COEXIST_ENABLE
|
|
bool "External Coexistence"
|
|
default n
|
|
depends on (!(BT_ENABLED||NIMBLE_ENABLED)&&(!IDF_TARGET_ESP32))
|
|
help
|
|
If enabled, HW External coexistence arbitration is managed by GPIO pins.
|
|
It can support three types of wired combinations so far which are 1-wired/2-wired/3-wired.
|
|
User can select GPIO pins in application code with configure interfaces.
|
|
|
|
This function depends on BT-off
|
|
because currently we do not support external coex and internal coex simultaneously.
|
|
|
|
config ESP_COEX_POWER_MANAGEMENT
|
|
bool "Support power management under coexistence"
|
|
default n
|
|
depends on (ESP_COEX_SW_COEXIST_ENABLE)
|
|
help
|
|
If enabled, coexist power management will be enabled.
|
|
endif
|
|
|
|
config ESP_COEX_GPIO_DEBUG
|
|
bool "GPIO debugging for coexistence"
|
|
default n
|
|
depends on !PM_SLP_DISABLE_GPIO && !PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP
|
|
help
|
|
Support coexistence GPIO debugging
|
|
|
|
if (ESP_COEX_GPIO_DEBUG)
|
|
|
|
choice ESP_COEX_GPIO_DEBUG_DIAG
|
|
prompt "Debugging Diagram"
|
|
default ESP_COEX_GPIO_DEBUG_DIAG_GENERAL
|
|
help
|
|
Select type of debugging diagram
|
|
|
|
config ESP_COEX_GPIO_DEBUG_DIAG_GENERAL
|
|
bool "General"
|
|
config ESP_COEX_GPIO_DEBUG_DIAG_WIFI
|
|
bool "Wi-Fi"
|
|
|
|
endchoice
|
|
|
|
config ESP_COEX_GPIO_DEBUG_IO_COUNT
|
|
int "Max number of debugging GPIOs"
|
|
range 0 12
|
|
default 12
|
|
|
|
config ESP_COEX_GPIO_DEBUG_IO_IDX0
|
|
depends on (ESP_COEX_GPIO_DEBUG_IO_COUNT > 0)
|
|
int "Actual IO num for Debug IO ID0"
|
|
range 0 SOC_GPIO_OUT_RANGE_MAX
|
|
default 15 if IDF_TARGET_ESP32
|
|
default 4 if IDF_TARGET_ESP32S2
|
|
default 19 if IDF_TARGET_ESP32C3
|
|
default 4 if IDF_TARGET_ESP32S3
|
|
default 18 if IDF_TARGET_ESP32C2
|
|
default 4 if IDF_TARGET_ESP32C6
|
|
default 2 if IDF_TARGET_ESP32C5
|
|
default 4 if IDF_TARGET_ESP32C61
|
|
default 1
|
|
|
|
config ESP_COEX_GPIO_DEBUG_IO_IDX1
|
|
depends on (ESP_COEX_GPIO_DEBUG_IO_COUNT > 1)
|
|
int "Actual IO num for Debug IO ID1"
|
|
range 0 SOC_GPIO_OUT_RANGE_MAX
|
|
default 2 if IDF_TARGET_ESP32
|
|
default 5 if IDF_TARGET_ESP32S2
|
|
default 18 if IDF_TARGET_ESP32C3
|
|
default 5 if IDF_TARGET_ESP32S3
|
|
default 4 if IDF_TARGET_ESP32C2
|
|
default 5 if IDF_TARGET_ESP32C6
|
|
default 3 if IDF_TARGET_ESP32C5
|
|
default 5 if IDF_TARGET_ESP32C61
|
|
default 2
|
|
|
|
config ESP_COEX_GPIO_DEBUG_IO_IDX2
|
|
depends on (ESP_COEX_GPIO_DEBUG_IO_COUNT > 2)
|
|
int "Actual IO num for Debug IO ID2"
|
|
range 0 SOC_GPIO_OUT_RANGE_MAX
|
|
default 0 if IDF_TARGET_ESP32
|
|
default 6 if IDF_TARGET_ESP32S2
|
|
default 4 if IDF_TARGET_ESP32C3
|
|
default 6 if IDF_TARGET_ESP32S3
|
|
default 5 if IDF_TARGET_ESP32C2
|
|
default 6 if IDF_TARGET_ESP32C6
|
|
default 4 if IDF_TARGET_ESP32C5
|
|
default 6 if IDF_TARGET_ESP32C61
|
|
default 3
|
|
|
|
config ESP_COEX_GPIO_DEBUG_IO_IDX3
|
|
depends on (ESP_COEX_GPIO_DEBUG_IO_COUNT > 3)
|
|
int "Actual IO num for Debug IO ID3"
|
|
range 0 SOC_GPIO_OUT_RANGE_MAX
|
|
default 4 if IDF_TARGET_ESP32
|
|
default 7 if IDF_TARGET_ESP32S2
|
|
default 5 if IDF_TARGET_ESP32C3
|
|
default 7 if IDF_TARGET_ESP32S3
|
|
default 6 if IDF_TARGET_ESP32C2
|
|
default 7 if IDF_TARGET_ESP32C6
|
|
default 5 if IDF_TARGET_ESP32C5
|
|
default 7 if IDF_TARGET_ESP32C61
|
|
default 4
|
|
|
|
config ESP_COEX_GPIO_DEBUG_IO_IDX4
|
|
depends on (ESP_COEX_GPIO_DEBUG_IO_COUNT > 4)
|
|
int "Actual IO num for Debug IO ID4"
|
|
range 0 SOC_GPIO_OUT_RANGE_MAX
|
|
default 5 if IDF_TARGET_ESP32
|
|
default 8 if IDF_TARGET_ESP32S2
|
|
default 6 if IDF_TARGET_ESP32C3
|
|
default 15 if IDF_TARGET_ESP32S3
|
|
default 7 if IDF_TARGET_ESP32C2
|
|
default 8 if IDF_TARGET_ESP32C6
|
|
default 27 if IDF_TARGET_ESP32C5
|
|
default 0 if IDF_TARGET_ESP32C61
|
|
default 5
|
|
|
|
config ESP_COEX_GPIO_DEBUG_IO_IDX5
|
|
depends on (ESP_COEX_GPIO_DEBUG_IO_COUNT > 5)
|
|
int "Actual IO num for Debug IO ID5"
|
|
range 0 SOC_GPIO_OUT_RANGE_MAX
|
|
default 18 if IDF_TARGET_ESP32
|
|
default 9 if IDF_TARGET_ESP32S2
|
|
default 7 if IDF_TARGET_ESP32C3
|
|
default 16 if IDF_TARGET_ESP32S3
|
|
default 8 if IDF_TARGET_ESP32C2
|
|
default 10 if IDF_TARGET_ESP32C6
|
|
default 6 if IDF_TARGET_ESP32C5
|
|
default 1 if IDF_TARGET_ESP32C61
|
|
default 6
|
|
|
|
config ESP_COEX_GPIO_DEBUG_IO_IDX6
|
|
depends on (ESP_COEX_GPIO_DEBUG_IO_COUNT > 6)
|
|
int "Actual IO num for Debug IO ID6"
|
|
range 0 SOC_GPIO_OUT_RANGE_MAX
|
|
default 19 if IDF_TARGET_ESP32
|
|
default 10 if IDF_TARGET_ESP32S2
|
|
default 8 if IDF_TARGET_ESP32C3
|
|
default 17 if IDF_TARGET_ESP32S3
|
|
default 9 if IDF_TARGET_ESP32C2
|
|
default 11 if IDF_TARGET_ESP32C6
|
|
default 7 if IDF_TARGET_ESP32C5
|
|
default 8 if IDF_TARGET_ESP32C61
|
|
default 7
|
|
|
|
config ESP_COEX_GPIO_DEBUG_IO_IDX7
|
|
depends on (ESP_COEX_GPIO_DEBUG_IO_COUNT > 7)
|
|
int "Actual IO num for Debug IO ID7"
|
|
range 0 SOC_GPIO_OUT_RANGE_MAX
|
|
default 22 if IDF_TARGET_ESP32
|
|
default 11 if IDF_TARGET_ESP32S2
|
|
default 9 if IDF_TARGET_ESP32C3
|
|
default 18 if IDF_TARGET_ESP32S3
|
|
default 10 if IDF_TARGET_ESP32C2
|
|
default 2 if IDF_TARGET_ESP32C6
|
|
default 26 if IDF_TARGET_ESP32C5
|
|
default 2 if IDF_TARGET_ESP32C61
|
|
default 8
|
|
|
|
config ESP_COEX_GPIO_DEBUG_IO_IDX8
|
|
depends on (ESP_COEX_GPIO_DEBUG_IO_COUNT > 8)
|
|
int "Actual IO num for Debug IO ID8"
|
|
range 0 SOC_GPIO_OUT_RANGE_MAX
|
|
default 13 if IDF_TARGET_ESP32
|
|
default 12 if IDF_TARGET_ESP32S2
|
|
default 10 if IDF_TARGET_ESP32C3
|
|
default 10 if IDF_TARGET_ESP32S3
|
|
default 1 if IDF_TARGET_ESP32C2
|
|
default 15 if IDF_TARGET_ESP32C6
|
|
default 24 if IDF_TARGET_ESP32C5
|
|
default 3 if IDF_TARGET_ESP32C61
|
|
default 9
|
|
|
|
config ESP_COEX_GPIO_DEBUG_IO_IDX9
|
|
depends on (ESP_COEX_GPIO_DEBUG_IO_COUNT > 9)
|
|
int "Actual IO num for Debug IO ID9"
|
|
range 0 SOC_GPIO_OUT_RANGE_MAX
|
|
default 12 if IDF_TARGET_ESP32
|
|
default 13 if IDF_TARGET_ESP32S2
|
|
default 0 if IDF_TARGET_ESP32C3
|
|
default 11 if IDF_TARGET_ESP32S3
|
|
default 0 if IDF_TARGET_ESP32C2
|
|
default 23 if IDF_TARGET_ESP32C6
|
|
default 23 if IDF_TARGET_ESP32C5
|
|
default 9 if IDF_TARGET_ESP32C61
|
|
default 10
|
|
|
|
config ESP_COEX_GPIO_DEBUG_IO_IDX10
|
|
depends on (ESP_COEX_GPIO_DEBUG_IO_COUNT > 10)
|
|
int "Actual IO num for Debug IO ID10"
|
|
range 0 SOC_GPIO_OUT_RANGE_MAX
|
|
default 14 if IDF_TARGET_ESP32
|
|
default 14 if IDF_TARGET_ESP32S2
|
|
default 3 if IDF_TARGET_ESP32C3
|
|
default 12 if IDF_TARGET_ESP32S3
|
|
default 3 if IDF_TARGET_ESP32C2
|
|
default 22 if IDF_TARGET_ESP32C6
|
|
default 16 if IDF_TARGET_ESP32C5
|
|
default 13 if IDF_TARGET_ESP32C61
|
|
default 11
|
|
|
|
config ESP_COEX_GPIO_DEBUG_IO_IDX11
|
|
depends on (ESP_COEX_GPIO_DEBUG_IO_COUNT > 11)
|
|
int "Actual IO num for Debug IO ID11"
|
|
range 0 SOC_GPIO_OUT_RANGE_MAX
|
|
default 27 if IDF_TARGET_ESP32
|
|
default 15 if IDF_TARGET_ESP32S2
|
|
default 2 if IDF_TARGET_ESP32C3
|
|
default 13 if IDF_TARGET_ESP32S3
|
|
default 2 if IDF_TARGET_ESP32C2
|
|
default 21 if IDF_TARGET_ESP32C6
|
|
default 0 if IDF_TARGET_ESP32C5
|
|
default 12 if IDF_TARGET_ESP32C61
|
|
default 12
|
|
|
|
endif
|
|
|
|
endmenu # Wireless Coexistence
|