mirror of
https://github.com/apache/nuttx.git
synced 2026-05-27 11:26:12 +08:00
xtensa/espressif: Update common-source integration for Xtensa devices
This commit updates the common-source integration for Xtensa-based Espressif devices (ESP32, ESP32-S2, and ESP32-S3). This is part of a larger common-source update split by architecture for better maintainability. Major components updated: - IRQ allocator refactoring with intr_alloc integration - Common-source drivers (GPIO, RMT, I2C, SPI, UART, etc.) - Espressif components upgrade to release/master.b-test - Peripheral drivers (ADC, PWM, LEDC, MCPWM, PCNT, Temperature Sensor, etc.) - Wireless adapters (Wi-Fi and BLE) - esp_timer migration to the common-source path for Xtensa devices - Common-source power management implementation (auto-sleep and wakeup paths) - Board defconfigs for all Xtensa Espressif boards - SMP support improvements for ESP32-S3 - Critical section handling improvements Key architectural changes: - IRQ Allocator: The new interrupt allocator enables multiple mapping options from interrupt sources to CPU interrupts, providing flexibility required by modern peripherals. Although this introduces breaking changes to the interrupt handling API, the required ARCH_MINIMAL_VECTORTABLE Kconfig option is explicitly checked during startup to ensure proper configuration. This validation prevents runtime issues from configuration mismatches. - Xtensa-specific interrupt handling via esp_xtensa_intr.c providing NuttX-native implementations of xt_ints_on/off and interrupt handlers, avoiding conflicts with NuttX's core Xtensa macros. - Timer/RTC unification: ESP32/ESP32-S2/ESP32-S3 move from chip-specific RTC/RT-timer code to common-source Espressif integration, including esp_timer_adapter/esp_rtc paths and the required bringup/defconfig updates. - Power management consolidation: Xtensa PM follows the common-source implementation, including common-source auto-sleep behavior, UART/Wi-Fi wakeup coordination, and tickless-safe sleep flow compatibility. Note: This is a large commit to maintain bisectability. Breaking the changes into smaller commits would result in non-building intermediate states across the common-source infrastructure update. Tested configurations: - All defconfigs were tested, including `ostest`. Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
This commit is contained in:
committed by
Xiang Xiao
parent
c64b95ccbf
commit
c17e16eaed
@@ -33,3 +33,4 @@ include $(TOPDIR)/boards/Board.mk
|
||||
ARCHSRCDIR = $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src
|
||||
BOARDDIR = $(ARCHSRCDIR)$(DELIM)board
|
||||
CFLAGS += ${INCDIR_PREFIX}$(BOARDDIR)$(DELIM)include
|
||||
CFLAGS += ${INCDIR_PREFIX}"$(ARCHSRCDIR)$(DELIM)common$(DELIM)espressif"
|
||||
|
||||
@@ -61,7 +61,6 @@ extern "C"
|
||||
* Initialize the RMT peripheral and register an RX device.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ch - The RMT's channel that will be used
|
||||
* pin - The pin used for the RX channel
|
||||
*
|
||||
* Returned Value:
|
||||
@@ -69,7 +68,7 @@ extern "C"
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
int board_rmt_rxinitialize(int ch, int pin);
|
||||
int board_rmt_rxinitialize(int pin);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: board_rmt_txinitialize
|
||||
@@ -78,7 +77,6 @@ int board_rmt_rxinitialize(int ch, int pin);
|
||||
* Initialize the RMT peripheral and register an TX device.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ch - The RMT's channel that will be used
|
||||
* pin - The pin used for the TX channel
|
||||
*
|
||||
* Returned Value:
|
||||
@@ -86,7 +84,7 @@ int board_rmt_rxinitialize(int ch, int pin);
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
int board_rmt_txinitialize(int ch, int pin);
|
||||
int board_rmt_txinitialize(int pin);
|
||||
|
||||
#endif /* CONFIG_ESP_RMT */
|
||||
|
||||
|
||||
@@ -167,7 +167,6 @@ SECTIONS
|
||||
*libpp.a:wifi_slp_rx_iram.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:*esp_loader.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:esp32s3_cpuindex.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:esp32s3_irq.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:esp32s3_user.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:esp32s3_spiflash.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:xtensa_assert.*(.literal .text .literal.* .text.*)
|
||||
@@ -177,6 +176,9 @@ SECTIONS
|
||||
*libarch.a:xtensa_modifyreg32.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:xtensa_testset.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:esp_app_desc.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:intr_alloc.*(.literal.esp_intr_get_intno .text.esp_intr_get_intno)
|
||||
*libarch.a:xtensa_intr.*(.literal.xt_get_interrupt_handler .text.xt_get_interrupt_handler)
|
||||
*libarch.a:xtensa_intr.*(.literal.xt_get_interrupt_handler_arg .text.xt_get_interrupt_handler_arg)
|
||||
|
||||
*libc.a:sq_remlast.*(.literal .text .literal.* .text.*)
|
||||
|
||||
@@ -194,6 +196,7 @@ SECTIONS
|
||||
*libsched.a:spinlock.*(.literal .text .literal.* .text.*)
|
||||
*libsched.a:*sched_get_stackinfo.*(.literal .text .literal.* .text.*)
|
||||
*libsched.a:stack_record.*(.literal .text .literal.* .text.*)
|
||||
*libsched.a:stack_monitor.*(.literal .text .literal.* .text.*)
|
||||
|
||||
#ifdef CONFIG_ESP32S3_SPEED_UP_ISR
|
||||
*libarch.a:xtensa_switchcontext.*(.literal.up_switch_context .text.up_switch_context)
|
||||
@@ -235,6 +238,7 @@ SECTIONS
|
||||
*libarch.a:*periph_ctrl.*(.text .text.* .literal .literal.*)
|
||||
*libarch.a:*clk.*(.text .text.* .literal .literal.*)
|
||||
*libarch.a:*efuse_hal.*(.literal.is_eco0 .text.is_eco0)
|
||||
*libarch.a:*efuse_utility.*(.text .text.* .literal .literal.*)
|
||||
*libarch.a:*esp_clk.*(.text .text.* .literal .literal.*)
|
||||
*libarch.a:*esp_clk_tree.*(.text .text.* .literal .literal.*)
|
||||
*libarch.a:*esp_clk_tree_common.*(.text .text.* .literal .literal.*)
|
||||
@@ -307,11 +311,22 @@ SECTIONS
|
||||
*libarch.a:spi_flash_os_func_noos.*(.literal .literal.* .text .text.*)
|
||||
*libarch.a:spi_flash_os_func_app.*(.literal .literal.* .text .text.*)
|
||||
*libarch.a:flash_brownout_hook.*(.literal .literal.* .text .text.*)
|
||||
*libarch.a:esp_cache.*(.literal .literal.* .text .text.*)
|
||||
*libarch.a:esp_cache_utils.*(.literal .literal.* .text .text.*)
|
||||
*libarch.a:cache_utils.*(.literal .literal.* .text .text.*)
|
||||
*libarch.a:memspi_host_driver.*(.literal .literal.* .text .text.*)
|
||||
*libarch.a:critical_section.*(.literal .literal.* .text .text.*)
|
||||
*libarch.a:os.*(.literal.nuttx_enter_critical .text.nuttx_enter_critical)
|
||||
*libarch.a:os.*(.literal.nuttx_exit_critical .text.nuttx_exit_critical)
|
||||
*libarch.a:*sleep_modes.*(.literal.esp_sleep_sub_mode_force_disable* .text.esp_sleep_sub_mode_force_disable*)
|
||||
*libarch.a:intr_alloc.*(.literal.esp_intr_get_intno .text.esp_intr_get_intno)
|
||||
*libarch.a:intr_alloc.*(.literal.esp_intr_get_cpu .text.esp_intr_get_cpu)
|
||||
*libarch.a:interrupt.*(.literal.intr_handler_get .text.intr_handler_get)
|
||||
*libarch.a:interrupt.*(.literal.intr_handler_get_arg .text.intr_handler_get_arg)
|
||||
*libarch.a:interrupt.*(.literal.intr_get_item .text.intr_get_item)
|
||||
*libarch.a:interrupt.*(.literal.intr_handler_get_arg .text.intr_handler_get_arg)
|
||||
|
||||
*libc.a:*lib_instrument.*(.text .text.* .literal .literal.*)
|
||||
*libc.a:arch_atomic.*(.text .text.* .literal .literal.*)
|
||||
|
||||
*(.wifirxiram .wifirxiram.*)
|
||||
*(.wifi0iram .wifi0iram.*)
|
||||
@@ -448,6 +463,7 @@ SECTIONS
|
||||
*libarch.a:*esp_loader.*(.rodata .rodata.*)
|
||||
*libarch.a:esp32s3_spiflash.*(.rodata .rodata.*)
|
||||
*libarch.a:esp_spiflash.*(.rodata .rodata.*)
|
||||
*libarch.a:*efuse_utility.*(.rodata .rodata.*)
|
||||
*libarch.a:*brownout.*(.rodata .rodata.*)
|
||||
*libarch.a:*cpu.*(.rodata .rodata.*)
|
||||
*libarch.a:*gpio_hal.*(.rodata .rodata.*)
|
||||
@@ -521,9 +537,14 @@ SECTIONS
|
||||
*libarch.a:spi_flash_os_func_noos.*(.rodata .rodata.*)
|
||||
*libarch.a:spi_flash_os_func_app.*(.rodata .rodata.*)
|
||||
*libarch.a:flash_brownout_hook.*(.rodata .rodata.*)
|
||||
*libarch.a:esp_cache.*(.rodata .rodata.*)
|
||||
*libarch.a:esp_cache_utils.*(.rodata .rodata.*)
|
||||
*libarch.a:cache_utils.*(.rodata .rodata.*)
|
||||
*libarch.a:memspi_host_driver.*(.rodata .rodata.*)
|
||||
*libarch.a:critical_section.*(.rodata .rodata.*)
|
||||
*libarch.a:os.*(.rodata.g_int_flags_count .rodata.g_int_flags)
|
||||
*libarch.a:*sleep_modes.*(.rodata.esp_sleep_sub_mode_force_disable*)
|
||||
|
||||
*libc.a:arch_atomic.*(.rodata .rodata.*)
|
||||
|
||||
. = ALIGN(4);
|
||||
_edata = ABSOLUTE(.);
|
||||
@@ -689,9 +710,7 @@ SECTIONS
|
||||
|
||||
. = ALIGN(4);
|
||||
_sinit = ABSOLUTE(.);
|
||||
__init_array_start = ABSOLUTE(.);
|
||||
KEEP (*(EXCLUDE_FILE (*crtend.* *crtbegin.*) .ctors SORT(.ctors.*)))
|
||||
__init_array_end = ABSOLUTE(.);
|
||||
_einit = ABSOLUTE(.);
|
||||
|
||||
/* Addresses of memory regions reserved via SOC_RESERVE_MEMORY_REGION() */
|
||||
@@ -803,6 +822,8 @@ SECTIONS
|
||||
|
||||
.rtc.data :
|
||||
{
|
||||
. = ALIGN(4);
|
||||
*(.rtc.force_slow .rtc.force_slow.*)
|
||||
*(.rtc.data)
|
||||
*(.rtc.data.*)
|
||||
*(.rtc.rodata)
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
|
||||
/* Provide these so there is no need for using config files for this */
|
||||
|
||||
#include "esp32s3_aliases.ld"
|
||||
|
||||
__uirom_start = ORIGIN(UIROM);
|
||||
__uirom_size = LENGTH(UIROM);
|
||||
__uirom_end = ORIGIN(UIROM) + LENGTH(UIROM);
|
||||
@@ -114,6 +116,9 @@ SECTIONS
|
||||
*libkarch.a:xtensa_interruptcontext.*(.literal .text .literal.* .text.*)
|
||||
*libkarch.a:xtensa_testset.*(.literal .text .literal.* .text.*)
|
||||
*libkarch.a:esp_app_desc.*(.literal .text .literal.* .text.*)
|
||||
*libkarch.a:intr_alloc.*(.literal.esp_intr_get_intno .text.esp_intr_get_intno)
|
||||
*libkarch.a:xtensa_intr.*(.literal.xt_get_interrupt_handler .text.xt_get_interrupt_handler)
|
||||
*libkarch.a:xtensa_intr.*(.literal.xt_get_interrupt_handler_arg .text.xt_get_interrupt_handler_arg)
|
||||
*libkarch.a:esp_spiflash.*(.literal .text .literal.* .text.*)
|
||||
*libkarch.a:esp_flash_api.*(.text .text.* .literal .literal.*)
|
||||
*libkarch.a:esp_flash_spi_init.*(.text .text.* .literal .literal.*)
|
||||
@@ -125,6 +130,7 @@ SECTIONS
|
||||
*libkarch.a:spi_flash_os_func_noos.*(.literal .literal.* .text .text.*)
|
||||
*libkarch.a:spi_flash_os_func_app.*(.literal .literal.* .text .text.*)
|
||||
*libkarch.a:flash_brownout_hook.*(.literal .literal.* .text .text.*)
|
||||
*libkarch.a:esp_cache_utils.*(.literal .literal.* .text .text.*)
|
||||
*libkarch.a:esp_cache.*(.literal .literal.* .text .text.*)
|
||||
*libkarch.a:cache_utils.*(.literal .literal.* .text .text.*)
|
||||
*libkarch.a:memspi_host_driver.*(.literal .literal.* .text .text.*)
|
||||
@@ -252,6 +258,7 @@ SECTIONS
|
||||
*libsched.a:irq_dispatch.*(.rodata .rodata.*)
|
||||
|
||||
*libc.a:*lib_instrument.*(.rodata .rodata.*)
|
||||
*libc.a:arch_atomic.*(.rodata .rodata.*)
|
||||
|
||||
. = ALIGN(4);
|
||||
_edata = ABSOLUTE(.);
|
||||
|
||||
@@ -79,7 +79,6 @@ SECTIONS
|
||||
*(.iram1 .iram1.*)
|
||||
|
||||
*libarch.a:esp32s3_cpuindex.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:esp32s3_irq.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:esp32s3_user.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:esp32s3_spiflash.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:xtensa_assert.*(.literal .text .literal.* .text.*)
|
||||
@@ -110,6 +109,7 @@ SECTIONS
|
||||
*libsched.a:stack_record.*(.literal .text .literal.* .text.*)
|
||||
|
||||
*libc.a:*lib_instrument.*(.literal .text .literal.* .text.*)
|
||||
*libc.a:arch_atomic.*(.literal .text .literal.* .text.*)
|
||||
|
||||
#ifdef CONFIG_ESP32S3_SPEED_UP_ISR
|
||||
*libarch.a:xtensa_switchcontext.*(.literal.up_switch_context .text.up_switch_context)
|
||||
@@ -263,7 +263,7 @@ SECTIONS
|
||||
*libarch.a:spi_flash_os_func*.*(.rodata .rodata.*)
|
||||
*libarch.a:flash_brownout_hook.*(.rodata .rodata.*)
|
||||
*libarch.a:memspi_host_driver.*(.rodata .rodata.*)
|
||||
|
||||
*libc.a:arch_atomic.*(.rodata .rodata.*)
|
||||
_edata = ABSOLUTE(.);
|
||||
. = ALIGN(4);
|
||||
|
||||
|
||||
@@ -186,7 +186,6 @@ SECTIONS
|
||||
|
||||
*libarch.a:*esp_loader.*(.text .text.* .literal .literal.*)
|
||||
*libarch.a:esp32s3_cpuindex.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:esp32s3_irq.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:esp32s3_user.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:esp32s3_spiflash.*(.literal .text .literal.* .text.*)
|
||||
*libarch.a:xtensa_assert.*(.literal .text .literal.* .text.*)
|
||||
@@ -201,6 +200,7 @@ SECTIONS
|
||||
*libarch.a:*mmu_hal.*(.text .text.* .literal .literal.*)
|
||||
|
||||
*libc.a:sq_remlast.*(.literal .text .literal.* .text.*)
|
||||
*libc.a:arch_atomic.*(.literal .text .literal.* .text.*)
|
||||
|
||||
*libdrivers.a:syslog_flush.*(.literal .text .literal.* .text.*)
|
||||
|
||||
@@ -348,6 +348,8 @@ SECTIONS
|
||||
*libc.a:lib_stackchk.*(.rodata .rodata.*)
|
||||
#endif
|
||||
|
||||
*libc.a:arch_atomic.*(.rodata .rodata.*)
|
||||
|
||||
_edata = ABSOLUTE(.);
|
||||
. = ALIGN(4);
|
||||
|
||||
|
||||
@@ -34,8 +34,6 @@
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include "esp32s3_aliases.ld"
|
||||
|
||||
#define SRAM_IRAM_START 0x40370000
|
||||
#define SRAM_DIRAM_I_START 0x40378000
|
||||
|
||||
|
||||
@@ -79,7 +79,6 @@
|
||||
* Initialize the RMT peripheral and register an RX device.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ch - The RMT's channel that will be used
|
||||
* pin - The pin used for the RX channel
|
||||
*
|
||||
* Returned Value:
|
||||
@@ -87,11 +86,11 @@
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
int board_rmt_rxinitialize(int ch, int pin)
|
||||
int board_rmt_rxinitialize(int pin)
|
||||
{
|
||||
int ret;
|
||||
|
||||
struct rmt_dev_s *rmt = esp_rmt_rx_init(ch, pin);
|
||||
struct rmt_dev_s *rmt = esp_rmt_rx_init(pin);
|
||||
|
||||
ret = rmtchar_register(rmt);
|
||||
if (ret < 0)
|
||||
@@ -110,7 +109,6 @@ int board_rmt_rxinitialize(int ch, int pin)
|
||||
* Initialize the RMT peripheral and register an TX device.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ch - The RMT's channel that will be used
|
||||
* pin - The pin used for the TX channel
|
||||
*
|
||||
* Returned Value:
|
||||
@@ -118,7 +116,7 @@ int board_rmt_rxinitialize(int ch, int pin)
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
int board_rmt_txinitialize(int ch, int pin)
|
||||
int board_rmt_txinitialize(int pin)
|
||||
{
|
||||
int ret;
|
||||
struct rmt_dev_s *rmt;
|
||||
@@ -126,7 +124,7 @@ int board_rmt_txinitialize(int ch, int pin)
|
||||
struct ws2812_dev_s *led;
|
||||
#endif
|
||||
|
||||
rmt = esp_rmt_tx_init(ch, pin);
|
||||
rmt = esp_rmt_tx_init(pin);
|
||||
if (rmt == NULL)
|
||||
{
|
||||
rmterr("ERROR: esp_rmt_tx_init failed\n");
|
||||
|
||||
@@ -124,8 +124,9 @@ static int init_ota_partitions(void)
|
||||
{
|
||||
struct mtd_dev_s *mtd;
|
||||
int ret = OK;
|
||||
int i;
|
||||
|
||||
for (int i = 0; i < nitems(g_ota_partition_table); ++i)
|
||||
for (i = 0; i < nitems(g_ota_partition_table); ++i)
|
||||
{
|
||||
const struct partition_s *part = &g_ota_partition_table[i];
|
||||
#if defined(CONFIG_ESP32S3_SPIRAM) || defined(CONFIG_ESP32S3_PARTITION_TABLE)
|
||||
@@ -451,8 +452,6 @@ int board_spiflash_init(void)
|
||||
|
||||
#if defined(CONFIG_ESP32S3_SPIRAM) || defined(CONFIG_ESP32S3_PARTITION_TABLE)
|
||||
ret = esp32s3_spiflash_init();
|
||||
#else
|
||||
ret = esp_spiflash_init();
|
||||
#endif
|
||||
if (ret < 0)
|
||||
{
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
|
||||
#include "esp32s3_board_wdt.h"
|
||||
#include "esp32s3_wdt_lowerhalf.h"
|
||||
#include "esp32s3_wdt.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
@@ -95,4 +94,3 @@ int board_wdt_init(void)
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
#include "xtensa.h"
|
||||
#include "espressif/esp_efuse.h"
|
||||
#include "esp32s3_gpio.h"
|
||||
#include "espressif/esp_gpio.h"
|
||||
#ifdef CONFIG_LAN9250_SPI
|
||||
#include "esp32s3_spi.h"
|
||||
#else
|
||||
@@ -109,9 +109,8 @@ static int lan9250_attach(const struct lan9250_lower_s *lower,
|
||||
xcpt_t handler, void *arg)
|
||||
{
|
||||
int ret;
|
||||
int irq = ESP32S3_PIN2IRQ(LAN9250_IRQ);
|
||||
|
||||
ret = irq_attach(irq, handler, arg);
|
||||
ret = esp_gpio_irq(LAN9250_IRQ, handler, arg);
|
||||
if (ret < 0)
|
||||
{
|
||||
syslog(LOG_ERR, "ERROR: irq_attach() failed: %d\n", ret);
|
||||
@@ -139,11 +138,7 @@ static int lan9250_attach(const struct lan9250_lower_s *lower,
|
||||
|
||||
static void lan9250_enable(const struct lan9250_lower_s *lower)
|
||||
{
|
||||
int irq = ESP32S3_PIN2IRQ(LAN9250_IRQ);
|
||||
|
||||
/* Configure the interrupt for rising and falling edges */
|
||||
|
||||
esp32s3_gpioirqenable(irq, ONLOW);
|
||||
esp_gpioirqenable(LAN9250_IRQ);
|
||||
ninfo("Enable the interrupt\n");
|
||||
}
|
||||
|
||||
@@ -163,10 +158,8 @@ static void lan9250_enable(const struct lan9250_lower_s *lower)
|
||||
|
||||
static void lan9250_disable(const struct lan9250_lower_s *lower)
|
||||
{
|
||||
int irq = ESP32S3_PIN2IRQ(LAN9250_IRQ);
|
||||
|
||||
ninfo("Disable the interrupt\n");
|
||||
esp32s3_gpioirqdisable(irq);
|
||||
esp_gpioirqdisable(LAN9250_IRQ);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -283,8 +276,11 @@ int esp32s3_lan9250_initialize(int port)
|
||||
{
|
||||
int ret;
|
||||
|
||||
esp32s3_configgpio(LAN9250_IRQ, INPUT_FUNCTION_2 | PULLUP);
|
||||
esp32s3_configgpio(LAN9250_RST, OUTPUT_FUNCTION_2 | PULLUP);
|
||||
/* Configure the interrupt for rising and falling edges */
|
||||
|
||||
esp_configgpio(LAN9250_IRQ, INPUT_FUNCTION_2 | PULLUP | ONLOW);
|
||||
|
||||
esp_configgpio(LAN9250_RST, OUTPUT_FUNCTION_2 | PULLUP);
|
||||
|
||||
#ifdef CONFIG_LAN9250_SPI
|
||||
g_dev = esp32s3_spibus_initialize(port);
|
||||
@@ -331,10 +327,8 @@ int esp32s3_lan9250_initialize(int port)
|
||||
int esp32s3_lan9250_uninitialize(int port)
|
||||
{
|
||||
int ret;
|
||||
int irq;
|
||||
|
||||
irq = ESP32S3_PIN2IRQ(LAN9250_IRQ);
|
||||
esp32s3_gpioirqdisable(irq);
|
||||
esp_gpioirqdisable(LAN9250_IRQ);
|
||||
|
||||
#ifdef CONFIG_LAN9250_SPI
|
||||
ret = esp32s3_spibus_uninitialize((struct spi_dev_s *)g_dev);
|
||||
|
||||
@@ -15,6 +15,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -15,6 +15,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -15,6 +15,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -15,6 +15,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -15,6 +15,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -15,6 +15,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -15,6 +15,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
#include <nuttx/spi/spi.h>
|
||||
|
||||
#include "esp32s3_gpio.h"
|
||||
#include "espressif/esp_gpio.h"
|
||||
#include "esp32s3-8048S043.h"
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
#include <nuttx/input/touchscreen.h>
|
||||
|
||||
#include "esp32s3_i2c.h"
|
||||
#include "esp32s3_gpio.h"
|
||||
#include "espressif/esp_gpio.h"
|
||||
#include "hardware/esp32s3_gpio_sigmap.h"
|
||||
|
||||
#include "esp32s3-8048S043.h"
|
||||
|
||||
@@ -40,6 +40,9 @@
|
||||
#include <nuttx/himem/himem.h>
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "espressif/esp_gpio.h"
|
||||
#include "esp32s3_start.h"
|
||||
|
||||
#ifdef CONFIG_ESP32S3_I2C
|
||||
# include "esp32s3_i2c.h"
|
||||
#endif
|
||||
@@ -49,7 +52,11 @@
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_RTC_DRIVER
|
||||
# include "esp32s3_rtc_lowerhalf.h"
|
||||
# include "espressif/esp_rtc.h"
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ESPRESSIF_HR_TIMER
|
||||
# include "espressif/esp_hr_timer.h"
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ESPRESSIF_EFUSE
|
||||
@@ -109,6 +116,14 @@ int esp32s3_bringup(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
#ifdef CONFIG_ESPRESSIF_HR_TIMER
|
||||
ret = esp_hr_timer_init();
|
||||
if (ret < 0)
|
||||
{
|
||||
syslog(LOG_ERR, "ERROR: esp_hr_timer_init() failed: %d\n", ret);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_ESP32S3_SPIRAM) && \
|
||||
defined(CONFIG_ESP32S3_SPIRAM_BANKSWITCH_ENABLE)
|
||||
ret = esp_himem_init();
|
||||
@@ -195,7 +210,7 @@ int esp32s3_bringup(void)
|
||||
#ifdef CONFIG_RTC_DRIVER
|
||||
/* Instantiate the ESP32-S3 RTC driver */
|
||||
|
||||
ret = esp32s3_rtc_driverinit();
|
||||
ret = esp_rtc_driverinit();
|
||||
if (ret < 0)
|
||||
{
|
||||
syslog(LOG_ERR,
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
#include <nuttx/board.h>
|
||||
#include <nuttx/irq.h>
|
||||
|
||||
#include "esp32s3_gpio.h"
|
||||
#include "espressif/esp_gpio.h"
|
||||
#include "hardware/esp32s3_gpio_sigmap.h"
|
||||
|
||||
#include "esp32s3-8048S043.h"
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
uint32_t board_button_initialize(void)
|
||||
{
|
||||
esp32s3_configgpio(BUTTON_BOOT, INPUT_FUNCTION_2 | PULLUP);
|
||||
esp_configgpio(BUTTON_BOOT, INPUT_FUNCTION_2 | PULLUP | CHANGE);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -77,13 +77,13 @@ uint32_t board_buttons(void)
|
||||
int i = 0;
|
||||
int n = 0;
|
||||
|
||||
bool b0 = esp32s3_gpioread(BUTTON_BOOT);
|
||||
bool b0 = esp_gpioread(BUTTON_BOOT);
|
||||
|
||||
for (i = 0; i < 10; i++)
|
||||
{
|
||||
up_mdelay(1);
|
||||
|
||||
bool b1 = esp32s3_gpioread(BUTTON_BOOT);
|
||||
bool b1 = esp_gpioread(BUTTON_BOOT);
|
||||
|
||||
if (b0 == b1)
|
||||
{
|
||||
@@ -129,38 +129,6 @@ uint32_t board_buttons(void)
|
||||
#ifdef CONFIG_ARCH_IRQBUTTONS
|
||||
int board_button_irq(int id, xcpt_t irqhandler, void *arg)
|
||||
{
|
||||
int ret;
|
||||
DEBUGASSERT(id == 0);
|
||||
|
||||
int irq = ESP32S3_PIN2IRQ(BUTTON_BOOT);
|
||||
|
||||
if (irqhandler != NULL)
|
||||
{
|
||||
/* Make sure the interrupt is disabled */
|
||||
|
||||
esp32s3_gpioirqdisable(irq);
|
||||
|
||||
ret = irq_attach(irq, irqhandler, arg);
|
||||
if (ret < 0)
|
||||
{
|
||||
syslog(LOG_ERR, "ERROR: irq_attach() failed: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
gpioinfo("Attach %p\n", irqhandler);
|
||||
|
||||
gpioinfo("Enabling the interrupt\n");
|
||||
|
||||
/* Configure the interrupt for rising and falling edges */
|
||||
|
||||
esp32s3_gpioirqenable(irq, CHANGE);
|
||||
}
|
||||
else
|
||||
{
|
||||
gpioinfo("Disable the interrupt\n");
|
||||
esp32s3_gpioirqdisable(irq);
|
||||
}
|
||||
|
||||
return OK;
|
||||
return esp_gpio_irq(BUTTON_BOOT, irqhandler, arg);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -36,8 +36,8 @@
|
||||
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "espressif/esp_gpio.h"
|
||||
#include "esp32s3-8048S043.h"
|
||||
#include "esp32s3_gpio.h"
|
||||
#include "hardware/esp32s3_gpio_sigmap.h"
|
||||
|
||||
#ifdef CONFIG_ESPRESSIF_DEDICATED_GPIO
|
||||
@@ -50,7 +50,7 @@
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
#if !defined(CONFIG_ESP32S3_GPIO_IRQ) && BOARD_NGPIOINT > 0
|
||||
#if !defined(CONFIG_ESPRESSIF_GPIO_IRQ) && BOARD_NGPIOINT > 0
|
||||
# error "NGPIOINT is > 0 and GPIO interrupts aren't enabled"
|
||||
#endif
|
||||
|
||||
@@ -66,11 +66,11 @@
|
||||
|
||||
#define GPIO_IN1 18
|
||||
|
||||
/* Interrupt pins. GPIO21 is used as an example, any other inputs could be
|
||||
* used.
|
||||
/* Interrupt pins. GPIO0 is used as an example, any other inputs could be
|
||||
* used. This is the BOOT button.
|
||||
*/
|
||||
|
||||
#define GPIO_IRQPIN1 21
|
||||
#define GPIO_IRQPIN1 0
|
||||
|
||||
/* Dedicated GPIO pins. GPIO4 and GPIO5 is used as an example, any other
|
||||
* GPIOs could be used.
|
||||
@@ -221,7 +221,7 @@ static int gpout_read(struct gpio_dev_s *dev, bool *value)
|
||||
DEBUGASSERT(esp32s3gpio->id < BOARD_NGPIOOUT);
|
||||
gpioinfo("Reading...\n");
|
||||
|
||||
*value = esp32s3_gpioread(g_gpiooutputs[esp32s3gpio->id]);
|
||||
*value = esp_gpioread(g_gpiooutputs[esp32s3gpio->id]);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -237,7 +237,7 @@ static int gpout_write(struct gpio_dev_s *dev, bool value)
|
||||
DEBUGASSERT(esp32s3gpio->id < BOARD_NGPIOOUT);
|
||||
gpioinfo("Writing %d\n", (int)value);
|
||||
|
||||
esp32s3_gpiowrite(g_gpiooutputs[esp32s3gpio->id], value);
|
||||
esp_gpiowrite(g_gpiooutputs[esp32s3gpio->id], value);
|
||||
return OK;
|
||||
}
|
||||
#endif
|
||||
@@ -255,7 +255,7 @@ static int gpin_read(struct gpio_dev_s *dev, bool *value)
|
||||
DEBUGASSERT(esp32s3gpio->id < BOARD_NGPIOIN);
|
||||
gpioinfo("Reading... pin %" PRIu32 "\n", g_gpioinputs[esp32s3gpio->id]);
|
||||
|
||||
*value = esp32s3_gpioread(g_gpioinputs[esp32s3gpio->id]);
|
||||
*value = esp_gpioread(g_gpioinputs[esp32s3gpio->id]);
|
||||
return OK;
|
||||
}
|
||||
#endif
|
||||
@@ -289,7 +289,7 @@ static int gpint_read(struct gpio_dev_s *dev, bool *value)
|
||||
DEBUGASSERT(esp32s3gpint->esp32s3gpio.id < BOARD_NGPIOINT);
|
||||
gpioinfo("Reading int pin...\n");
|
||||
|
||||
*value = esp32s3_gpioread(g_gpiointinputs[esp32s3gpint->esp32s3gpio.id]);
|
||||
*value = esp_gpioread(g_gpiointinputs[esp32s3gpint->esp32s3gpio.id]);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -302,23 +302,27 @@ static int gpint_attach(struct gpio_dev_s *dev,
|
||||
{
|
||||
struct esp32s3gpint_dev_s *esp32s3gpint =
|
||||
(struct esp32s3gpint_dev_s *)dev;
|
||||
int irq = ESP32S3_PIN2IRQ(g_gpiointinputs[esp32s3gpint->esp32s3gpio.id]);
|
||||
int ret;
|
||||
|
||||
gpioinfo("Attaching the callback\n");
|
||||
|
||||
/* Make sure the interrupt is disabled */
|
||||
|
||||
esp32s3_gpioirqdisable(irq);
|
||||
ret = irq_attach(irq,
|
||||
esp32s3gpio_interrupt,
|
||||
&g_gpint[esp32s3gpint->esp32s3gpio.id]);
|
||||
esp_gpioirqdisable(g_gpiointinputs[esp32s3gpint->esp32s3gpio.id]);
|
||||
|
||||
ret = esp_gpio_irq(g_gpiointinputs[esp32s3gpint->esp32s3gpio.id],
|
||||
esp32s3gpio_interrupt,
|
||||
&g_gpint[esp32s3gpint->esp32s3gpio.id]);
|
||||
if (ret < 0)
|
||||
{
|
||||
syslog(LOG_ERR, "ERROR: gpint_attach() failed: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Make sure the interrupt is disabled */
|
||||
|
||||
esp_gpioirqdisable(g_gpiointinputs[esp32s3gpint->esp32s3gpio.id]);
|
||||
|
||||
gpioinfo("Attach %p\n", callback);
|
||||
esp32s3gpint->callback = callback;
|
||||
return OK;
|
||||
@@ -331,7 +335,6 @@ static int gpint_attach(struct gpio_dev_s *dev,
|
||||
static int gpint_enable(struct gpio_dev_s *dev, bool enable)
|
||||
{
|
||||
struct esp32s3gpint_dev_s *esp32s3gpint = (struct esp32s3gpint_dev_s *)dev;
|
||||
int irq = ESP32S3_PIN2IRQ(g_gpiointinputs[esp32s3gpint->esp32s3gpio.id]);
|
||||
|
||||
if (enable)
|
||||
{
|
||||
@@ -341,13 +344,13 @@ static int gpint_enable(struct gpio_dev_s *dev, bool enable)
|
||||
|
||||
/* Configure the interrupt for rising edge */
|
||||
|
||||
esp32s3_gpioirqenable(irq, RISING);
|
||||
esp_gpioirqenable(g_gpiointinputs[esp32s3gpint->esp32s3gpio.id]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gpioinfo("Disable the interrupt\n");
|
||||
esp32s3_gpioirqdisable(irq);
|
||||
esp_gpioirqdisable(g_gpiointinputs[esp32s3gpint->esp32s3gpio.id]);
|
||||
}
|
||||
|
||||
return OK;
|
||||
@@ -379,10 +382,9 @@ int esp32s3_gpio_init(void)
|
||||
|
||||
/* Configure the pins that will be used as output */
|
||||
|
||||
esp32s3_gpio_matrix_out(g_gpiooutputs[i], SIG_GPIO_OUT_IDX, 0, 0);
|
||||
esp32s3_configgpio(g_gpiooutputs[i], OUTPUT_FUNCTION_2 |
|
||||
INPUT_FUNCTION_2);
|
||||
esp32s3_gpiowrite(g_gpiooutputs[i], 0);
|
||||
esp_gpio_matrix_out(g_gpiooutputs[i], SIG_GPIO_OUT_IDX, 0, 0);
|
||||
esp_configgpio(g_gpiooutputs[i], OUTPUT_FUNCTION_2 | INPUT_FUNCTION_2);
|
||||
esp_gpiowrite(g_gpiooutputs[i], 0);
|
||||
|
||||
pincount++;
|
||||
}
|
||||
@@ -400,7 +402,7 @@ int esp32s3_gpio_init(void)
|
||||
|
||||
/* Configure the pins that will be used as INPUT */
|
||||
|
||||
esp32s3_configgpio(g_gpioinputs[i], INPUT_FUNCTION_2);
|
||||
esp_configgpio(g_gpioinputs[i], INPUT_FUNCTION_2);
|
||||
|
||||
pincount++;
|
||||
}
|
||||
@@ -418,8 +420,8 @@ int esp32s3_gpio_init(void)
|
||||
|
||||
/* Configure the pins that will be used as interrupt input */
|
||||
|
||||
esp32s3_configgpio(g_gpiointinputs[i], INPUT_FUNCTION_2 | PULLDOWN);
|
||||
|
||||
esp_configgpio(g_gpiointinputs[i],
|
||||
INPUT_FUNCTION_2 | PULLUP | FALLING);
|
||||
pincount++;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
#include <nuttx/video/fb.h>
|
||||
#include <nuttx/signal.h>
|
||||
|
||||
#include "esp32s3_gpio.h"
|
||||
#include "espressif/esp_gpio.h"
|
||||
#include "esp32s3-8048S043.h"
|
||||
|
||||
/****************************************************************************
|
||||
@@ -81,8 +81,8 @@ int board_lcd_initialize(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
esp32s3_configgpio(ESP32S3_DISPLAY_BCKL, OUTPUT);
|
||||
esp32s3_gpiowrite(ESP32S3_DISPLAY_BCKL, true);
|
||||
esp_configgpio(ESP32S3_DISPLAY_BCKL, OUTPUT);
|
||||
esp_gpiowrite(ESP32S3_DISPLAY_BCKL, true);
|
||||
|
||||
#ifdef CONFIG_VIDEO_FB
|
||||
/* Initialize and register the framebuffer driver */
|
||||
|
||||
@@ -19,6 +19,9 @@ CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM2N16R8V=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQBUTTONS=y
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -19,6 +19,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM2N16R8V=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -19,6 +19,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM2N16R8V=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -17,6 +17,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM2N16R8V=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -17,6 +17,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM2N16R8V=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "esp32s3_gpio.h"
|
||||
#include "espressif/esp_gpio.h"
|
||||
#include "esp32s3_spi.h"
|
||||
#include "hardware/esp32s3_gpio_sigmap.h"
|
||||
|
||||
@@ -488,21 +488,21 @@ static struct ili9341_lcd_s *esp32s3_initializa_ili9342c(int spi_port)
|
||||
|
||||
/* Initialize non-SPI GPIOs */
|
||||
|
||||
esp32s3_configgpio(DISPLAY_DC, OUTPUT);
|
||||
esp32s3_configgpio(DISPLAY_RST, OUTPUT);
|
||||
esp32s3_configgpio(DISPLAY_BCKL, OUTPUT);
|
||||
esp_configgpio(DISPLAY_DC, OUTPUT);
|
||||
esp_configgpio(DISPLAY_RST, OUTPUT);
|
||||
esp_configgpio(DISPLAY_BCKL, OUTPUT);
|
||||
|
||||
/* Reset LCD */
|
||||
|
||||
nxsched_usleep(10 * 1000);
|
||||
esp32s3_gpiowrite(DISPLAY_RST, true);
|
||||
esp_gpiowrite(DISPLAY_RST, true);
|
||||
nxsched_usleep(10 * 1000);
|
||||
esp32s3_gpiowrite(DISPLAY_RST, false);
|
||||
esp_gpiowrite(DISPLAY_RST, false);
|
||||
nxsched_usleep(50 * 1000);
|
||||
|
||||
/* Turn on LCD backlight */
|
||||
|
||||
esp32s3_gpiowrite(DISPLAY_BCKL, true);
|
||||
esp_gpiowrite(DISPLAY_BCKL, true);
|
||||
|
||||
g_lcddev.spi_dev = esp32s3_spibus_initialize(spi_port);
|
||||
if (!g_lcddev.spi_dev)
|
||||
@@ -547,7 +547,9 @@ static void ili9342c_configure(struct ili9341_lcd_s *lcd,
|
||||
lcd->sendcmd(lcd, cmd);
|
||||
if (data_bytes)
|
||||
{
|
||||
for (int i = 0; i < data_bytes; i++)
|
||||
int i;
|
||||
|
||||
for (i = 0; i < data_bytes; i++)
|
||||
{
|
||||
lcd->sendparam(lcd, data[i]);
|
||||
}
|
||||
@@ -576,6 +578,7 @@ static void ili9342c_configure(struct ili9341_lcd_s *lcd,
|
||||
int board_lcd_initialize(void)
|
||||
{
|
||||
struct ili9341_lcd_s *ili9342c_lcd;
|
||||
int i;
|
||||
|
||||
ili9342c_lcd = esp32s3_initializa_ili9342c(DISPLAY_SPI);
|
||||
if (!ili9342c_lcd)
|
||||
@@ -591,7 +594,7 @@ int board_lcd_initialize(void)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
for (int i = 0; i < nitems(g_lcd_config); i++)
|
||||
for (i = 0; i < nitems(g_lcd_config); i++)
|
||||
{
|
||||
ili9342c_configure(ili9342c_lcd,
|
||||
g_lcd_config[i].cmd,
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "esp32s3_gpio.h"
|
||||
#include "espressif/esp_gpio.h"
|
||||
#include "esp32s3_spi.h"
|
||||
#include "hardware/esp32s3_gpio_sigmap.h"
|
||||
|
||||
@@ -78,20 +78,20 @@ int board_lcd_initialize(void)
|
||||
{
|
||||
/* Initialize non-SPI GPIOs */
|
||||
|
||||
esp32s3_configgpio(DISPLAY_DC, OUTPUT);
|
||||
esp32s3_configgpio(DISPLAY_RST, OUTPUT);
|
||||
esp32s3_configgpio(DISPLAY_BCKL, OUTPUT);
|
||||
esp_configgpio(DISPLAY_DC, OUTPUT);
|
||||
esp_configgpio(DISPLAY_RST, OUTPUT);
|
||||
esp_configgpio(DISPLAY_BCKL, OUTPUT);
|
||||
|
||||
/* Reset LCD */
|
||||
|
||||
esp32s3_gpiowrite(DISPLAY_RST, false);
|
||||
esp_gpiowrite(DISPLAY_RST, false);
|
||||
nxsched_usleep(10 * 1000);
|
||||
esp32s3_gpiowrite(DISPLAY_RST, true);
|
||||
esp_gpiowrite(DISPLAY_RST, true);
|
||||
nxsched_usleep(10 * 1000);
|
||||
|
||||
/* Turn on LCD backlight */
|
||||
|
||||
esp32s3_gpiowrite(DISPLAY_BCKL, true);
|
||||
esp_gpiowrite(DISPLAY_BCKL, true);
|
||||
|
||||
g_spidev = esp32s3_spibus_initialize(DISPLAY_SPI);
|
||||
if (!g_spidev)
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
#include <nuttx/spi/spi.h>
|
||||
|
||||
#include "esp32s3_gpio.h"
|
||||
#include "espressif/esp_gpio.h"
|
||||
#include "esp32s3-box.h"
|
||||
|
||||
/****************************************************************************
|
||||
@@ -72,7 +72,7 @@ int esp32s3_spi2_cmddata(struct spi_dev_s *dev, uint32_t devid, bool cmd)
|
||||
* data bits are data or a command.
|
||||
*/
|
||||
|
||||
esp32s3_gpiowrite(DISPLAY_DC, !cmd);
|
||||
esp_gpiowrite(DISPLAY_DC, !cmd);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -114,7 +114,7 @@ int esp32s3_spi3_cmddata(struct spi_dev_s *dev, uint32_t devid, bool cmd)
|
||||
* data bits are data or a command.
|
||||
*/
|
||||
|
||||
esp32s3_gpiowrite(CONFIG_ESP32S3_SPI3_MISOPIN, !cmd);
|
||||
esp_gpiowrite(CONFIG_ESP32S3_SPI3_MISOPIN, !cmd);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
#include <nuttx/input/touchscreen.h>
|
||||
|
||||
#include "esp32s3_i2c.h"
|
||||
#include "esp32s3_gpio.h"
|
||||
#include "espressif/esp_gpio.h"
|
||||
#include "hardware/esp32s3_gpio_sigmap.h"
|
||||
|
||||
#include "esp32s3-box.h"
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
#include <nuttx/input/touchscreen.h>
|
||||
|
||||
#include "esp32s3_i2c.h"
|
||||
#include "esp32s3_gpio.h"
|
||||
#include "espressif/esp_gpio.h"
|
||||
#include "hardware/esp32s3_gpio_sigmap.h"
|
||||
|
||||
#include "esp32s3-box.h"
|
||||
|
||||
@@ -38,6 +38,9 @@
|
||||
#include <errno.h>
|
||||
#include <nuttx/fs/fs.h>
|
||||
|
||||
#include "espressif/esp_gpio.h"
|
||||
#include "esp32s3_start.h"
|
||||
|
||||
#ifdef CONFIG_ESP32S3_TIMER
|
||||
# include "esp32s3_board_tim.h"
|
||||
#endif
|
||||
@@ -54,10 +57,6 @@
|
||||
# include "esp32s3_wifi_adapter.h"
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ESP32S3_RT_TIMER
|
||||
# include "esp32s3_rt_timer.h"
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_WATCHDOG
|
||||
# include "esp32s3_board_wdt.h"
|
||||
#endif
|
||||
@@ -67,7 +66,11 @@
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_RTC_DRIVER
|
||||
# include "esp32s3_rtc_lowerhalf.h"
|
||||
# include "espressif/esp_rtc.h"
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ESPRESSIF_HR_TIMER
|
||||
# include "espressif/esp_hr_timer.h"
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ESPRESSIF_EFUSE
|
||||
@@ -107,6 +110,14 @@ int esp32s3_bringup(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
#ifdef CONFIG_ESPRESSIF_HR_TIMER
|
||||
ret = esp_hr_timer_init();
|
||||
if (ret < 0)
|
||||
{
|
||||
syslog(LOG_ERR, "ERROR: esp_hr_timer_init() failed: %d\n", ret);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_ESPRESSIF_EFUSE)
|
||||
ret = esp_efuse_initialize("/dev/efuse");
|
||||
if (ret < 0)
|
||||
@@ -146,18 +157,10 @@ int esp32s3_bringup(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ESP32S3_RT_TIMER
|
||||
ret = esp32s3_rt_timer_init();
|
||||
if (ret < 0)
|
||||
{
|
||||
syslog(LOG_ERR, "Failed to initialize RT timer: %d\n", ret);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_RTC_DRIVER
|
||||
/* Instantiate the ESP32-S3 RTC driver */
|
||||
|
||||
ret = esp32s3_rtc_driverinit();
|
||||
ret = esp_rtc_driverinit();
|
||||
if (ret < 0)
|
||||
{
|
||||
syslog(LOG_ERR,
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
#include <nuttx/board.h>
|
||||
#include <nuttx/irq.h>
|
||||
|
||||
#include "esp32s3_gpio.h"
|
||||
#include "espressif/esp_gpio.h"
|
||||
#include "hardware/esp32s3_gpio_sigmap.h"
|
||||
|
||||
#include "esp32s3-box.h"
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
uint32_t board_button_initialize(void)
|
||||
{
|
||||
esp32s3_configgpio(BUTTON_BOOT, INPUT_FUNCTION_2 | PULLUP);
|
||||
esp_configgpio(BUTTON_BOOT, INPUT_FUNCTION_2 | PULLUP | CHANGE);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -77,13 +77,13 @@ uint32_t board_buttons(void)
|
||||
int i = 0;
|
||||
int n = 0;
|
||||
|
||||
bool b0 = esp32s3_gpioread(BUTTON_BOOT);
|
||||
bool b0 = esp_gpioread(BUTTON_BOOT);
|
||||
|
||||
for (i = 0; i < 10; i++)
|
||||
{
|
||||
up_mdelay(1);
|
||||
|
||||
bool b1 = esp32s3_gpioread(BUTTON_BOOT);
|
||||
bool b1 = esp_gpioread(BUTTON_BOOT);
|
||||
|
||||
if (b0 == b1)
|
||||
{
|
||||
@@ -129,38 +129,6 @@ uint32_t board_buttons(void)
|
||||
#ifdef CONFIG_ARCH_IRQBUTTONS
|
||||
int board_button_irq(int id, xcpt_t irqhandler, void *arg)
|
||||
{
|
||||
int ret;
|
||||
DEBUGASSERT(id == 0);
|
||||
|
||||
int irq = ESP32S3_PIN2IRQ(BUTTON_BOOT);
|
||||
|
||||
if (irqhandler != NULL)
|
||||
{
|
||||
/* Make sure the interrupt is disabled */
|
||||
|
||||
esp32s3_gpioirqdisable(irq);
|
||||
|
||||
ret = irq_attach(irq, irqhandler, arg);
|
||||
if (ret < 0)
|
||||
{
|
||||
syslog(LOG_ERR, "ERROR: irq_attach() failed: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
gpioinfo("Attach %p\n", irqhandler);
|
||||
|
||||
gpioinfo("Enabling the interrupt\n");
|
||||
|
||||
/* Configure the interrupt for rising and falling edges */
|
||||
|
||||
esp32s3_gpioirqenable(irq, CHANGE);
|
||||
}
|
||||
else
|
||||
{
|
||||
gpioinfo("Disable the interrupt\n");
|
||||
esp32s3_gpioirqdisable(irq);
|
||||
}
|
||||
|
||||
return OK;
|
||||
return esp_gpio_irq(BUTTON_BOOT, irqhandler, arg);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -16,6 +16,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -19,6 +19,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_AUDIO=y
|
||||
@@ -84,6 +87,8 @@ CONFIG_PTHREAD_MUTEX_TYPES=y
|
||||
CONFIG_RAM_SIZE=114688
|
||||
CONFIG_RAM_START=0x20000000
|
||||
CONFIG_RR_INTERVAL=200
|
||||
CONFIG_RTC=y
|
||||
CONFIG_RTC_DRIVER=y
|
||||
CONFIG_SCHED_LPWORK=y
|
||||
CONFIG_SCHED_WAITPID=y
|
||||
CONFIG_SMP=y
|
||||
|
||||
@@ -18,6 +18,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARDCTL_RESET=y
|
||||
@@ -28,7 +31,6 @@ CONFIG_DEFAULT_TASK_STACKSIZE=4096
|
||||
CONFIG_DRIVERS_BLUETOOTH=y
|
||||
CONFIG_DRIVERS_IEEE80211=y
|
||||
CONFIG_DRIVERS_WIRELESS=y
|
||||
CONFIG_ESP32S3_RT_TIMER_TASK_STACK_SIZE=4096
|
||||
CONFIG_ESP32S3_UART0=y
|
||||
CONFIG_ESPRESSIF_BLE=y
|
||||
CONFIG_FS_LARGEFILE=y
|
||||
@@ -59,6 +61,8 @@ CONFIG_PTHREAD_MUTEX_TYPES=y
|
||||
CONFIG_RAM_SIZE=114688
|
||||
CONFIG_RAM_START=0x20000000
|
||||
CONFIG_RR_INTERVAL=200
|
||||
CONFIG_RTC=y
|
||||
CONFIG_RTC_DRIVER=y
|
||||
CONFIG_SCHED_WAITPID=y
|
||||
CONFIG_SIG_DEFAULT=y
|
||||
CONFIG_SPINLOCK=y
|
||||
|
||||
@@ -18,6 +18,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BLUETOOTH_TXCMD_PRIORITY=120
|
||||
@@ -31,7 +34,6 @@ CONFIG_DEFAULT_TASK_STACKSIZE=4096
|
||||
CONFIG_DRIVERS_BLUETOOTH=y
|
||||
CONFIG_DRIVERS_IEEE80211=y
|
||||
CONFIG_DRIVERS_WIRELESS=y
|
||||
CONFIG_ESP32S3_RT_TIMER_TASK_STACK_SIZE=4096
|
||||
CONFIG_ESP32S3_UART0=y
|
||||
CONFIG_ESPRESSIF_BLE=y
|
||||
CONFIG_ESPRESSIF_WIFI=y
|
||||
@@ -81,6 +83,8 @@ CONFIG_PTHREAD_MUTEX_TYPES=y
|
||||
CONFIG_RAM_SIZE=114688
|
||||
CONFIG_RAM_START=0x20000000
|
||||
CONFIG_RR_INTERVAL=200
|
||||
CONFIG_RTC=y
|
||||
CONFIG_RTC_DRIVER=y
|
||||
CONFIG_SCHED_WAITPID=y
|
||||
CONFIG_SIG_DEFAULT=y
|
||||
CONFIG_SPINLOCK=y
|
||||
|
||||
@@ -18,6 +18,9 @@ CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQBUTTONS=y
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -16,6 +16,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -15,6 +15,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_SETJMP_H=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BENCHMARK_COREMARK=y
|
||||
|
||||
@@ -20,6 +20,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -16,6 +16,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -16,6 +16,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -17,6 +17,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_USE_COPY_SECTION=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
|
||||
@@ -20,6 +20,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
|
||||
@@ -17,6 +17,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BCH=y
|
||||
@@ -30,7 +33,6 @@ CONFIG_DRIVERS_IEEE80211=y
|
||||
CONFIG_DRIVERS_WIRELESS=y
|
||||
CONFIG_ESP32S3_OTG=y
|
||||
CONFIG_ESP32S3_OTG_ENDPOINT_NUM=2
|
||||
CONFIG_ESP32S3_RT_TIMER_TASK_STACK_SIZE=4096
|
||||
CONFIG_ESP32S3_SPIFLASH=y
|
||||
CONFIG_ESP32S3_SPIFLASH_SPIFFS=y
|
||||
CONFIG_ESP32S3_UART0=y
|
||||
@@ -76,6 +78,8 @@ CONFIG_PTHREAD_MUTEX_TYPES=y
|
||||
CONFIG_RAM_SIZE=114688
|
||||
CONFIG_RAM_START=0x20000000
|
||||
CONFIG_RR_INTERVAL=200
|
||||
CONFIG_RTC=y
|
||||
CONFIG_RTC_DRIVER=y
|
||||
CONFIG_SCHED_CHILD_STATUS=y
|
||||
CONFIG_SCHED_HAVE_PARENT=y
|
||||
CONFIG_SCHED_LPWORK=y
|
||||
|
||||
@@ -18,6 +18,9 @@ CONFIG_ARCH_CHIP="esp32s3"
|
||||
CONFIG_ARCH_CHIP_ESP32S3=y
|
||||
CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
CONFIG_ARCH_IRQ_TO_NDX=y
|
||||
CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y
|
||||
CONFIG_ARCH_NUSER_INTERRUPTS=2
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARCH_XTENSA=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
@@ -25,7 +28,6 @@ CONFIG_BUILTIN=y
|
||||
CONFIG_DEFAULT_TASK_STACKSIZE=4096
|
||||
CONFIG_DRIVERS_IEEE80211=y
|
||||
CONFIG_DRIVERS_WIRELESS=y
|
||||
CONFIG_ESP32S3_RT_TIMER_TASK_STACK_SIZE=4096
|
||||
CONFIG_ESP32S3_SPIFLASH=y
|
||||
CONFIG_ESP32S3_SPIFLASH_SPIFFS=y
|
||||
CONFIG_ESP32S3_UART0=y
|
||||
@@ -69,6 +71,8 @@ CONFIG_PTHREAD_MUTEX_TYPES=y
|
||||
CONFIG_RAM_SIZE=114688
|
||||
CONFIG_RAM_START=0x20000000
|
||||
CONFIG_RR_INTERVAL=200
|
||||
CONFIG_RTC=y
|
||||
CONFIG_RTC_DRIVER=y
|
||||
CONFIG_SCHED_CHILD_STATUS=y
|
||||
CONFIG_SCHED_HAVE_PARENT=y
|
||||
CONFIG_SCHED_LPWORK=y
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user