diff --git a/components/esp_hal_ieee802154/CMakeLists.txt b/components/esp_hal_ieee802154/CMakeLists.txt new file mode 100644 index 00000000000..a73de4d3269 --- /dev/null +++ b/components/esp_hal_ieee802154/CMakeLists.txt @@ -0,0 +1,15 @@ +idf_build_get_property(target IDF_TARGET) + +set(includes "include") +set(srcs "") + +if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/${target}/include") + list(APPEND includes "${target}/include") +endif() + +if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/${target}/ieee802154_periph.c") + list(APPEND srcs "${target}/ieee802154_periph.c") +endif() + +idf_component_register(SRCS ${srcs} + INCLUDE_DIRS ${includes}) diff --git a/components/soc/esp32c5/ieee802154_periph.c b/components/esp_hal_ieee802154/esp32c5/ieee802154_periph.c similarity index 64% rename from components/soc/esp32c5/ieee802154_periph.c rename to components/esp_hal_ieee802154/esp32c5/ieee802154_periph.c index ec346c396e2..c6aa36edba6 100644 --- a/components/soc/esp32c5/ieee802154_periph.c +++ b/components/esp_hal_ieee802154/esp32c5/ieee802154_periph.c @@ -1,10 +1,10 @@ /* - * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ -#include "soc/ieee802154_periph.h" +#include "hal/ieee802154_periph.h" const ieee802154_conn_t ieee802154_periph = { .module = PERIPH_IEEE802154_MODULE, diff --git a/components/hal/esp32c5/include/hal/ieee802154_ll.h b/components/esp_hal_ieee802154/esp32c5/include/hal/ieee802154_ll.h similarity index 76% rename from components/hal/esp32c5/include/hal/ieee802154_ll.h rename to components/esp_hal_ieee802154/esp32c5/include/hal/ieee802154_ll.h index f480050ccd3..d867995893d 100644 --- a/components/hal/esp32c5/include/hal/ieee802154_ll.h +++ b/components/esp_hal_ieee802154/esp32c5/include/hal/ieee802154_ll.h @@ -1,12 +1,11 @@ /* - * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ #pragma once -#include #include "hal/ieee802154_common_ll.h" #define IEEE802154_TXPOWER_VALUE_MAX 20 diff --git a/components/esp_hal_ieee802154/esp32c6/ieee802154_periph.c b/components/esp_hal_ieee802154/esp32c6/ieee802154_periph.c new file mode 100644 index 00000000000..39d8c24c3d8 --- /dev/null +++ b/components/esp_hal_ieee802154/esp32c6/ieee802154_periph.c @@ -0,0 +1,12 @@ +/* + * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include "hal/ieee802154_periph.h" + +const ieee802154_conn_t ieee802154_periph = { + .module = PERIPH_IEEE802154_MODULE, + .irq_id = ETS_ZB_MAC_SOURCE, +}; diff --git a/components/hal/esp32c6/include/hal/ieee802154_ll.h b/components/esp_hal_ieee802154/esp32c6/include/hal/ieee802154_ll.h similarity index 76% rename from components/hal/esp32c6/include/hal/ieee802154_ll.h rename to components/esp_hal_ieee802154/esp32c6/include/hal/ieee802154_ll.h index 14e548a1d3c..d867995893d 100644 --- a/components/hal/esp32c6/include/hal/ieee802154_ll.h +++ b/components/esp_hal_ieee802154/esp32c6/include/hal/ieee802154_ll.h @@ -1,12 +1,11 @@ /* - * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ #pragma once -#include #include "hal/ieee802154_common_ll.h" #define IEEE802154_TXPOWER_VALUE_MAX 20 diff --git a/components/esp_hal_ieee802154/esp32h2/ieee802154_periph.c b/components/esp_hal_ieee802154/esp32h2/ieee802154_periph.c new file mode 100644 index 00000000000..c6aa36edba6 --- /dev/null +++ b/components/esp_hal_ieee802154/esp32h2/ieee802154_periph.c @@ -0,0 +1,12 @@ +/* + * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include "hal/ieee802154_periph.h" + +const ieee802154_conn_t ieee802154_periph = { + .module = PERIPH_IEEE802154_MODULE, + .irq_id = ETS_ZB_MAC_INTR_SOURCE, +}; diff --git a/components/hal/esp32h2/include/hal/ieee802154_ll.h b/components/esp_hal_ieee802154/esp32h2/include/hal/ieee802154_ll.h similarity index 81% rename from components/hal/esp32h2/include/hal/ieee802154_ll.h rename to components/esp_hal_ieee802154/esp32h2/include/hal/ieee802154_ll.h index 2795fc48967..ab1ad15e2ad 100644 --- a/components/hal/esp32h2/include/hal/ieee802154_ll.h +++ b/components/esp_hal_ieee802154/esp32h2/include/hal/ieee802154_ll.h @@ -1,12 +1,11 @@ /* - * SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ #pragma once -#include #include "hal/ieee802154_common_ll.h" #ifdef __cplusplus diff --git a/components/hal/include/hal/ieee802154_common_ll.h b/components/esp_hal_ieee802154/include/hal/ieee802154_common_ll.h similarity index 99% rename from components/hal/include/hal/ieee802154_common_ll.h rename to components/esp_hal_ieee802154/include/hal/ieee802154_common_ll.h index 9f20e517ea2..2e88a31007d 100644 --- a/components/hal/include/hal/ieee802154_common_ll.h +++ b/components/esp_hal_ieee802154/include/hal/ieee802154_common_ll.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/components/soc/include/soc/ieee802154_periph.h b/components/esp_hal_ieee802154/include/hal/ieee802154_periph.h similarity index 86% rename from components/soc/include/soc/ieee802154_periph.h rename to components/esp_hal_ieee802154/include/hal/ieee802154_periph.h index 5c414e91f6e..34f2a9da68f 100644 --- a/components/soc/include/soc/ieee802154_periph.h +++ b/components/esp_hal_ieee802154/include/hal/ieee802154_periph.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/components/ieee802154/CMakeLists.txt b/components/ieee802154/CMakeLists.txt index 3dd8113c3a6..5f410b3e9bf 100644 --- a/components/ieee802154/CMakeLists.txt +++ b/components/ieee802154/CMakeLists.txt @@ -37,5 +37,5 @@ idf_component_register( PRIV_INCLUDE_DIRS "${private_include}" LDFRAGMENTS linker.lf REQUIRES esp_coex - PRIV_REQUIRES esp_phy driver esp_timer soc hal + PRIV_REQUIRES esp_phy esp_timer soc hal esp_pm esp_hal_ieee802154 ) diff --git a/components/ieee802154/driver/esp_ieee802154_dev.c b/components/ieee802154/driver/esp_ieee802154_dev.c index f496141e471..52666656244 100644 --- a/components/ieee802154/driver/esp_ieee802154_dev.c +++ b/components/ieee802154/driver/esp_ieee802154_dev.c @@ -9,7 +9,7 @@ #include "freertos/portmacro.h" #include "soc/periph_defs.h" #include "soc/soc.h" -#include "soc/ieee802154_periph.h" +#include "hal/ieee802154_periph.h" #include "esp_private/esp_modem_clock.h" #include "esp_check.h" #include "esp_coex_i154.h" diff --git a/components/soc/CMakeLists.txt b/components/soc/CMakeLists.txt index f530f70bebe..a6530f155ef 100644 --- a/components/soc/CMakeLists.txt +++ b/components/soc/CMakeLists.txt @@ -148,12 +148,6 @@ if(CONFIG_SOC_WDT_SUPPORTED) list(APPEND srcs "${target_folder}/wdt_periph.c") endif() -if(CONFIG_SOC_IEEE802154_SUPPORTED) - if(NOT target STREQUAL "esp32h4") - list(APPEND srcs "${target_folder}/ieee802154_periph.c") - endif() -endif() - if(CONFIG_SOC_USB_OTG_SUPPORTED) list(APPEND srcs "${target_folder}/usb_dwc_periph.c") endif() diff --git a/components/soc/esp32c6/ieee802154_periph.c b/components/soc/esp32c6/ieee802154_periph.c deleted file mode 100644 index 275c83bc596..00000000000 --- a/components/soc/esp32c6/ieee802154_periph.c +++ /dev/null @@ -1,12 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#include "soc/ieee802154_periph.h" - -const ieee802154_conn_t ieee802154_periph = { - .module = PERIPH_IEEE802154_MODULE, - .irq_id = ETS_ZB_MAC_SOURCE, -}; diff --git a/components/soc/esp32h2/ieee802154_periph.c b/components/soc/esp32h2/ieee802154_periph.c deleted file mode 100644 index 58cce6d7bb0..00000000000 --- a/components/soc/esp32h2/ieee802154_periph.c +++ /dev/null @@ -1,12 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#include "soc/ieee802154_periph.h" - -const ieee802154_conn_t ieee802154_periph = { - .module = PERIPH_IEEE802154_MODULE, - .irq_id = ETS_ZB_MAC_INTR_SOURCE, -};