From 69a76c51701b2b2994d88e86d039467fb3568e38 Mon Sep 17 00:00:00 2001 From: morris Date: Tue, 18 Nov 2025 18:56:46 +0800 Subject: [PATCH 1/2] refactor(hal_dma): move bitscrambler from hal component because bitscrambler can't live without DMA, it's highly binded with the GDMA peripheral. --- components/esp_driver_bitscrambler/CMakeLists.txt | 1 + .../include/driver/bitscrambler.h | 3 --- .../src/bitscrambler_esp32c5.c | 5 ++--- .../src/bitscrambler_esp32p4.c | 5 ++--- .../src/bitscrambler_soc_specific.h | 2 +- .../test_apps/.build-test-rules.yml | 1 + components/esp_driver_parlio/src/parlio_priv.h | 1 - components/esp_driver_rmt/src/rmt_private.h | 1 - .../esp32c2/include/hal}/gdma_channel.h | 0 .../esp32c3/include/hal}/gdma_channel.h | 0 .../esp32c5/include/hal/bitscrambler_ll.h | 4 +--- .../include/hal}/bitscrambler_peri_select.h | 0 .../esp32c5/include/hal}/gdma_channel.h | 0 .../esp32c6/include/hal}/gdma_channel.h | 0 .../esp32c61/include/hal}/gdma_channel.h | 0 .../esp32h2/include/hal}/gdma_channel.h | 0 .../esp32h21/include/hal}/gdma_channel.h | 0 .../esp32h4/include/hal}/gdma_channel.h | 0 .../esp32p4/include/hal/bitscrambler_ll.h | 4 +--- .../include/hal}/bitscrambler_peri_select.h | 0 .../esp32p4/include/hal}/gdma_channel.h | 0 .../esp32s3/include/hal}/gdma_channel.h | 0 .../include/hal/bitscrambler_types.h | 5 ++++- .../esp_hw_support/dma/include/esp_private/gdma.h | 3 +-- components/hal/include/hal/bitscrambler_hal.h | 15 --------------- .../{esp_hal_dma => hal}/include/hal/gdma_types.h | 6 +++++- components/hal/include/hal/spi_hal.h | 10 ---------- components/hal/include/hal/spi_slave_hal.h | 4 +--- components/hal/include/hal/spi_slave_hd_hal.h | 4 +--- .../src/common/test_setup_utils.c | 2 +- .../mbedtls/esp_tee/esp_tee_crypto_shared_gdma.c | 2 -- components/mbedtls/port/include/esp_crypto_dma.h | 4 ++-- components/soc/esp32/include/soc/gdma_channel.h | 7 ------- components/soc/esp32s2/include/soc/gdma_channel.h | 7 ------- docs/doxygen/Doxyfile_esp32c5 | 2 +- docs/doxygen/Doxyfile_esp32p4 | 2 +- tools/ci/check_soc_headers_leak.py | 9 ++++----- 37 files changed, 30 insertions(+), 79 deletions(-) rename components/{soc/esp32c2/include/soc => esp_hal_dma/esp32c2/include/hal}/gdma_channel.h (100%) rename components/{soc/esp32c3/include/soc => esp_hal_dma/esp32c3/include/hal}/gdma_channel.h (100%) rename components/{hal => esp_hal_dma}/esp32c5/include/hal/bitscrambler_ll.h (99%) rename components/{soc/esp32c5/include/soc => esp_hal_dma/esp32c5/include/hal}/bitscrambler_peri_select.h (100%) rename components/{soc/esp32c5/include/soc => esp_hal_dma/esp32c5/include/hal}/gdma_channel.h (100%) rename components/{soc/esp32c6/include/soc => esp_hal_dma/esp32c6/include/hal}/gdma_channel.h (100%) rename components/{soc/esp32c61/include/soc => esp_hal_dma/esp32c61/include/hal}/gdma_channel.h (100%) rename components/{soc/esp32h2/include/soc => esp_hal_dma/esp32h2/include/hal}/gdma_channel.h (100%) rename components/{soc/esp32h21/include/soc => esp_hal_dma/esp32h21/include/hal}/gdma_channel.h (100%) rename components/{soc/esp32h4/include/soc => esp_hal_dma/esp32h4/include/hal}/gdma_channel.h (100%) rename components/{hal => esp_hal_dma}/esp32p4/include/hal/bitscrambler_ll.h (99%) rename components/{soc/esp32p4/include/soc => esp_hal_dma/esp32p4/include/hal}/bitscrambler_peri_select.h (100%) rename components/{soc/esp32p4/include/soc => esp_hal_dma/esp32p4/include/hal}/gdma_channel.h (100%) rename components/{soc/esp32s3/include/soc => esp_hal_dma/esp32s3/include/hal}/gdma_channel.h (100%) rename components/{hal => esp_hal_dma}/include/hal/bitscrambler_types.h (96%) delete mode 100644 components/hal/include/hal/bitscrambler_hal.h rename components/{esp_hal_dma => hal}/include/hal/gdma_types.h (93%) delete mode 100644 components/soc/esp32/include/soc/gdma_channel.h delete mode 100644 components/soc/esp32s2/include/soc/gdma_channel.h diff --git a/components/esp_driver_bitscrambler/CMakeLists.txt b/components/esp_driver_bitscrambler/CMakeLists.txt index 91742d8e424..2be1f9db05c 100644 --- a/components/esp_driver_bitscrambler/CMakeLists.txt +++ b/components/esp_driver_bitscrambler/CMakeLists.txt @@ -10,6 +10,7 @@ if(CONFIG_SOC_BITSCRAMBLER_SUPPORTED) endif() idf_component_register(SRCS ${srcs} + REQUIRES "esp_hal_dma" PRIV_REQUIRES "esp_mm" INCLUDE_DIRS "include" LDFRAGMENTS "linker.lf") diff --git a/components/esp_driver_bitscrambler/include/driver/bitscrambler.h b/components/esp_driver_bitscrambler/include/driver/bitscrambler.h index 3f1a5d505bc..47e7099c957 100644 --- a/components/esp_driver_bitscrambler/include/driver/bitscrambler.h +++ b/components/esp_driver_bitscrambler/include/driver/bitscrambler.h @@ -9,9 +9,6 @@ #include "esp_err.h" #include "soc/soc_caps.h" #include "hal/bitscrambler_types.h" -#if SOC_BITSCRAMBLER_SUPPORTED -#include "soc/bitscrambler_peri_select.h" -#endif #ifdef __cplusplus extern "C" { diff --git a/components/esp_driver_bitscrambler/src/bitscrambler_esp32c5.c b/components/esp_driver_bitscrambler/src/bitscrambler_esp32c5.c index 741fc61af2e..26d98d4075f 100644 --- a/components/esp_driver_bitscrambler/src/bitscrambler_esp32c5.c +++ b/components/esp_driver_bitscrambler/src/bitscrambler_esp32c5.c @@ -3,11 +3,10 @@ * * SPDX-License-Identifier: Apache-2.0 */ -#include "soc/gdma_channel.h" +#include "hal/gdma_channel.h" #include "bitscrambler_soc_specific.h" -// Note: these are indexed by the values of the SOC_BITSCRAMBLER_ATTACH_ defines -// in soc/bitscrambler_peri_select.h +// Note: these are indexed by the values of the SOC_BITSCRAMBLER_ATTACH_ defines in bitscrambler_peri_select.h // This map is used by the bitscrambler loopback driver only. const bitscrambler_periph_desc_t g_bitscrambler_periph_desc[] = { diff --git a/components/esp_driver_bitscrambler/src/bitscrambler_esp32p4.c b/components/esp_driver_bitscrambler/src/bitscrambler_esp32p4.c index 156c44ca289..fcf1f69c207 100644 --- a/components/esp_driver_bitscrambler/src/bitscrambler_esp32p4.c +++ b/components/esp_driver_bitscrambler/src/bitscrambler_esp32p4.c @@ -3,11 +3,10 @@ * * SPDX-License-Identifier: Apache-2.0 */ -#include "soc/gdma_channel.h" +#include "hal/gdma_channel.h" #include "bitscrambler_soc_specific.h" -// Note: these are indexed by the values of the SOC_BITSCRAMBLER_ATTACH_ defines -// in soc/bitscrambler_peri_select.h +// Note: these are indexed by the values of the SOC_BITSCRAMBLER_ATTACH_ defines in bitscrambler_peri_select.h // This map is used by the bitscrambler loopback driver only. const bitscrambler_periph_desc_t g_bitscrambler_periph_desc[] = { diff --git a/components/esp_driver_bitscrambler/src/bitscrambler_soc_specific.h b/components/esp_driver_bitscrambler/src/bitscrambler_soc_specific.h index 19261fc323e..fb8b13973fd 100644 --- a/components/esp_driver_bitscrambler/src/bitscrambler_soc_specific.h +++ b/components/esp_driver_bitscrambler/src/bitscrambler_soc_specific.h @@ -6,7 +6,7 @@ #pragma once #include "esp_private/gdma.h" -#include "soc/bitscrambler_peri_select.h" +#include "hal/bitscrambler_peri_select.h" #ifdef __cplusplus extern "C" { diff --git a/components/esp_driver_bitscrambler/test_apps/.build-test-rules.yml b/components/esp_driver_bitscrambler/test_apps/.build-test-rules.yml index 7850619f53d..f204d48c980 100644 --- a/components/esp_driver_bitscrambler/test_apps/.build-test-rules.yml +++ b/components/esp_driver_bitscrambler/test_apps/.build-test-rules.yml @@ -3,3 +3,4 @@ components/esp_driver_bitscrambler/test_apps/bitscrambler: - if: SOC_BITSCRAMBLER_SUPPORTED != 1 depends_components: - esp_driver_bitscrambler + - esp_hal_dma diff --git a/components/esp_driver_parlio/src/parlio_priv.h b/components/esp_driver_parlio/src/parlio_priv.h index 6bb956a5125..86561501b77 100644 --- a/components/esp_driver_parlio/src/parlio_priv.h +++ b/components/esp_driver_parlio/src/parlio_priv.h @@ -27,7 +27,6 @@ #include "freertos/queue.h" #include "freertos/idf_additions.h" #include "soc/soc_caps.h" -#include "soc/gdma_channel.h" #include "soc/parlio_periph.h" #include "hal/parlio_types.h" #include "hal/parlio_hal.h" diff --git a/components/esp_driver_rmt/src/rmt_private.h b/components/esp_driver_rmt/src/rmt_private.h index 40453b01bc4..9d442306fb7 100644 --- a/components/esp_driver_rmt/src/rmt_private.h +++ b/components/esp_driver_rmt/src/rmt_private.h @@ -26,7 +26,6 @@ #include "esp_check.h" #include "esp_err.h" #include "soc/soc_caps.h" -#include "soc/gdma_channel.h" #include "soc/rmt_periph.h" #include "hal/rmt_types.h" #include "hal/rmt_hal.h" diff --git a/components/soc/esp32c2/include/soc/gdma_channel.h b/components/esp_hal_dma/esp32c2/include/hal/gdma_channel.h similarity index 100% rename from components/soc/esp32c2/include/soc/gdma_channel.h rename to components/esp_hal_dma/esp32c2/include/hal/gdma_channel.h diff --git a/components/soc/esp32c3/include/soc/gdma_channel.h b/components/esp_hal_dma/esp32c3/include/hal/gdma_channel.h similarity index 100% rename from components/soc/esp32c3/include/soc/gdma_channel.h rename to components/esp_hal_dma/esp32c3/include/hal/gdma_channel.h diff --git a/components/hal/esp32c5/include/hal/bitscrambler_ll.h b/components/esp_hal_dma/esp32c5/include/hal/bitscrambler_ll.h similarity index 99% rename from components/hal/esp32c5/include/hal/bitscrambler_ll.h rename to components/esp_hal_dma/esp32c5/include/hal/bitscrambler_ll.h index 7c8706a776d..340133a2094 100644 --- a/components/hal/esp32c5/include/hal/bitscrambler_ll.h +++ b/components/esp_hal_dma/esp32c5/include/hal/bitscrambler_ll.h @@ -4,7 +4,6 @@ * SPDX-License-Identifier: Apache-2.0 */ - #pragma once #include @@ -29,7 +28,7 @@ extern "C" { * * @param hw BitScrambler hardware instance address. * @param dir Direction, BITSCRAMBLER_DIR_TX or BITSCRAMBLER_DIR_RX - * @param peri Peripheral to select, should pick the value from soc/bitscrambler_peri_select.h + * @param peri Peripheral to select, should pick the value from bitscrambler_peri_select.h */ static inline void bitscrambler_ll_select_peripheral(bitscrambler_dev_t *hw, bitscrambler_direction_t dir, int peri) { @@ -62,7 +61,6 @@ static inline void bitscrambler_ll_disable(bitscrambler_dev_t *hw, bitscrambler_ hw->ctrl[dir].ena = 0; } - /** * @brief Write a word to the instruction memory * diff --git a/components/soc/esp32c5/include/soc/bitscrambler_peri_select.h b/components/esp_hal_dma/esp32c5/include/hal/bitscrambler_peri_select.h similarity index 100% rename from components/soc/esp32c5/include/soc/bitscrambler_peri_select.h rename to components/esp_hal_dma/esp32c5/include/hal/bitscrambler_peri_select.h diff --git a/components/soc/esp32c5/include/soc/gdma_channel.h b/components/esp_hal_dma/esp32c5/include/hal/gdma_channel.h similarity index 100% rename from components/soc/esp32c5/include/soc/gdma_channel.h rename to components/esp_hal_dma/esp32c5/include/hal/gdma_channel.h diff --git a/components/soc/esp32c6/include/soc/gdma_channel.h b/components/esp_hal_dma/esp32c6/include/hal/gdma_channel.h similarity index 100% rename from components/soc/esp32c6/include/soc/gdma_channel.h rename to components/esp_hal_dma/esp32c6/include/hal/gdma_channel.h diff --git a/components/soc/esp32c61/include/soc/gdma_channel.h b/components/esp_hal_dma/esp32c61/include/hal/gdma_channel.h similarity index 100% rename from components/soc/esp32c61/include/soc/gdma_channel.h rename to components/esp_hal_dma/esp32c61/include/hal/gdma_channel.h diff --git a/components/soc/esp32h2/include/soc/gdma_channel.h b/components/esp_hal_dma/esp32h2/include/hal/gdma_channel.h similarity index 100% rename from components/soc/esp32h2/include/soc/gdma_channel.h rename to components/esp_hal_dma/esp32h2/include/hal/gdma_channel.h diff --git a/components/soc/esp32h21/include/soc/gdma_channel.h b/components/esp_hal_dma/esp32h21/include/hal/gdma_channel.h similarity index 100% rename from components/soc/esp32h21/include/soc/gdma_channel.h rename to components/esp_hal_dma/esp32h21/include/hal/gdma_channel.h diff --git a/components/soc/esp32h4/include/soc/gdma_channel.h b/components/esp_hal_dma/esp32h4/include/hal/gdma_channel.h similarity index 100% rename from components/soc/esp32h4/include/soc/gdma_channel.h rename to components/esp_hal_dma/esp32h4/include/hal/gdma_channel.h diff --git a/components/hal/esp32p4/include/hal/bitscrambler_ll.h b/components/esp_hal_dma/esp32p4/include/hal/bitscrambler_ll.h similarity index 99% rename from components/hal/esp32p4/include/hal/bitscrambler_ll.h rename to components/esp_hal_dma/esp32p4/include/hal/bitscrambler_ll.h index ae0cd2fb998..aae096d6040 100644 --- a/components/hal/esp32p4/include/hal/bitscrambler_ll.h +++ b/components/esp_hal_dma/esp32p4/include/hal/bitscrambler_ll.h @@ -4,7 +4,6 @@ * SPDX-License-Identifier: Apache-2.0 */ - #pragma once #include @@ -29,7 +28,7 @@ extern "C" { * * @param hw BitScrambler hardware instance address. * @param dir Direction, BITSCRAMBLER_DIR_TX or BITSCRAMBLER_DIR_RX - * @param peri Peripheral to select, should pick the value from soc/bitscrambler_peri_select.h + * @param peri Peripheral to select, should pick the value from bitscrambler_peri_select.h */ static inline void bitscrambler_ll_select_peripheral(bitscrambler_dev_t *hw, bitscrambler_direction_t dir, int peri) { @@ -62,7 +61,6 @@ static inline void bitscrambler_ll_disable(bitscrambler_dev_t *hw, bitscrambler_ hw->ctrl[dir].ena = 0; } - /** * @brief Write a word to the instruction memory * diff --git a/components/soc/esp32p4/include/soc/bitscrambler_peri_select.h b/components/esp_hal_dma/esp32p4/include/hal/bitscrambler_peri_select.h similarity index 100% rename from components/soc/esp32p4/include/soc/bitscrambler_peri_select.h rename to components/esp_hal_dma/esp32p4/include/hal/bitscrambler_peri_select.h diff --git a/components/soc/esp32p4/include/soc/gdma_channel.h b/components/esp_hal_dma/esp32p4/include/hal/gdma_channel.h similarity index 100% rename from components/soc/esp32p4/include/soc/gdma_channel.h rename to components/esp_hal_dma/esp32p4/include/hal/gdma_channel.h diff --git a/components/soc/esp32s3/include/soc/gdma_channel.h b/components/esp_hal_dma/esp32s3/include/hal/gdma_channel.h similarity index 100% rename from components/soc/esp32s3/include/soc/gdma_channel.h rename to components/esp_hal_dma/esp32s3/include/hal/gdma_channel.h diff --git a/components/hal/include/hal/bitscrambler_types.h b/components/esp_hal_dma/include/hal/bitscrambler_types.h similarity index 96% rename from components/hal/include/hal/bitscrambler_types.h rename to components/esp_hal_dma/include/hal/bitscrambler_types.h index daf9f348c23..5943d19a7a3 100644 --- a/components/hal/include/hal/bitscrambler_types.h +++ b/components/esp_hal_dma/include/hal/bitscrambler_types.h @@ -6,6 +6,10 @@ #pragma once +#if __has_include("hal/bitscrambler_peri_select.h") +#include "hal/bitscrambler_peri_select.h" +#endif + #ifdef __cplusplus extern "C" { #endif @@ -27,7 +31,6 @@ typedef enum { BITSCRAMBLER_LUT_WIDTH_32BIT = 2, /*!< 32-bit LUT */ } bitscrambler_lut_width_t; - /** * @brief EOF signal generating mode of bitscrambler */ diff --git a/components/esp_hw_support/dma/include/esp_private/gdma.h b/components/esp_hw_support/dma/include/esp_private/gdma.h index 289b8e093d1..a2bc904859e 100644 --- a/components/esp_hw_support/dma/include/esp_private/gdma.h +++ b/components/esp_hw_support/dma/include/esp_private/gdma.h @@ -8,7 +8,6 @@ #include #include "esp_etm.h" -#include "soc/gdma_channel.h" #include "hal/gdma_types.h" #include "esp_err.h" @@ -87,7 +86,7 @@ typedef struct { */ typedef struct { gdma_trigger_peripheral_t periph; /*!< Target peripheral which will trigger DMA operations */ - int instance_id; /*!< Peripheral instance ID. Supported IDs are listed in `soc/gdma_channel.h`, e.g. SOC_GDMA_TRIG_PERIPH_UHCI0 */ + int instance_id; /*!< Peripheral instance ID. Supported IDs are listed in `hal/gdma_channel.h`, e.g. SOC_GDMA_TRIG_PERIPH_UHCI0 */ int bus_id; /*!< Which system bus should the DMA attached to */ } gdma_trigger_t; diff --git a/components/hal/include/hal/bitscrambler_hal.h b/components/hal/include/hal/bitscrambler_hal.h deleted file mode 100644 index d0459ee5509..00000000000 --- a/components/hal/include/hal/bitscrambler_hal.h +++ /dev/null @@ -1,15 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#pragma once - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif diff --git a/components/esp_hal_dma/include/hal/gdma_types.h b/components/hal/include/hal/gdma_types.h similarity index 93% rename from components/esp_hal_dma/include/hal/gdma_types.h rename to components/hal/include/hal/gdma_types.h index 9ad63adee5f..c8fb8bb871a 100644 --- a/components/esp_hal_dma/include/hal/gdma_types.h +++ b/components/hal/include/hal/gdma_types.h @@ -1,11 +1,15 @@ /* - * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ #pragma once +#if __has_include("hal/gdma_channel.h") +#include "hal/gdma_channel.h" +#endif + #ifdef __cplusplus extern "C" { #endif diff --git a/components/hal/include/hal/spi_hal.h b/components/hal/include/hal/spi_hal.h index c9d2e136e8c..f9bf7a47656 100644 --- a/components/hal/include/hal/spi_hal.h +++ b/components/hal/include/hal/spi_hal.h @@ -28,10 +28,6 @@ #include "esp_err.h" #include "soc/soc_caps.h" #include "hal/spi_types.h" -#include "hal/dma_types.h" -#if SOC_GDMA_SUPPORTED -#include "soc/gdma_channel.h" -#endif #if SOC_GPSPI_SUPPORTED #include "hal/spi_ll.h" #endif @@ -42,12 +38,6 @@ extern "C" { #if SOC_GPSPI_SUPPORTED -#if SOC_GDMA_TRIG_PERIPH_SPI2_BUS == SOC_GDMA_BUS_AHB -typedef dma_descriptor_align4_t spi_dma_desc_t; -#else -typedef dma_descriptor_align8_t spi_dma_desc_t; -#endif - /** * Input parameters to the ``spi_hal_cal_clock_conf`` to calculate the timing configuration */ diff --git a/components/hal/include/hal/spi_slave_hal.h b/components/hal/include/hal/spi_slave_hal.h index 563e2a704c0..12e3c0a28d5 100644 --- a/components/hal/include/hal/spi_slave_hal.h +++ b/components/hal/include/hal/spi_slave_hal.h @@ -27,9 +27,7 @@ #include "esp_types.h" #include "soc/soc_caps.h" #include "hal/dma_types.h" -#if SOC_GDMA_SUPPORTED -#include "soc/gdma_channel.h" -#endif +#include "hal/gdma_types.h" #if SOC_GPSPI_SUPPORTED #include "hal/spi_ll.h" #endif diff --git a/components/hal/include/hal/spi_slave_hd_hal.h b/components/hal/include/hal/spi_slave_hd_hal.h index 605c3d1f33f..829272afd30 100644 --- a/components/hal/include/hal/spi_slave_hd_hal.h +++ b/components/hal/include/hal/spi_slave_hd_hal.h @@ -46,11 +46,9 @@ #include "esp_types.h" #include "esp_err.h" #include "soc/soc_caps.h" -#if SOC_GDMA_SUPPORTED -#include "soc/gdma_channel.h" -#endif #include "hal/spi_types.h" #include "hal/dma_types.h" +#include "hal/gdma_types.h" #if SOC_GPSPI_SUPPORTED #include "hal/spi_ll.h" #endif diff --git a/components/hal/test_apps/tee/components/pms_and_cpu_intr/src/common/test_setup_utils.c b/components/hal/test_apps/tee/components/pms_and_cpu_intr/src/common/test_setup_utils.c index 189f9c5db26..8b54dfeb0de 100644 --- a/components/hal/test_apps/tee/components/pms_and_cpu_intr/src/common/test_setup_utils.c +++ b/components/hal/test_apps/tee/components/pms_and_cpu_intr/src/common/test_setup_utils.c @@ -11,7 +11,7 @@ #include "soc/soc_caps.h" #include "hal/gdma_ll.h" -#include "soc/gdma_channel.h" +#include "hal/gdma_types.h" #if SOC_AHB_GDMA_VERSION == 2 #include "soc/ahb_dma_struct.h" #elif SOC_AHB_GDMA_VERSION == 1 diff --git a/components/mbedtls/esp_tee/esp_tee_crypto_shared_gdma.c b/components/mbedtls/esp_tee/esp_tee_crypto_shared_gdma.c index 7b89a83c039..16ed38ba25a 100644 --- a/components/mbedtls/esp_tee/esp_tee_crypto_shared_gdma.c +++ b/components/mbedtls/esp_tee/esp_tee_crypto_shared_gdma.c @@ -10,8 +10,6 @@ #include "mbedtls/aes.h" #include "esp_crypto_dma.h" -#include "hal/gdma_types.h" -#include "soc/gdma_channel.h" #include "soc/soc_caps.h" #include "esp_tee_crypto_shared_gdma.h" diff --git a/components/mbedtls/port/include/esp_crypto_dma.h b/components/mbedtls/port/include/esp_crypto_dma.h index f273cbd31a4..da96ede8af9 100644 --- a/components/mbedtls/port/include/esp_crypto_dma.h +++ b/components/mbedtls/port/include/esp_crypto_dma.h @@ -6,11 +6,11 @@ #pragma once -#include "hal/dma_types.h" #include "soc/soc_caps.h" +#include "hal/dma_types.h" +#include "hal/gdma_types.h" #if SOC_GDMA_SUPPORTED -#include "soc/gdma_channel.h" #include "hal/gdma_ll.h" #endif /* SOC_GDMA_SUPPORTED */ diff --git a/components/soc/esp32/include/soc/gdma_channel.h b/components/soc/esp32/include/soc/gdma_channel.h deleted file mode 100644 index aecba2714ef..00000000000 --- a/components/soc/esp32/include/soc/gdma_channel.h +++ /dev/null @@ -1,7 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Apache-2.0 - */ -// ESP32 doesn't feature General DMA peripheral. -// We keep this file here only for consistency's sake. diff --git a/components/soc/esp32s2/include/soc/gdma_channel.h b/components/soc/esp32s2/include/soc/gdma_channel.h deleted file mode 100644 index 33f39749d28..00000000000 --- a/components/soc/esp32s2/include/soc/gdma_channel.h +++ /dev/null @@ -1,7 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Apache-2.0 - */ -// ESP32-S2 doesn't feature General DMA peripheral. -// We keep this file here only for consistency's sake. diff --git a/docs/doxygen/Doxyfile_esp32c5 b/docs/doxygen/Doxyfile_esp32c5 index e8aa39b2aa0..ef1c0e0e208 100644 --- a/docs/doxygen/Doxyfile_esp32c5 +++ b/docs/doxygen/Doxyfile_esp32c5 @@ -1,7 +1,7 @@ INPUT += \ $(PROJECT_PATH)/components/esp_driver_bitscrambler/include/driver/bitscrambler.h \ $(PROJECT_PATH)/components/esp_driver_bitscrambler/include/driver/bitscrambler_loopback.h \ - $(PROJECT_PATH)/components/soc/$(IDF_TARGET)/include/soc/bitscrambler_peri_select.h \ + $(PROJECT_PATH)/components/esp_hal_dma/esp32c5/include/hal/bitscrambler_peri_select.h \ $(PROJECT_PATH)/components/ulp/lp_core/include/lp_core_i2c.h \ $(PROJECT_PATH)/components/ulp/lp_core/include/lp_core_uart.h \ $(PROJECT_PATH)/components/ulp/lp_core/include/lp_core_etm.h \ diff --git a/docs/doxygen/Doxyfile_esp32p4 b/docs/doxygen/Doxyfile_esp32p4 index 767014ee92b..23f4da4d56f 100644 --- a/docs/doxygen/Doxyfile_esp32p4 +++ b/docs/doxygen/Doxyfile_esp32p4 @@ -33,6 +33,7 @@ INPUT += \ $(PROJECT_PATH)/components/esp_driver_touch_sens/include/driver/touch_sens.h \ $(PROJECT_PATH)/components/esp_driver_touch_sens/include/driver/touch_sens_types.h \ $(PROJECT_PATH)/components/esp_hal_cam/include/hal/cam_ctlr_types.h \ + $(PROJECT_PATH)/components/esp_hal_dma/esp32p4/include/hal/bitscrambler_peri_select.h \ $(PROJECT_PATH)/components/esp_lcd/dsi/include/esp_lcd_mipi_dsi.h \ $(PROJECT_PATH)/components/esp_lcd/rgb/include/esp_lcd_panel_rgb.h \ $(PROJECT_PATH)/components/hal/include/hal/isp_types.h \ @@ -40,7 +41,6 @@ INPUT += \ $(PROJECT_PATH)/components/hal/include/hal/ppa_types.h \ $(PROJECT_PATH)/components/sdmmc/include/sd_pwr_ctrl.h \ $(PROJECT_PATH)/components/sdmmc/include/sd_pwr_ctrl_by_on_chip_ldo.h \ - $(PROJECT_PATH)/components/soc/$(IDF_TARGET)/include/soc/bitscrambler_peri_select.h \ $(PROJECT_PATH)/components/ulp/lp_core/include/lp_core_etm.h \ $(PROJECT_PATH)/components/ulp/lp_core/include/lp_core_i2c.h \ $(PROJECT_PATH)/components/ulp/lp_core/include/lp_core_spi.h \ diff --git a/tools/ci/check_soc_headers_leak.py b/tools/ci/check_soc_headers_leak.py index 62a58c72a94..c334f7610ce 100755 --- a/tools/ci/check_soc_headers_leak.py +++ b/tools/ci/check_soc_headers_leak.py @@ -19,7 +19,6 @@ allowed_soc_headers = ( 'soc/reg_base.h', 'soc/clk_tree_defs.h', 'soc/uart_channel.h', - 'soc/bitscrambler_peri_select.h', ) include_header_pattern = re.compile(r'[\s]*#[\s]*include ["<](.*)[">].*') @@ -33,7 +32,7 @@ class PublicAPIVisits: self._idf_path = idf_path def __iter__(self) -> typing.Generator: - with open(self.doxyfile_path, 'r', encoding='utf8') as f: + with open(self.doxyfile_path, encoding='utf8') as f: for line in f: line = line.strip() if line.startswith('$(PROJECT_PATH)'): @@ -48,10 +47,10 @@ def check_soc_not_in( idf_path: str, target: str, doxyfile_path: str, - violation_dict: typing.Dict[str, set], + violation_dict: dict[str, set], ) -> None: for file_path in PublicAPIVisits(os.path.join(idf_path, doxyfile_path), idf_path, target): - with open(file_path, 'r', encoding='utf8') as f: + with open(file_path, encoding='utf8') as f: for line in f: match_data = re.match(include_header_pattern, line) if match_data: @@ -82,7 +81,7 @@ def main() -> None: print('No targets found', file=sys.stderr) sys.exit(1) - soc_violation_dict: typing.Dict[str, set] = {} + soc_violation_dict: dict[str, set] = {} for target in targets: check_soc_not_in( idf_path, From 3c55daa7863279aefad3ada4b6925d72a6fd541e Mon Sep 17 00:00:00 2001 From: morris Date: Thu, 20 Nov 2025 16:32:28 +0800 Subject: [PATCH 2/2] refactor(hal_usb): move USB Serial JTAG HAL from hal component --- .../esp_driver_usb_serial_jtag/CMakeLists.txt | 2 +- .../test_apps/.build-test-rules.yml | 2 ++ components/esp_hal_usb/CMakeLists.txt | 10 +++++++++- components/esp_hal_usb/README.md | 10 ++++------ .../esp32c3/include/hal/usb_serial_jtag_ll.h | 12 +++++++----- .../esp32c5/include/hal/usb_serial_jtag_ll.h | 10 +++++++--- .../esp32c6/include/hal/usb_serial_jtag_ll.h | 11 +++++++---- .../esp32c61/include/hal/usb_serial_jtag_ll.h | 10 +++++++--- .../esp32h2/include/hal/usb_serial_jtag_ll.h | 11 +++++++---- .../esp32h21/include/hal/usb_serial_jtag_ll.h | 13 +++++++------ .../esp32h4/include/hal/usb_serial_jtag_ll.h | 13 +++++++------ .../esp32p4/include/hal/usb_serial_jtag_ll.h | 10 +++++++--- .../esp32s3/include/hal/usb_serial_jtag_ll.h | 11 +++++++---- .../include/hal/usb_serial_jtag_hal.h | 0 .../{hal => esp_hal_usb}/usb_serial_jtag_hal.c | 0 components/hal/CMakeLists.txt | 4 ---- 16 files changed, 79 insertions(+), 50 deletions(-) rename components/{hal => esp_hal_usb}/esp32c3/include/hal/usb_serial_jtag_ll.h (98%) rename components/{hal => esp_hal_usb}/esp32c5/include/hal/usb_serial_jtag_ll.h (98%) rename components/{hal => esp_hal_usb}/esp32c6/include/hal/usb_serial_jtag_ll.h (98%) rename components/{hal => esp_hal_usb}/esp32c61/include/hal/usb_serial_jtag_ll.h (98%) rename components/{hal => esp_hal_usb}/esp32h2/include/hal/usb_serial_jtag_ll.h (98%) rename components/{hal => esp_hal_usb}/esp32h21/include/hal/usb_serial_jtag_ll.h (98%) rename components/{hal => esp_hal_usb}/esp32h4/include/hal/usb_serial_jtag_ll.h (98%) rename components/{hal => esp_hal_usb}/esp32p4/include/hal/usb_serial_jtag_ll.h (98%) rename components/{hal => esp_hal_usb}/esp32s3/include/hal/usb_serial_jtag_ll.h (98%) rename components/{hal => esp_hal_usb}/include/hal/usb_serial_jtag_hal.h (100%) rename components/{hal => esp_hal_usb}/usb_serial_jtag_hal.c (100%) diff --git a/components/esp_driver_usb_serial_jtag/CMakeLists.txt b/components/esp_driver_usb_serial_jtag/CMakeLists.txt index ca7b6a30ce4..e9b99f50840 100644 --- a/components/esp_driver_usb_serial_jtag/CMakeLists.txt +++ b/components/esp_driver_usb_serial_jtag/CMakeLists.txt @@ -12,7 +12,7 @@ endif() if(${target} STREQUAL "linux") set(priv_requires esp_ringbuf esp_timer) else() - set(priv_requires esp_driver_gpio esp_ringbuf esp_pm esp_timer) + set(priv_requires esp_driver_gpio esp_ringbuf esp_pm esp_timer esp_hal_usb) endif() idf_component_register(SRCS ${srcs} diff --git a/components/esp_driver_usb_serial_jtag/test_apps/.build-test-rules.yml b/components/esp_driver_usb_serial_jtag/test_apps/.build-test-rules.yml index 796eb4eaa0f..313abe4710f 100644 --- a/components/esp_driver_usb_serial_jtag/test_apps/.build-test-rules.yml +++ b/components/esp_driver_usb_serial_jtag/test_apps/.build-test-rules.yml @@ -14,6 +14,7 @@ components/esp_driver_usb_serial_jtag/test_apps/usb_serial_jtag: - vfs - esp_driver_gpio - esp_driver_usb_serial_jtag + - esp_hal_usb components/esp_driver_usb_serial_jtag/test_apps/usb_serial_jtag_vfs: disable: @@ -28,3 +29,4 @@ components/esp_driver_usb_serial_jtag/test_apps/usb_serial_jtag_vfs: depends_components: - vfs - esp_driver_usb_serial_jtag + - esp_hal_usb diff --git a/components/esp_hal_usb/CMakeLists.txt b/components/esp_hal_usb/CMakeLists.txt index c069c78e435..e2af7d70648 100644 --- a/components/esp_hal_usb/CMakeLists.txt +++ b/components/esp_hal_usb/CMakeLists.txt @@ -7,10 +7,13 @@ endif() set(includes "include") set(srcs) +if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/${target}/include") + list(APPEND includes "${target}/include") +endif() + # USB-DWC related source files and USB FSLS PHY wrapper if(CONFIG_SOC_USB_OTG_SUPPORTED) list(APPEND srcs "usb_dwc_hal.c" "usb_wrap_hal.c" "${target}/usb_dwc_periph.c") - list(APPEND includes "${target}/include") endif() # USB UTMI PHY @@ -18,6 +21,11 @@ if(CONFIG_SOC_USB_UTMI_PHY_NUM GREATER 0) list(APPEND srcs "usb_utmi_hal.c") endif() +# USB Serial JTAG +if(CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED) + list(APPEND srcs "usb_serial_jtag_hal.c") +endif() + idf_component_register(SRCS ${srcs} INCLUDE_DIRS ${includes} REQUIRES soc hal) diff --git a/components/esp_hal_usb/README.md b/components/esp_hal_usb/README.md index 0efd2c37f32..490b955c9bf 100644 --- a/components/esp_hal_usb/README.md +++ b/components/esp_hal_usb/README.md @@ -19,18 +19,16 @@ The USB HAL is structured in two main sub-layers: This HAL supports various USB controller and PHY types depending on the ESP chip: -- **USB-DWC (DesignWare USB Controller)**: The main USB OTG controller available on: - - ESP32-S2 - - ESP32-S3 - - ESP32-H4 - - ESP32-P4 +- **USB-DWC (DesignWare USB Controller)**: The main USB OTG controller supporting USB Host and Device modes + +- **USB Serial JTAG**: A special USB peripheral that combines USB CDC-ACM functionality with JTAG debugging capabilities - **USB WRAP**: A wrapper/peripheral controller that provides additional USB functionality and GPIO matrix integration - **USB PHY Types**: - **FSLS (Full Speed/Low Speed) Internal PHY**: Built-in PHY supporting USB Full Speed and Low Speed operation - **FSLS External PHY**: Support for external FSLS PHY via GPIO matrix - - **UTMI PHY**: UTMI+ compliant PHY interface (available on ESP32-P4) + - **UTMI PHY**: UTMI+ compliant PHY interface for High Speed USB support ## Features diff --git a/components/hal/esp32c3/include/hal/usb_serial_jtag_ll.h b/components/esp_hal_usb/esp32c3/include/hal/usb_serial_jtag_ll.h similarity index 98% rename from components/hal/esp32c3/include/hal/usb_serial_jtag_ll.h rename to components/esp_hal_usb/esp32c3/include/hal/usb_serial_jtag_ll.h index 1006f9d66f4..03df9573c34 100644 --- a/components/hal/esp32c3/include/hal/usb_serial_jtag_ll.h +++ b/components/esp_hal_usb/esp32c3/include/hal/usb_serial_jtag_ll.h @@ -31,7 +31,6 @@ typedef enum { USB_SERIAL_JTAG_INTR_EP1_ZERO_PAYLOAD = (1 << 10), } usb_serial_jtag_ll_intr_t; - #ifdef __cplusplus extern "C" { #endif @@ -116,7 +115,9 @@ static inline int usb_serial_jtag_ll_read_rxfifo(uint8_t *buf, uint32_t rd_len) { int i; for (i = 0; i < (int)rd_len; i++) { - if (!USB_SERIAL_JTAG.ep1_conf.serial_out_ep_data_avail) break; + if (!USB_SERIAL_JTAG.ep1_conf.serial_out_ep_data_avail) { + break; + } buf[i] = USB_SERIAL_JTAG.ep1.rdwr_byte; } return i; @@ -135,7 +136,9 @@ static inline int usb_serial_jtag_ll_write_txfifo(const uint8_t *buf, uint32_t w { int i; for (i = 0; i < (int)wr_len; i++) { - if (!USB_SERIAL_JTAG.ep1_conf.serial_in_ep_data_free) break; + if (!USB_SERIAL_JTAG.ep1_conf.serial_in_ep_data_free) { + break; + } USB_SERIAL_JTAG.ep1.rdwr_byte = buf[i]; } return i; @@ -178,7 +181,7 @@ static inline int usb_serial_jtag_ll_txfifo_writable(void) */ static inline void usb_serial_jtag_ll_txfifo_flush(void) { - USB_SERIAL_JTAG.ep1_conf.wr_done=1; + USB_SERIAL_JTAG.ep1_conf.wr_done = 1; } /* ---------------------------- USB PHY Control ---------------------------- */ @@ -335,7 +338,6 @@ FORCE_INLINE_ATTR bool usb_serial_jtag_ll_module_is_enabled(void) usb_serial_jtag_ll_module_is_enabled(__VA_ARGS__); \ }) - #ifdef __cplusplus } #endif diff --git a/components/hal/esp32c5/include/hal/usb_serial_jtag_ll.h b/components/esp_hal_usb/esp32c5/include/hal/usb_serial_jtag_ll.h similarity index 98% rename from components/hal/esp32c5/include/hal/usb_serial_jtag_ll.h rename to components/esp_hal_usb/esp32c5/include/hal/usb_serial_jtag_ll.h index 181c1c787f5..25244094687 100644 --- a/components/hal/esp32c5/include/hal/usb_serial_jtag_ll.h +++ b/components/esp_hal_usb/esp32c5/include/hal/usb_serial_jtag_ll.h @@ -115,7 +115,9 @@ static inline int usb_serial_jtag_ll_read_rxfifo(uint8_t *buf, uint32_t rd_len) { int i; for (i = 0; i < (int)rd_len; i++) { - if (!USB_SERIAL_JTAG.ep1_conf.serial_out_ep_data_avail) break; + if (!USB_SERIAL_JTAG.ep1_conf.serial_out_ep_data_avail) { + break; + } buf[i] = USB_SERIAL_JTAG.ep1.val; } return i; @@ -134,7 +136,9 @@ static inline int usb_serial_jtag_ll_write_txfifo(const uint8_t *buf, uint32_t w { int i; for (i = 0; i < (int)wr_len; i++) { - if (!USB_SERIAL_JTAG.ep1_conf.serial_in_ep_data_free) break; + if (!USB_SERIAL_JTAG.ep1_conf.serial_in_ep_data_free) { + break; + } USB_SERIAL_JTAG.ep1.val = buf[i]; } return i; @@ -177,7 +181,7 @@ static inline int usb_serial_jtag_ll_txfifo_writable(void) */ static inline void usb_serial_jtag_ll_txfifo_flush(void) { - USB_SERIAL_JTAG.ep1_conf.wr_done=1; + USB_SERIAL_JTAG.ep1_conf.wr_done = 1; } /** diff --git a/components/hal/esp32c6/include/hal/usb_serial_jtag_ll.h b/components/esp_hal_usb/esp32c6/include/hal/usb_serial_jtag_ll.h similarity index 98% rename from components/hal/esp32c6/include/hal/usb_serial_jtag_ll.h rename to components/esp_hal_usb/esp32c6/include/hal/usb_serial_jtag_ll.h index 391d7259c83..e037297f555 100644 --- a/components/hal/esp32c6/include/hal/usb_serial_jtag_ll.h +++ b/components/esp_hal_usb/esp32c6/include/hal/usb_serial_jtag_ll.h @@ -31,7 +31,6 @@ typedef enum { USB_SERIAL_JTAG_INTR_EP1_ZERO_PAYLOAD = (1 << 10), } usb_serial_jtag_ll_intr_t; - #ifdef __cplusplus extern "C" { #endif @@ -116,7 +115,9 @@ static inline int usb_serial_jtag_ll_read_rxfifo(uint8_t *buf, uint32_t rd_len) { int i; for (i = 0; i < (int)rd_len; i++) { - if (!USB_SERIAL_JTAG.ep1_conf.serial_out_ep_data_avail) break; + if (!USB_SERIAL_JTAG.ep1_conf.serial_out_ep_data_avail) { + break; + } buf[i] = USB_SERIAL_JTAG.ep1.rdwr_byte; } return i; @@ -135,7 +136,9 @@ static inline int usb_serial_jtag_ll_write_txfifo(const uint8_t *buf, uint32_t w { int i; for (i = 0; i < (int)wr_len; i++) { - if (!USB_SERIAL_JTAG.ep1_conf.serial_in_ep_data_free) break; + if (!USB_SERIAL_JTAG.ep1_conf.serial_in_ep_data_free) { + break; + } USB_SERIAL_JTAG.ep1.rdwr_byte = buf[i]; } return i; @@ -178,7 +181,7 @@ static inline int usb_serial_jtag_ll_txfifo_writable(void) */ static inline void usb_serial_jtag_ll_txfifo_flush(void) { - USB_SERIAL_JTAG.ep1_conf.wr_done=1; + USB_SERIAL_JTAG.ep1_conf.wr_done = 1; } /** diff --git a/components/hal/esp32c61/include/hal/usb_serial_jtag_ll.h b/components/esp_hal_usb/esp32c61/include/hal/usb_serial_jtag_ll.h similarity index 98% rename from components/hal/esp32c61/include/hal/usb_serial_jtag_ll.h rename to components/esp_hal_usb/esp32c61/include/hal/usb_serial_jtag_ll.h index dd92489249a..1333b02a12c 100644 --- a/components/hal/esp32c61/include/hal/usb_serial_jtag_ll.h +++ b/components/esp_hal_usb/esp32c61/include/hal/usb_serial_jtag_ll.h @@ -115,7 +115,9 @@ static inline int usb_serial_jtag_ll_read_rxfifo(uint8_t *buf, uint32_t rd_len) { int i; for (i = 0; i < (int)rd_len; i++) { - if (!USB_SERIAL_JTAG.ep1_conf.serial_out_ep_data_avail) break; + if (!USB_SERIAL_JTAG.ep1_conf.serial_out_ep_data_avail) { + break; + } buf[i] = USB_SERIAL_JTAG.ep1.val; } return i; @@ -134,7 +136,9 @@ static inline int usb_serial_jtag_ll_write_txfifo(const uint8_t *buf, uint32_t w { int i; for (i = 0; i < (int)wr_len; i++) { - if (!USB_SERIAL_JTAG.ep1_conf.serial_in_ep_data_free) break; + if (!USB_SERIAL_JTAG.ep1_conf.serial_in_ep_data_free) { + break; + } USB_SERIAL_JTAG.ep1.val = buf[i]; } return i; @@ -177,7 +181,7 @@ static inline int usb_serial_jtag_ll_txfifo_writable(void) */ static inline void usb_serial_jtag_ll_txfifo_flush(void) { - USB_SERIAL_JTAG.ep1_conf.wr_done=1; + USB_SERIAL_JTAG.ep1_conf.wr_done = 1; } /** diff --git a/components/hal/esp32h2/include/hal/usb_serial_jtag_ll.h b/components/esp_hal_usb/esp32h2/include/hal/usb_serial_jtag_ll.h similarity index 98% rename from components/hal/esp32h2/include/hal/usb_serial_jtag_ll.h rename to components/esp_hal_usb/esp32h2/include/hal/usb_serial_jtag_ll.h index 8ced13dcaa1..0c88b81dabf 100644 --- a/components/hal/esp32h2/include/hal/usb_serial_jtag_ll.h +++ b/components/esp_hal_usb/esp32h2/include/hal/usb_serial_jtag_ll.h @@ -31,7 +31,6 @@ typedef enum { USB_SERIAL_JTAG_INTR_EP1_ZERO_PAYLOAD = (1 << 10), } usb_serial_jtag_ll_intr_t; - #ifdef __cplusplus extern "C" { #endif @@ -116,7 +115,9 @@ static inline int usb_serial_jtag_ll_read_rxfifo(uint8_t *buf, uint32_t rd_len) { int i; for (i = 0; i < (int)rd_len; i++) { - if (!USB_SERIAL_JTAG.ep1_conf.serial_out_ep_data_avail) break; + if (!USB_SERIAL_JTAG.ep1_conf.serial_out_ep_data_avail) { + break; + } buf[i] = USB_SERIAL_JTAG.ep1.rdwr_byte; } return i; @@ -135,7 +136,9 @@ static inline int usb_serial_jtag_ll_write_txfifo(const uint8_t *buf, uint32_t w { int i; for (i = 0; i < (int)wr_len; i++) { - if (!USB_SERIAL_JTAG.ep1_conf.serial_in_ep_data_free) break; + if (!USB_SERIAL_JTAG.ep1_conf.serial_in_ep_data_free) { + break; + } USB_SERIAL_JTAG.ep1.rdwr_byte = buf[i]; } return i; @@ -178,7 +181,7 @@ static inline int usb_serial_jtag_ll_txfifo_writable(void) */ static inline void usb_serial_jtag_ll_txfifo_flush(void) { - USB_SERIAL_JTAG.ep1_conf.wr_done=1; + USB_SERIAL_JTAG.ep1_conf.wr_done = 1; } /** diff --git a/components/hal/esp32h21/include/hal/usb_serial_jtag_ll.h b/components/esp_hal_usb/esp32h21/include/hal/usb_serial_jtag_ll.h similarity index 98% rename from components/hal/esp32h21/include/hal/usb_serial_jtag_ll.h rename to components/esp_hal_usb/esp32h21/include/hal/usb_serial_jtag_ll.h index 3c47d10dab4..53074db5bab 100644 --- a/components/hal/esp32h21/include/hal/usb_serial_jtag_ll.h +++ b/components/esp_hal_usb/esp32h21/include/hal/usb_serial_jtag_ll.h @@ -31,7 +31,6 @@ typedef enum { USB_SERIAL_JTAG_INTR_EP1_ZERO_PAYLOAD = (1 << 10), } usb_serial_jtag_ll_intr_t; - #ifdef __cplusplus extern "C" { #endif @@ -116,7 +115,9 @@ static inline int usb_serial_jtag_ll_read_rxfifo(uint8_t *buf, uint32_t rd_len) { int i; for (i = 0; i < (int)rd_len; i++) { - if (!USB_SERIAL_JTAG.serial_jtag_ep1_conf.serial_jtag_serial_out_ep_data_avail) break; + if (!USB_SERIAL_JTAG.serial_jtag_ep1_conf.serial_jtag_serial_out_ep_data_avail) { + break; + } buf[i] = USB_SERIAL_JTAG.serial_jtag_ep1.val; } return i; @@ -135,7 +136,9 @@ static inline int usb_serial_jtag_ll_write_txfifo(const uint8_t *buf, uint32_t w { int i; for (i = 0; i < (int)wr_len; i++) { - if (!USB_SERIAL_JTAG.serial_jtag_ep1_conf.serial_jtag_serial_in_ep_data_free) break; + if (!USB_SERIAL_JTAG.serial_jtag_ep1_conf.serial_jtag_serial_in_ep_data_free) { + break; + } USB_SERIAL_JTAG.serial_jtag_ep1.val = buf[i]; } return i; @@ -178,7 +181,7 @@ static inline int usb_serial_jtag_ll_txfifo_writable(void) */ static inline void usb_serial_jtag_ll_txfifo_flush(void) { - USB_SERIAL_JTAG.serial_jtag_ep1_conf.serial_jtag_wr_done=1; + USB_SERIAL_JTAG.serial_jtag_ep1_conf.serial_jtag_wr_done = 1; } /** @@ -328,8 +331,6 @@ FORCE_INLINE_ATTR bool usb_serial_jtag_ll_module_is_enabled(void) return (PCR.usb_device_conf.usb_device_clk_en && !PCR.usb_device_conf.usb_device_rst_en); } - - #ifdef __cplusplus } #endif diff --git a/components/hal/esp32h4/include/hal/usb_serial_jtag_ll.h b/components/esp_hal_usb/esp32h4/include/hal/usb_serial_jtag_ll.h similarity index 98% rename from components/hal/esp32h4/include/hal/usb_serial_jtag_ll.h rename to components/esp_hal_usb/esp32h4/include/hal/usb_serial_jtag_ll.h index 95ef6a7e4cf..eb70a4e82e6 100644 --- a/components/hal/esp32h4/include/hal/usb_serial_jtag_ll.h +++ b/components/esp_hal_usb/esp32h4/include/hal/usb_serial_jtag_ll.h @@ -31,7 +31,6 @@ typedef enum { USB_SERIAL_JTAG_INTR_EP1_ZERO_PAYLOAD = (1 << 10), } usb_serial_jtag_ll_intr_t; - #ifdef __cplusplus extern "C" { #endif @@ -116,7 +115,9 @@ static inline int usb_serial_jtag_ll_read_rxfifo(uint8_t *buf, uint32_t rd_len) { int i; for (i = 0; i < (int)rd_len; i++) { - if (!USB_SERIAL_JTAG.serial_jtag_ep1_conf.serial_jtag_serial_out_ep_data_avail) break; + if (!USB_SERIAL_JTAG.serial_jtag_ep1_conf.serial_jtag_serial_out_ep_data_avail) { + break; + } buf[i] = USB_SERIAL_JTAG.serial_jtag_ep1.val; } return i; @@ -135,7 +136,9 @@ static inline int usb_serial_jtag_ll_write_txfifo(const uint8_t *buf, uint32_t w { int i; for (i = 0; i < (int)wr_len; i++) { - if (!USB_SERIAL_JTAG.serial_jtag_ep1_conf.serial_jtag_serial_in_ep_data_free) break; + if (!USB_SERIAL_JTAG.serial_jtag_ep1_conf.serial_jtag_serial_in_ep_data_free) { + break; + } USB_SERIAL_JTAG.serial_jtag_ep1.val = buf[i]; } return i; @@ -178,7 +181,7 @@ static inline int usb_serial_jtag_ll_txfifo_writable(void) */ static inline void usb_serial_jtag_ll_txfifo_flush(void) { - USB_SERIAL_JTAG.serial_jtag_ep1_conf.serial_jtag_wr_done=1; + USB_SERIAL_JTAG.serial_jtag_ep1_conf.serial_jtag_wr_done = 1; } /** @@ -328,8 +331,6 @@ FORCE_INLINE_ATTR bool usb_serial_jtag_ll_module_is_enabled(void) return (PCR.usb_device_conf.usb_device_clk_en && !PCR.usb_device_conf.usb_device_rst_en); } - - #ifdef __cplusplus } #endif diff --git a/components/hal/esp32p4/include/hal/usb_serial_jtag_ll.h b/components/esp_hal_usb/esp32p4/include/hal/usb_serial_jtag_ll.h similarity index 98% rename from components/hal/esp32p4/include/hal/usb_serial_jtag_ll.h rename to components/esp_hal_usb/esp32p4/include/hal/usb_serial_jtag_ll.h index 9b8aead77bb..3133204529a 100644 --- a/components/hal/esp32p4/include/hal/usb_serial_jtag_ll.h +++ b/components/esp_hal_usb/esp32p4/include/hal/usb_serial_jtag_ll.h @@ -119,7 +119,9 @@ static inline int usb_serial_jtag_ll_read_rxfifo(uint8_t *buf, uint32_t rd_len) { int i; for (i = 0; i < (int)rd_len; i++) { - if (!USB_SERIAL_JTAG.ep1_conf.serial_out_ep_data_avail) break; + if (!USB_SERIAL_JTAG.ep1_conf.serial_out_ep_data_avail) { + break; + } buf[i] = HAL_FORCE_READ_U32_REG_FIELD(USB_SERIAL_JTAG.ep1, rdwr_byte); } return i; @@ -138,7 +140,9 @@ static inline int usb_serial_jtag_ll_write_txfifo(const uint8_t *buf, uint32_t w { int i; for (i = 0; i < (int)wr_len; i++) { - if (!USB_SERIAL_JTAG.ep1_conf.serial_in_ep_data_free) break; + if (!USB_SERIAL_JTAG.ep1_conf.serial_in_ep_data_free) { + break; + } HAL_FORCE_MODIFY_U32_REG_FIELD(USB_SERIAL_JTAG.ep1, rdwr_byte, buf[i]); } return i; @@ -181,7 +185,7 @@ static inline int usb_serial_jtag_ll_txfifo_writable(void) */ static inline void usb_serial_jtag_ll_txfifo_flush(void) { - USB_SERIAL_JTAG.ep1_conf.wr_done=1; + USB_SERIAL_JTAG.ep1_conf.wr_done = 1; } /** diff --git a/components/hal/esp32s3/include/hal/usb_serial_jtag_ll.h b/components/esp_hal_usb/esp32s3/include/hal/usb_serial_jtag_ll.h similarity index 98% rename from components/hal/esp32s3/include/hal/usb_serial_jtag_ll.h rename to components/esp_hal_usb/esp32s3/include/hal/usb_serial_jtag_ll.h index 17e7183ad08..21eb199567b 100644 --- a/components/hal/esp32s3/include/hal/usb_serial_jtag_ll.h +++ b/components/esp_hal_usb/esp32s3/include/hal/usb_serial_jtag_ll.h @@ -33,7 +33,6 @@ typedef enum { USB_SERIAL_JTAG_INTR_EP1_ZERO_PAYLOAD = (1 << 10), } usb_serial_jtag_intr_t; - #ifdef __cplusplus extern "C" { #endif @@ -118,7 +117,9 @@ static inline uint32_t usb_serial_jtag_ll_read_rxfifo(uint8_t *buf, uint32_t rd_ { uint32_t i; for (i = 0; i < rd_len; i++) { - if (!USB_SERIAL_JTAG.ep1_conf.serial_out_ep_data_avail) break; + if (!USB_SERIAL_JTAG.ep1_conf.serial_out_ep_data_avail) { + break; + } buf[i] = USB_SERIAL_JTAG.ep1.rdwr_byte; } return i; @@ -137,7 +138,9 @@ static inline uint32_t usb_serial_jtag_ll_write_txfifo(const uint8_t *buf, uint3 { uint32_t i; for (i = 0; i < wr_len; i++) { - if (!USB_SERIAL_JTAG.ep1_conf.serial_in_ep_data_free) break; + if (!USB_SERIAL_JTAG.ep1_conf.serial_in_ep_data_free) { + break; + } USB_SERIAL_JTAG.ep1.rdwr_byte = buf[i]; } return i; @@ -180,7 +183,7 @@ static inline int usb_serial_jtag_ll_txfifo_writable(void) */ static inline void usb_serial_jtag_ll_txfifo_flush(void) { - USB_SERIAL_JTAG.ep1_conf.wr_done=1; + USB_SERIAL_JTAG.ep1_conf.wr_done = 1; } /** diff --git a/components/hal/include/hal/usb_serial_jtag_hal.h b/components/esp_hal_usb/include/hal/usb_serial_jtag_hal.h similarity index 100% rename from components/hal/include/hal/usb_serial_jtag_hal.h rename to components/esp_hal_usb/include/hal/usb_serial_jtag_hal.h diff --git a/components/hal/usb_serial_jtag_hal.c b/components/esp_hal_usb/usb_serial_jtag_hal.c similarity index 100% rename from components/hal/usb_serial_jtag_hal.c rename to components/esp_hal_usb/usb_serial_jtag_hal.c diff --git a/components/hal/CMakeLists.txt b/components/hal/CMakeLists.txt index 704b6f36ae2..89f8981e704 100644 --- a/components/hal/CMakeLists.txt +++ b/components/hal/CMakeLists.txt @@ -234,10 +234,6 @@ elseif(NOT BOOTLOADER_BUILD) list(APPEND srcs "ds_hal.c") endif() - if(CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED) - list(APPEND srcs "usb_serial_jtag_hal.c") - endif() - if(CONFIG_SOC_TOUCH_SENSOR_SUPPORTED) # Source files for the legacy touch hal driver if(CONFIG_SOC_TOUCH_SENSOR_VERSION LESS 3)