This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 1ca460c89a02d359226905659b0c9e52091c41f2 Author: Tiago Medicci Serrano <[email protected]> AuthorDate: Thu Dec 7 13:53:58 2023 -0300 esp32s3: Fully integrate Espressif HAL repository to ESP32-S3 By integrating the Espressif`s HAL repository into the current ESP32-S3 implementation on NuttX, it is possible to call functions that make it easier to set up the registers of the ESP32-S3 and enables the usage of common Espressif drivers. Please note that Espressif's HAL repository was already being used for the Wi-Fi driver. Then, this commit includes other source files to be used by other drivers other than Wi-Fi and reorganize the build process. --- arch/xtensa/src/esp32s3/Kconfig | 6 ++ arch/xtensa/src/esp32s3/Make.defs | 20 ++++- arch/xtensa/src/esp32s3/Wireless.mk | 96 +++++++++------------- arch/xtensa/src/esp32s3/esp32s3_clockconfig.c | 39 --------- arch/xtensa/src/esp32s3/esp32s3_clockconfig.h | 34 +------- arch/xtensa/src/esp32s3/esp32s3_gpio.c | 3 + arch/xtensa/src/esp32s3/esp32s3_gpio.h | 38 ++++++--- arch/xtensa/src/esp32s3/esp32s3_rtc.c | 3 - arch/xtensa/src/esp32s3/esp32s3_wifi_adapter.c | 94 ++++++++++----------- arch/xtensa/src/esp32s3/hal.mk | 95 +++++++++++++++++++++ boards/xtensa/esp32s3/common/src/esp32s3_lan9250.c | 2 +- .../esp32s3/esp32s3-box/src/esp32s3_buttons.c | 2 +- .../esp32s3/esp32s3-devkit/src/esp32s3_buttons.c | 2 +- .../esp32s3/esp32s3-devkit/src/esp32s3_djoystick.c | 4 +- .../esp32s3/esp32s3-devkit/src/esp32s3_gpio.c | 2 +- .../esp32s3/esp32s3-eye/src/esp32s3_buttons.c | 2 +- .../xtensa/esp32s3/esp32s3-eye/src/esp32s3_gpio.c | 2 +- .../esp32s3/esp32s3-lcd-ev/src/esp32s3_buttons.c | 2 +- 18 files changed, 247 insertions(+), 199 deletions(-) diff --git a/arch/xtensa/src/esp32s3/Kconfig b/arch/xtensa/src/esp32s3/Kconfig index 88e3c892ef..0568c64e74 100644 --- a/arch/xtensa/src/esp32s3/Kconfig +++ b/arch/xtensa/src/esp32s3/Kconfig @@ -35,6 +35,10 @@ config ARCH_CHIP_ESP32S3MINI1 endchoice # ESP32-S3 Chip Selection +config ESPRESSIF_CHIP_SERIES + string + default "esp32s3" + choice ESP32S3_DEFAULT_CPU_FREQ prompt "CPU frequency" default ESP32S3_DEFAULT_CPU_FREQ_240 @@ -264,6 +268,8 @@ config ESP32S3_RUN_IRAM menu "ESP32-S3 Peripheral Selection" +source "arch/xtensa/src/common/espressif/Kconfig" + config ESP32S3_UART bool default n diff --git a/arch/xtensa/src/esp32s3/Make.defs b/arch/xtensa/src/esp32s3/Make.defs index a04e66ff6a..3dd9169823 100644 --- a/arch/xtensa/src/esp32s3/Make.defs +++ b/arch/xtensa/src/esp32s3/Make.defs @@ -191,7 +191,7 @@ endif ESP_HAL_3RDPARTY_REPO = esp-hal-3rdparty ifndef ESP_HAL_3RDPARTY_VERSION - ESP_HAL_3RDPARTY_VERSION = 2fbc8a025275d68833cdfef490377048538de57a + ESP_HAL_3RDPARTY_VERSION = 22804823777dbbb7f43925b7729b3a32331aa7cd endif ifndef ESP_HAL_3RDPARTY_URL @@ -212,6 +212,24 @@ CFLAGS += -Wno-undef -Wno-unused-variable include chip/Bootloader.mk +CHIP_SERIES = $(patsubst "%",%,$(CONFIG_ESPRESSIF_CHIP_SERIES)) + +include chip/hal.mk + +include common/espressif/Make.defs + +context:: chip/$(ESP_HAL_3RDPARTY_REPO) +ifeq ($(CONFIG_ESP32S3_WIRELESS),y) + $(Q) echo "Espressif HAL for 3rd Party Platforms: initializing submodules..." + $(Q) git -C chip/$(ESP_HAL_3RDPARTY_REPO) submodule --quiet update --init --depth=1 components/mbedtls/mbedtls components/esp_phy/lib components/esp_wifi/lib components/bt/controller/lib_esp32c3_family components/esp_coex/lib + $(Q) git -C chip/$(ESP_HAL_3RDPARTY_REPO)/components/mbedtls/mbedtls reset --quiet --hard + $(Q) echo "Applying patches..." + $(Q) cd chip/$(ESP_HAL_3RDPARTY_REPO)/components/mbedtls/mbedtls && git apply ../../../nuttx/patches/components/mbedtls/mbedtls/*.patch +endif + +distclean:: + $(call DELDIR, chip/$(ESP_HAL_3RDPARTY_REPO)) + ifeq ($(CONFIG_ESP32S3_WIRELESS),y) include chip/Wireless.mk endif diff --git a/arch/xtensa/src/esp32s3/Wireless.mk b/arch/xtensa/src/esp32s3/Wireless.mk index 98a4fb657e..9ca8d91fa8 100644 --- a/arch/xtensa/src/esp32s3/Wireless.mk +++ b/arch/xtensa/src/esp32s3/Wireless.mk @@ -18,37 +18,21 @@ # ############################################################################ -context:: chip/$(ESP_HAL_3RDPARTY_REPO) - $(Q) echo "Espressif HAL for 3rd Party Platforms: initializing submodules..." - $(Q) git -C chip/$(ESP_HAL_3RDPARTY_REPO) submodule --quiet update --init --depth=1 components/mbedtls/mbedtls components/esp_phy/lib components/esp_wifi/lib components/bt/controller/lib_esp32c3_family components/esp_coex/lib - $(Q) git -C chip/$(ESP_HAL_3RDPARTY_REPO)/components/mbedtls/mbedtls reset --quiet --hard - $(Q) echo "Applying patches..." - $(Q) cd chip/$(ESP_HAL_3RDPARTY_REPO)/components/mbedtls/mbedtls && git apply ../../../nuttx/patches/components/mbedtls/mbedtls/*.patch - -distclean:: - $(call DELDIR, chip/$(ESP_HAL_3RDPARTY_REPO)) - -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_coex$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_common$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)bt$(DELIM)include$(DELIM)esp32c3$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_event$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_phy$(DELIM)esp32s3$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_phy$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_rom$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_rom$(DELIM)include$(DELIM)esp32s3 -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_system$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_timer$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_wifi$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)log$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)esp32s3$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)esp32s3$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)include$(DELIM)esp_wifi +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)bt$(DELIM)include$(DELIM)esp32c3$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_coex$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_event$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_phy$(DELIM)esp32s3$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_phy$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_rom$(DELIM)include$(DELIM)esp32s3 +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_wifi$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)esp32s3$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)esp32s3$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)include$(DELIM)esp_wifi -EXTRA_LIBPATHS += -L $(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_phy$(DELIM)lib$(DELIM)esp32s3 -EXTRA_LIBPATHS += -L $(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_wifi$(DELIM)lib$(DELIM)esp32s3 EXTRA_LIBPATHS += -L $(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)bt$(DELIM)controller$(DELIM)lib_esp32c3_family$(DELIM)esp32s3 EXTRA_LIBPATHS += -L $(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_coex$(DELIM)lib$(DELIM)esp32s3 +EXTRA_LIBPATHS += -L $(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_phy$(DELIM)lib$(DELIM)esp32s3 +EXTRA_LIBPATHS += -L $(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_wifi$(DELIM)lib$(DELIM)esp32s3 EXTRA_LIBS += -lphy -lcoexist @@ -73,22 +57,22 @@ endif VPATH += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)mbedtls$(DELIM)mbedtls$(DELIM)library -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)mbedtls$(DELIM)mbedtls$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)mbedtls$(DELIM)mbedtls$(DELIM)library -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)mbedtls$(DELIM)port$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)include$(DELIM)mbedtls +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)mbedtls$(DELIM)mbedtls$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)mbedtls$(DELIM)mbedtls$(DELIM)library +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)mbedtls$(DELIM)port$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)include$(DELIM)mbedtls ### Define Espressif's configs for mbedTLS -CFLAGS += ${DEFINE_PREFIX}MBEDTLS_CONFIG_FILE="<mbedtls/esp_config.h>" +CFLAGS += $(DEFINE_PREFIX)MBEDTLS_CONFIG_FILE="<mbedtls/esp_config.h>" CHIP_CSRCS += aes.c CHIP_CSRCS += aria.c CHIP_CSRCS += bignum_core.c CHIP_CSRCS += bignum.c CHIP_CSRCS += ccm.c -CHIP_CSRCS += cipher.c CHIP_CSRCS += cipher_wrap.c +CHIP_CSRCS += cipher.c CHIP_CSRCS += cmac.c CHIP_CSRCS += constant_time.c CHIP_CSRCS += ctr_drbg.c @@ -118,32 +102,32 @@ CHIP_CSRCS += esp_md.c WIFI_WPA_SUPPLICANT = chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)wpa_supplicant -CFLAGS += ${DEFINE_PREFIX}__ets__ -CFLAGS += ${DEFINE_PREFIX}CONFIG_CRYPTO_MBEDTLS -CFLAGS += ${DEFINE_PREFIX}CONFIG_ECC -CFLAGS += ${DEFINE_PREFIX}CONFIG_IEEE80211W -CFLAGS += ${DEFINE_PREFIX}CONFIG_WPA3_SAE -CFLAGS += ${DEFINE_PREFIX}EAP_PEER_METHOD -CFLAGS += ${DEFINE_PREFIX}ESP_PLATFORM=1 -CFLAGS += ${DEFINE_PREFIX}ESP_SUPPLICANT -CFLAGS += ${DEFINE_PREFIX}ESPRESSIF_USE -CFLAGS += ${DEFINE_PREFIX}IEEE8021X_EAPOL -CFLAGS += ${DEFINE_PREFIX}USE_WPA2_TASK +CFLAGS += $(DEFINE_PREFIX)__ets__ +CFLAGS += $(DEFINE_PREFIX)CONFIG_CRYPTO_MBEDTLS +CFLAGS += $(DEFINE_PREFIX)CONFIG_ECC +CFLAGS += $(DEFINE_PREFIX)CONFIG_IEEE80211W +CFLAGS += $(DEFINE_PREFIX)CONFIG_WPA3_SAE +CFLAGS += $(DEFINE_PREFIX)EAP_PEER_METHOD +CFLAGS += $(DEFINE_PREFIX)ESP_PLATFORM=1 +CFLAGS += $(DEFINE_PREFIX)ESP_SUPPLICANT +CFLAGS += $(DEFINE_PREFIX)ESPRESSIF_USE +CFLAGS += $(DEFINE_PREFIX)IEEE8021X_EAPOL +CFLAGS += $(DEFINE_PREFIX)USE_WPA2_TASK ifeq ($(CONFIG_ESP_WIFI_GCMP_SUPPORT),y) -CFLAGS += ${DEFINE_PREFIX}CONFIG_GCMP +CFLAGS += $(DEFINE_PREFIX)CONFIG_GCMP endif ifeq ($(CONFIG_ESP_WIFI_GMAC_SUPPORT),y) -CFLAGS += ${DEFINE_PREFIX}CONFIG_GMAC +CFLAGS += $(DEFINE_PREFIX)CONFIG_GMAC endif -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)include -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)src +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)src VPATH += $(WIFI_WPA_SUPPLICANT)$(DELIM)src$(DELIM)ap -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)src$(DELIM)ap +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)src$(DELIM)ap CHIP_CSRCS += ap_config.c CHIP_CSRCS += ieee802_11.c @@ -154,7 +138,7 @@ CHIP_CSRCS += wpa_auth.c VPATH += $(WIFI_WPA_SUPPLICANT)$(DELIM)src$(DELIM)common -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)src$(DELIM)common +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)src$(DELIM)common CHIP_CSRCS += dragonfly.c CHIP_CSRCS += sae.c @@ -197,7 +181,7 @@ CHIP_CSRCS += wpa.c VPATH += $(WIFI_WPA_SUPPLICANT)$(DELIM)src$(DELIM)utils -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)src$(DELIM)utils +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)src$(DELIM)utils CHIP_CSRCS += base64.c CHIP_CSRCS += bitfield.c @@ -210,18 +194,18 @@ CHIP_CSRCS += wpabuf.c VPATH += $(WIFI_WPA_SUPPLICANT)$(DELIM)port -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)port$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)port$(DELIM)include CHIP_CSRCS += eloop.c CHIP_CSRCS += os_xtensa.c ## ESP Supplicant (Espressif's WPA supplicant extension) -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)esp_supplicant$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)esp_supplicant$(DELIM)include VPATH += $(WIFI_WPA_SUPPLICANT)$(DELIM)esp_supplicant$(DELIM)src -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)esp_supplicant$(DELIM)src +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)esp_supplicant$(DELIM)src CHIP_CSRCS += esp_common.c CHIP_CSRCS += esp_hostap.c @@ -232,7 +216,7 @@ CHIP_CSRCS += esp_wpas_glue.c VPATH += $(WIFI_WPA_SUPPLICANT)$(DELIM)esp_supplicant$(DELIM)src$(DELIM)crypto -INCLUDES += ${INCDIR_PREFIX}$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)src$(DELIM)crypto +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)$(WIFI_WPA_SUPPLICANT)$(DELIM)src$(DELIM)crypto CHIP_CSRCS += crypto_mbedtls-bignum.c CHIP_CSRCS += crypto_mbedtls-ec.c diff --git a/arch/xtensa/src/esp32s3/esp32s3_clockconfig.c b/arch/xtensa/src/esp32s3/esp32s3_clockconfig.c index f5c42c1162..787a406485 100644 --- a/arch/xtensa/src/esp32s3/esp32s3_clockconfig.c +++ b/arch/xtensa/src/esp32s3/esp32s3_clockconfig.c @@ -269,42 +269,3 @@ void esp32s3_clockconfig(void) esp32s3_set_cpu_freq(CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ); } - -/**************************************************************************** - * Name: esp_clk_cpu_freq - * - * Description: - * Get CPU frequency - * - * Input Parameters: - * None - * - * Returned Value: - * CPU frequency - * - ****************************************************************************/ - -int IRAM_ATTR esp_clk_cpu_freq(void) -{ - return (int)ets_get_cpu_frequency() * MHZ; -} - -/**************************************************************************** - * Name: esp_clk_apb_freq - * - * Description: - * Return current APB clock frequency. - * - * Input Parameters: - * None - * - * Returned Value: - * APB clock frequency, in Hz - * - ****************************************************************************/ - -int IRAM_ATTR esp_clk_apb_freq(void) -{ - return MIN(ets_get_cpu_frequency(), 80) * MHZ; -} - diff --git a/arch/xtensa/src/esp32s3/esp32s3_clockconfig.h b/arch/xtensa/src/esp32s3/esp32s3_clockconfig.h index 5cae74280b..c93c20fb8b 100644 --- a/arch/xtensa/src/esp32s3/esp32s3_clockconfig.h +++ b/arch/xtensa/src/esp32s3/esp32s3_clockconfig.h @@ -29,6 +29,8 @@ #include <stdint.h> +#include "esp_private/esp_clk.h" + /**************************************************************************** * Public Function Prototypes ****************************************************************************/ @@ -85,36 +87,4 @@ void esp32s3_set_cpu_freq(int cpu_freq_mhz); void esp32s3_clockconfig(void); -/**************************************************************************** - * Name: esp_clk_cpu_freq - * - * Description: - * Get the current CPU frequency. - * - * Input Parameters: - * None. - * - * Returned Value: - * CPU frequency in Hz. - * - ****************************************************************************/ - -int esp_clk_cpu_freq(void); - -/**************************************************************************** - * Name: esp_clk_apb_freq - * - * Description: - * Return current APB clock frequency. - * - * Input Parameters: - * None. - * - * Returned Value: - * APB clock frequency in Hz. - * - ****************************************************************************/ - -int esp_clk_apb_freq(void); - #endif /* __ARCH_XTENSA_SRC_ESP32S3_ESP32S3_CLOCKCONFIG_H */ diff --git a/arch/xtensa/src/esp32s3/esp32s3_gpio.c b/arch/xtensa/src/esp32s3/esp32s3_gpio.c index 5c0d3e77cf..d36b951b9f 100644 --- a/arch/xtensa/src/esp32s3/esp32s3_gpio.c +++ b/arch/xtensa/src/esp32s3/esp32s3_gpio.c @@ -34,6 +34,9 @@ #include <nuttx/irq.h> #include "xtensa.h" + +#include "soc/soc_caps.h" + #include "esp32s3_gpio.h" #include "esp32s3_irq.h" #include "hardware/esp32s3_gpio.h" diff --git a/arch/xtensa/src/esp32s3/esp32s3_gpio.h b/arch/xtensa/src/esp32s3/esp32s3_gpio.h index 7d2c203b63..8bcdafba85 100644 --- a/arch/xtensa/src/esp32s3/esp32s3_gpio.h +++ b/arch/xtensa/src/esp32s3/esp32s3_gpio.h @@ -93,6 +93,33 @@ # define OUTPUT_FUNCTION_5 (OUTPUT_FUNCTION | FUNCTION_5) # define OUTPUT_FUNCTION_6 (OUTPUT_FUNCTION | FUNCTION_6) +/* Interrupt type used with esp32s3_gpioirqenable() */ + +#define DISABLED 0x00 +#define RISING 0x01 +#define FALLING 0x02 +#define CHANGE 0x03 +#define ONLOW 0x04 +#define ONHIGH 0x05 + +/* Check whether it is a valid GPIO number */ + +#define GPIO_IS_VALID_GPIO(gpio_num) ((gpio_num >= 0) && \ + (((1ULL << (gpio_num)) & \ + SOC_GPIO_VALID_GPIO_MASK) != 0)) + +/* Check whether it can be a valid GPIO number of output mode */ + +#define GPIO_IS_VALID_OUTPUT_GPIO(gpio_num) \ + ((gpio_num >= 0) && \ + (((1ULL << (gpio_num)) & SOC_GPIO_VALID_OUTPUT_GPIO_MASK) != 0)) + +/* Check whether it can be a valid digital I/O pad */ + +#define GPIO_IS_VALID_DIGITAL_IO_PAD(gpio_num) \ + ((gpio_num >= 0) && \ + (((1ULL << (gpio_num)) & SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK) != 0)) + /**************************************************************************** * Public Types ****************************************************************************/ @@ -102,16 +129,7 @@ /* Must be big enough to hold the above encodings */ typedef uint16_t gpio_pinattr_t; - -typedef enum gpio_intrtype_e -{ - GPIO_INTR_DISABLE = 0, /* Disable GPIO interrupt */ - GPIO_INTR_POSEDGE = 1, /* Rising edge */ - GPIO_INTR_NEGEDGE = 2, /* Falling edge */ - GPIO_INTR_ANYEDGE = 3, /* Both rising and falling edge */ - GPIO_INTR_LOW_LEVEL = 4, /* Input low level trigger */ - GPIO_INTR_HIGH_LEVEL = 5 /* Input high level trigger */ -} gpio_intrtype_t; +typedef uint8_t gpio_intrtype_t; /**************************************************************************** * Public Data diff --git a/arch/xtensa/src/esp32s3/esp32s3_rtc.c b/arch/xtensa/src/esp32s3/esp32s3_rtc.c index 367a6b29c8..fad06a91e3 100644 --- a/arch/xtensa/src/esp32s3/esp32s3_rtc.c +++ b/arch/xtensa/src/esp32s3/esp32s3_rtc.c @@ -1253,9 +1253,6 @@ uint32_t IRAM_ATTR esp32s3_rtc_clk_cal(enum esp32s3_rtc_cal_sel_e cal_clk, return period; } -enum esp32s3_rtc_xtal_freq_e rtc_get_xtal(void) - __attribute__((alias("esp32s3_rtc_clk_xtal_freq_get"))); - /**************************************************************************** * Name: esp32s3_rtc_clk_xtal_freq_get * diff --git a/arch/xtensa/src/esp32s3/esp32s3_wifi_adapter.c b/arch/xtensa/src/esp32s3/esp32s3_wifi_adapter.c index 8ba356cf79..74c40e541b 100644 --- a/arch/xtensa/src/esp32s3/esp32s3_wifi_adapter.c +++ b/arch/xtensa/src/esp32s3/esp32s3_wifi_adapter.c @@ -294,6 +294,11 @@ static int32_t esp_nvs_erase_key(uint32_t handle, const char *key); static int32_t esp_get_random(uint8_t *buf, size_t len); static int32_t esp_get_time(void *t); static uint32_t esp_clk_slowclk_cal_get_wrapper(void); +static void esp_log_writev_wrapper(uint32_t level, const char *tag, + const char *format, va_list args); +static void esp_log_write_wrapper(uint32_t level, + const char *tag, + const char *format, ...); static void *esp_malloc_internal(size_t size); static void *esp_realloc_internal(void *ptr, size_t size); static void *esp_calloc_internal(size_t n, size_t size); @@ -515,8 +520,8 @@ wifi_osi_funcs_t g_wifi_osi_funcs = ._get_time = esp_get_time, ._random = esp_random_ulong, ._slowclk_cal_get = esp_clk_slowclk_cal_get_wrapper, - ._log_write = esp_log_write, - ._log_writev = esp_log_writev, + ._log_write = esp_log_write_wrapper, + ._log_writev = esp_log_writev_wrapper, ._log_timestamp = esp_log_timestamp, ._malloc_internal = esp_malloc_internal, ._realloc_internal = esp_realloc_internal, @@ -3245,7 +3250,7 @@ static uint32_t esp_clk_slowclk_cal_get_wrapper(void) } /**************************************************************************** - * Name: esp_log_writev + * Name: esp_log_writev_wrapper * * Description: * Output log with by format string and its arguments @@ -3261,34 +3266,29 @@ static uint32_t esp_clk_slowclk_cal_get_wrapper(void) * ****************************************************************************/ -void esp_log_writev(uint32_t level, const char *tag, - const char *format, va_list args) +static void esp_log_writev_wrapper(uint32_t level, const char *tag, + const char *format, va_list args) { - switch (level) - { -#ifdef CONFIG_DEBUG_WIRELESS_ERROR - case ESP_LOG_ERROR: - vsyslog(LOG_ERR, format, args); - break; -#endif -#ifdef CONFIG_DEBUG_WIRELESS_WARN - case ESP_LOG_WARN: - vsyslog(LOG_WARNING, format, args); - break; -#endif -#ifdef CONFIG_DEBUG_WIRELESS_INFO - case ESP_LOG_INFO: - vsyslog(LOG_INFO, format, args); - break; - default: - vsyslog(LOG_DEBUG, format, args); - break; + esp_log_level_t max_level; + +#if defined (CONFIG_DEBUG_WIRELESS_INFO) + max_level = ESP_LOG_VERBOSE; +#elif defined (CONFIG_DEBUG_WIRELESS_WARN) + max_level = ESP_LOG_WARN; +#elif defined (CONFIG_DEBUG_WIRELESS_ERROR) + max_level = ESP_LOG_ERROR; +#else + max_level = ESP_LOG_NONE; #endif + + if (level <= max_level) + { + esp_log_writev(level, tag, format, args); } } /**************************************************************************** - * Name: esp_log_write + * Name: esp_log_write_wrapper * * Description: * Output log with by format string and its arguments @@ -3303,33 +3303,29 @@ void esp_log_writev(uint32_t level, const char *tag, * ****************************************************************************/ -void esp_log_write(uint32_t level, - const char *tag, - const char *format, ...) +static void esp_log_write_wrapper(uint32_t level, + const char *tag, + const char *format, ...) { - va_list list; - va_start(list, format); - esp_log_writev(level, tag, format, list); - va_end(list); -} + esp_log_level_t max_level; -/**************************************************************************** - * Name: esp_log_timestamp - * - * Description: - * Get system time by millim second - * - * Input Parameters: - * None - * - * Returned Value: - * System time - * - ****************************************************************************/ +#if defined (CONFIG_DEBUG_WIRELESS_INFO) + max_level = ESP_LOG_VERBOSE; +#elif defined (CONFIG_DEBUG_WIRELESS_WARN) + max_level = ESP_LOG_WARN; +#elif defined (CONFIG_DEBUG_WIRELESS_ERROR) + max_level = ESP_LOG_ERROR; +#else + max_level = ESP_LOG_NONE; +#endif -uint32_t esp_log_timestamp(void) -{ - return (uint32_t)(esp_timer_get_time() / 1000); + if (level <= max_level) + { + va_list list; + va_start(list, format); + esp_log_writev(level, tag, format, list); + va_end(list); + } } /**************************************************************************** diff --git a/arch/xtensa/src/esp32s3/hal.mk b/arch/xtensa/src/esp32s3/hal.mk new file mode 100644 index 0000000000..7d8158e711 --- /dev/null +++ b/arch/xtensa/src/esp32s3/hal.mk @@ -0,0 +1,95 @@ +############################################################################ +# arch/xtensa/src/esp32s3/hal.mk +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. The +# ASF licenses this file to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance with the +# License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +############################################################################ + +# Include header paths + +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)bootloader_support$(DELIM)$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)efuse$(DELIM)$(CHIP_SERIES)$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)efuse$(DELIM)$(CHIP_SERIES)$(DELIM)private_include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)efuse$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)efuse$(DELIM)private_include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_common$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)include$(DELIM)esp_private +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)include$(DELIM)soc +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)port$(DELIM)$(CHIP_SERIES) +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)port$(DELIM)$(CHIP_SERIES)$(DELIM)private_include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)port$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_rom$(DELIM)$(CHIP_SERIES) +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_rom$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_rom$(DELIM)include$(DELIM)$(CHIP_SERIES) +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_system$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_system$(DELIM)port$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_system$(DELIM)port$(DELIM)include$(DELIM)private +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_system$(DELIM)port$(DELIM)public_compat +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_timer$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)$(CHIP_SERIES)$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)platform_port$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)log +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)log$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)xtensa$(DELIM)$(CHIP_SERIES)$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)xtensa$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)$(CHIP_SERIES)$(DELIM)include +INCLUDES += $(INCDIR_PREFIX)$(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)nuttx$(DELIM)include + +# Linker scripts + +ARCHSCRIPT += $(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_rom$(DELIM)$(CHIP_SERIES)$(DELIM)ld$(DELIM)$(CHIP_SERIES).rom.api.ld +ARCHSCRIPT += $(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_rom$(DELIM)$(CHIP_SERIES)$(DELIM)ld$(DELIM)$(CHIP_SERIES).rom.ld +ARCHSCRIPT += $(ARCH_SRCDIR)$(DELIM)chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)ld$(DELIM)$(CHIP_SERIES).peripherals.ld + +# Source files + +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)clk_ctrl_os.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)cpu.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)esp_clk.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)hw_random.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)periph_ctrl.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)port$(DELIM)$(CHIP_SERIES)$(DELIM)cpu_region_protect.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)port$(DELIM)$(CHIP_SERIES)$(DELIM)esp_clk_tree.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)port$(DELIM)$(CHIP_SERIES)$(DELIM)rtc_clk.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)port$(DELIM)$(CHIP_SERIES)$(DELIM)rtc_time.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)port$(DELIM)esp_clk_tree_common.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_hw_support$(DELIM)regi2c_ctrl.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_rom$(DELIM)patches$(DELIM)esp_rom_wdt.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_system$(DELIM)port$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)clk.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)esp_system$(DELIM)port$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)system_internal.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)$(CHIP_SERIES)$(DELIM)clk_tree_hal.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)$(CHIP_SERIES)$(DELIM)efuse_hal.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)brownout_hal.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)efuse_hal.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)gpio_hal.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)ledc_hal_iram.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)ledc_hal.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)rmt_hal.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)timer_hal_iram.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)timer_hal.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)uart_hal_iram.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)uart_hal.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)log$(DELIM)log_noos.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)log$(DELIM)log.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)gpio_periph.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)ledc_periph.c +CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)rmt_periph.c + +CFLAGS += ${DEFINE_PREFIX}ESP_PLATFORM=1 diff --git a/boards/xtensa/esp32s3/common/src/esp32s3_lan9250.c b/boards/xtensa/esp32s3/common/src/esp32s3_lan9250.c index 8981a24b98..fe71200776 100644 --- a/boards/xtensa/esp32s3/common/src/esp32s3_lan9250.c +++ b/boards/xtensa/esp32s3/common/src/esp32s3_lan9250.c @@ -129,7 +129,7 @@ static void lan9250_enable(const struct lan9250_lower_s *lower) /* Configure the interrupt for rising and falling edges */ - esp32s3_gpioirqenable(irq, GPIO_INTR_LOW_LEVEL); + esp32s3_gpioirqenable(irq, ONLOW); ninfo("Enable the interrupt\n"); } diff --git a/boards/xtensa/esp32s3/esp32s3-box/src/esp32s3_buttons.c b/boards/xtensa/esp32s3/esp32s3-box/src/esp32s3_buttons.c index 1c9e2958ae..a3bfd6c951 100644 --- a/boards/xtensa/esp32s3/esp32s3-box/src/esp32s3_buttons.c +++ b/boards/xtensa/esp32s3/esp32s3-box/src/esp32s3_buttons.c @@ -151,7 +151,7 @@ int board_button_irq(int id, xcpt_t irqhandler, void *arg) /* Configure the interrupt for rising and falling edges */ - esp32s3_gpioirqenable(irq, GPIO_INTR_ANYEDGE); + esp32s3_gpioirqenable(irq, CHANGE); } else { diff --git a/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_buttons.c b/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_buttons.c index ace06b60f6..8dc7e617f7 100644 --- a/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_buttons.c +++ b/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_buttons.c @@ -151,7 +151,7 @@ int board_button_irq(int id, xcpt_t irqhandler, void *arg) /* Configure the interrupt for rising and falling edges */ - esp32s3_gpioirqenable(irq, GPIO_INTR_ANYEDGE); + esp32s3_gpioirqenable(irq, CHANGE); } else { diff --git a/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_djoystick.c b/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_djoystick.c index 1bd1de0619..0117d301d4 100644 --- a/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_djoystick.c +++ b/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_djoystick.c @@ -232,7 +232,7 @@ static void djoy_enable(const struct djoy_lowerhalf_s *lower, if (falling != 0 && rising != 0) { - esp32s3_gpioirqenable(irq, GPIO_INTR_ANYEDGE); + esp32s3_gpioirqenable(irq, CHANGE); } else if (falling != 0) { @@ -240,7 +240,7 @@ static void djoy_enable(const struct djoy_lowerhalf_s *lower, } else { - esp32s3_gpioirqenable(irq, GPIO_INTR_POSEDGE); + esp32s3_gpioirqenable(irq, RISING); } } } diff --git a/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_gpio.c b/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_gpio.c index 3984c6ca6c..8a327b7b9f 100644 --- a/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_gpio.c +++ b/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_gpio.c @@ -300,7 +300,7 @@ static int gpint_enable(struct gpio_dev_s *dev, bool enable) /* Configure the interrupt for rising edge */ - esp32s3_gpioirqenable(irq, GPIO_INTR_POSEDGE); + esp32s3_gpioirqenable(irq, RISING); } } else diff --git a/boards/xtensa/esp32s3/esp32s3-eye/src/esp32s3_buttons.c b/boards/xtensa/esp32s3/esp32s3-eye/src/esp32s3_buttons.c index 392b781d3c..1ec2d599a6 100644 --- a/boards/xtensa/esp32s3/esp32s3-eye/src/esp32s3_buttons.c +++ b/boards/xtensa/esp32s3/esp32s3-eye/src/esp32s3_buttons.c @@ -151,7 +151,7 @@ int board_button_irq(int id, xcpt_t irqhandler, void *arg) /* Configure the interrupt for rising and falling edges */ - esp32s3_gpioirqenable(irq, GPIO_INTR_ANYEDGE); + esp32s3_gpioirqenable(irq, CHANGE); } else { diff --git a/boards/xtensa/esp32s3/esp32s3-eye/src/esp32s3_gpio.c b/boards/xtensa/esp32s3/esp32s3-eye/src/esp32s3_gpio.c index e279c18dd1..16308c6aa5 100644 --- a/boards/xtensa/esp32s3/esp32s3-eye/src/esp32s3_gpio.c +++ b/boards/xtensa/esp32s3/esp32s3-eye/src/esp32s3_gpio.c @@ -297,7 +297,7 @@ static int gpint_enable(struct gpio_dev_s *dev, bool enable) /* Configure the interrupt for rising edge */ - esp32s3_gpioirqenable(irq, GPIO_INTR_POSEDGE); + esp32s3_gpioirqenable(irq, RISING); } } else diff --git a/boards/xtensa/esp32s3/esp32s3-lcd-ev/src/esp32s3_buttons.c b/boards/xtensa/esp32s3/esp32s3-lcd-ev/src/esp32s3_buttons.c index 40be204ba2..83be5386a2 100644 --- a/boards/xtensa/esp32s3/esp32s3-lcd-ev/src/esp32s3_buttons.c +++ b/boards/xtensa/esp32s3/esp32s3-lcd-ev/src/esp32s3_buttons.c @@ -151,7 +151,7 @@ int board_button_irq(int id, xcpt_t irqhandler, void *arg) /* Configure the interrupt for rising and falling edges */ - esp32s3_gpioirqenable(irq, GPIO_INTR_ANYEDGE); + esp32s3_gpioirqenable(irq, CHANGE); } else {
