From 4d33bcb4daca5870dd13ffe2491cbc8763f75173 Mon Sep 17 00:00:00 2001 From: muhaidong Date: Wed, 3 Jun 2026 11:05:24 +0800 Subject: [PATCH] feat(coex): add external coex unit test for esp32h4 and esp32h21 --- components/esp_coex/test_apps/.build-test-rules.yml | 4 ++-- .../esp_coex/test_apps/external_coex_function/README.md | 4 ++-- .../external_coex_function/main/test_enable_extern_coex.c | 7 +++++-- .../pytest_external_coex_function.py | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/components/esp_coex/test_apps/.build-test-rules.yml b/components/esp_coex/test_apps/.build-test-rules.yml index 21737a4ab0c..8aa670ac94b 100644 --- a/components/esp_coex/test_apps/.build-test-rules.yml +++ b/components/esp_coex/test_apps/.build-test-rules.yml @@ -2,5 +2,5 @@ components/esp_coex/test_apps/: disable: - - if: IDF_TARGET not in ["esp32s2", "esp32s3", "esp32c3", "esp32c2", "esp32c6", "esp32h2", "esp32c5", "esp32c61", "esp32s31"] - reason: only supported with s2, s3, c3, c2, c6, h2, c5, c61 and s31 + - if: IDF_TARGET not in ["esp32s2", "esp32s3", "esp32c3", "esp32c2", "esp32c6", "esp32h2", "esp32c5", "esp32c61", "esp32s31", "esp32h4", "esp32h21"] + reason: only supported with s2, s3, c3, c2, c6, h2, c5, c61, s31, esp32h4 and esp32h21 diff --git a/components/esp_coex/test_apps/external_coex_function/README.md b/components/esp_coex/test_apps/external_coex_function/README.md index a0d10bf872d..0f69904fb59 100644 --- a/components/esp_coex/test_apps/external_coex_function/README.md +++ b/components/esp_coex/test_apps/external_coex_function/README.md @@ -1,3 +1,3 @@ -| Supported Targets | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-S2 | ESP32-S3 | ESP32-S31 | -| ----------------- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- | --------- | +| Supported Targets | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-H21 | ESP32-H4 | ESP32-S2 | ESP32-S3 | ESP32-S31 | +| ----------------- | -------- | -------- | -------- | -------- | --------- | -------- | --------- | -------- | -------- | -------- | --------- | diff --git a/components/esp_coex/test_apps/external_coex_function/main/test_enable_extern_coex.c b/components/esp_coex/test_apps/external_coex_function/main/test_enable_extern_coex.c index 84706ad490d..6a59384de6c 100644 --- a/components/esp_coex/test_apps/external_coex_function/main/test_enable_extern_coex.c +++ b/components/esp_coex/test_apps/external_coex_function/main/test_enable_extern_coex.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2022-2026 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Unlicense OR CC0-1.0 */ @@ -36,12 +36,15 @@ TEST_CASE("enable external coex", "[external_coex]") #elif CONFIG_IDF_TARGET_ESP32C5 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32C61 #define EXTERNAL_COEX_CONF 0x600AF4A0 #define WDEV_RW_BT_COEX_EN (BIT(9)) -#elif CONFIG_IDF_TARGET_ESP32H2 +#elif CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32H21 #define EXTERNAL_COEX_CONF 0x600AD4A0 #define WDEV_RW_BT_COEX_EN (BIT(9)) #elif CONFIG_IDF_TARGET_ESP32S31 #define EXTERNAL_COEX_CONF 0x2010F4A0 #define WDEV_RW_BT_COEX_EN (BIT(9)) +#elif CONFIG_IDF_TARGET_ESP32H4 +#define EXTERNAL_COEX_CONF 0x600CF4A0 +#define WDEV_RW_BT_COEX_EN (BIT(9)) #endif esp_extern_coex_work_mode_t mode = EXTERNAL_COEX_LEADER_ROLE; diff --git a/components/esp_coex/test_apps/external_coex_function/pytest_external_coex_function.py b/components/esp_coex/test_apps/external_coex_function/pytest_external_coex_function.py index 0a527748231..17e46d77cfe 100644 --- a/components/esp_coex/test_apps/external_coex_function/pytest_external_coex_function.py +++ b/components/esp_coex/test_apps/external_coex_function/pytest_external_coex_function.py @@ -8,7 +8,7 @@ from pytest_embedded_idf.utils import idf_parametrize @pytest.mark.generic @idf_parametrize( 'target', - ['esp32h2', 'esp32c3', 'esp32s2', 'esp32s3', 'esp32c6', 'esp32c61', 'esp32c5', 'esp32s31'], + ['esp32h2', 'esp32c3', 'esp32s2', 'esp32s3', 'esp32c6', 'esp32c61', 'esp32c5', 'esp32s31', 'esp32h4', 'esp32h21'], indirect=['target'], ) def test_external_coex_unit_test(dut: Dut) -> None: