Commit Graph

720 Commits

Author SHA1 Message Date
Tiago Medicci Serrano
0ddb64555a esp32s3/irq: Allow IRAM ISRs to run during SPI flash operation
This commit provides an interface to register ISRs that run from
IRAM and keeps track of the non-IRAM interrupts. It enables, for
instance, to avoid disabling all the interrupts during a SPI flash
operation: IRAM-enabled ISRs are, then, able to run during these
operations.
2023-10-05 11:25:43 +08:00
Eren Terzioglu
ded321a515 xtensa/esp32s2: Add support to TWAI/CANBus controller 2023-09-28 09:35:08 +08:00
Dong Heng
c805b8f3c1 boards/esp32s3-box: Add ESP32-S3-BOX development board basic BSP
1. bringup
2. reset
3. board button
4. board SPI
5. board touchscreen
6. board LCD
2023-09-25 12:51:43 +08:00
TaiJu Wu
707dd12090 fix: disable esp32s3-devkit/ksta_softap spinlock
Link time happened error when CI/CD test.
ref: https://github.com/apache/nuttx-apps/pull/2076

Signed-off-by: TaiJu Wu <tjwu1217@gmail.com>
2023-09-21 10:34:59 -04:00
Dong Heng
6ac28d5526 xtensa/esp32s3: LCD controller driver 2023-09-19 11:38:05 +08:00
Xiang Xiao
8dbe86084e Remove FAR from source code under 32bit arch and board
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-09-16 19:12:13 +03:00
chenwen@espressif.com
827c2df889 xtensa/esp32s3: Fix octal lines mode SPIRAM blocking issue
Signed-off-by: chenwen@espressif.com <chenwen@espressif.com>
2023-09-15 20:40:52 +03:00
Tomáš Pilný
103270be1d esp32/rmt: Improve comments in ESP32's RMT peripheral 2023-09-12 17:44:42 +08:00
Tomáš Pilný
b5a1dd2eec boards/esp32-devkitc: Renamed wifi_smp_rmt to rmt
Removed wifi_smp_rmt config for ESP32

Replaced RMT defconfig with generated file
2023-09-12 17:44:42 +08:00
Tiago Medicci Serrano
1f1c793fd5 boards/esp32s3-devkit: Add board GPIO support
The board-level GPIO support is different from the already existing
button and LEDC support because it enable us to register the GPIO
pins as devices in `/dev/gpioX`. Some applications are able to use
this interface to read and write the GPIO pins.

Documentation was added regarding its usage. Please check
`Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst`
2023-09-12 16:22:15 +08:00
Eren Terzioglu
cf395cf3fb xtensa/esp32: Add twai defconfigs to esp32 2023-09-07 16:59:44 -03:00
Eren Terzioglu
a26996fb3b xtensa/esp32s3: Add support to TWAI/CANBus controller 2023-09-08 01:49:43 +08:00
Tiago Medicci Serrano
c92b3a90ac esp32s3-devkit: Provide audio support for ESP32-S3-DevKitC-1
Provide initial support for audio through the I2S peripheral to the
CS4344 audio codec on ESP32-S3-DevKitC-1 board.

Please check documentation for usage examples.
2023-09-05 13:33:05 +08:00
Alan Carvalho de Assis
c27c33e9a9 Run refresh.sh to update all board configs 2023-09-02 14:45:44 +08:00
Dong Heng
550f730c23 board/esp32s3-lcd-ev: Add ESP32-S3-LCD-EV development board BSP 2023-08-24 19:56:29 +08:00
Xiang Xiao
90f8315432 arch: Remove up_netinitialize
since this api change to xxx_netinitialize

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-08-20 14:33:17 +03:00
Tiago Medicci Serrano
2d8b96e562 esp32-devkitc/blewifi: Unset DEFAULT_SMALL and debugging configs
Following the pattern of the others `defconfigs`, disable debugging
configs and `CONFIG_DEFAULT_SMALL`.
2023-08-19 18:40:31 +08:00
Tiago Medicci Serrano
e25fcb3bd5 esp32s3_devkit/sta_softap: Disable SMP on defconfig temporarily
There is a known bug while using the Station + softAP mode with SMP
mode enabled. Disable it temporarily until the bug is properly
fixed.
2023-08-19 18:40:31 +08:00
Lucas Saavedra Vaz
e02b203311 arch/xtensa/esp32s3: Update MCUboot build process
Change the MCUboot build process to, in the future, deprecate the esp-nuttx-bootloaders repository.
2023-08-18 14:44:11 +08:00
Lucas Saavedra Vaz
4bcc930535 arch/xtensa/esp32s2: Update MCUboot build process
Change the MCUboot build process to, in the future, deprecate the esp-nuttx-bootloaders repository.
2023-08-18 14:44:11 +08:00
Lucas Saavedra Vaz
60fdc9cb72 arch/xtensa/esp32: Update MCUboot build process
Change the MCUboot build process to, in the future, deprecate the esp-nuttx-bootloaders repository.
2023-08-18 14:44:11 +08:00
Tiago Medicci Serrano
6f235c5f0a esp32-devkitc: Enable softAP on blewifi defconfig to ease testing
In order to properly test the W-Fi/BT coexistence mode, set the
Wi-Fi mode to station + softAP.
2023-08-14 16:29:21 -03:00
Tiago Medicci Serrano
01b6c87b15 esp32s3: Implement the Wi-Fi/BLE coexistence
ESP32-S3 has only one 2.4 GHz ISM band RF module, which is shared
by Bluetooth and Wi-Fi, so Bluetooth can’t receive or transmit data
while Wi-Fi is receiving or transmitting data and vice versa.
Under such circumstances, ESP32-S3 uses the time-division
multiplexing method to receive and transmit packets.
2023-08-14 16:29:21 -03:00
Petro Karashchenko
655d00b1e7 arch/xtensa/esp32s3: initial effort to get BLE running on ESP32-S3
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-08-14 16:29:21 -03:00
simbit18
2868e28837 fix incorrect comments
stm32_bh1750.c: barometer -> ambient light sensor
xmc4_max6675.c: barometer -> temperature
esp32_max6675.c: barometer -> temperature
esp32s2_max6675.c: barometer -> temperature
2023-08-03 08:04:51 -07:00
Tiago Medicci Serrano
17447622bf esp32s3/wifi: support the Wi-Fi to work with protected build
- Added Wi-Fi related symbols to the kernel-space linker;
- Allocate more RAM to the kernel (to be useb by the Wi-Fi driver).
- Create a specific defconfig.
2023-08-02 21:38:44 +02:00
Tiago Medicci Serrano
1197a80741 esp32s3: Enhance protected build linker scripts and memory layout
Instead of setting kernel/user space instruction and data ROM as
hard-coded values on linker, set them according to the max size
of the kernel image set by CONFIG_ESP32S3_KERNEL_IMAGE_SIZE. This
is done by making KIROM, UIROM, KDROM and UDROM dependent on the
kernel size value. Also, override CONFIG_NUTTX_USERSPACE config
according to CONFIG_ESP32S3_KERNEL_IMAGE_SIZE by using a custom
PREBUILD definition.
2023-08-02 21:38:44 +02:00
simonatoaca
9794dc118f drivers: Added support for BME680
drivers/sensors/bme680.c: The bme680 driver
sensor.h: Added new type of sensor (Gas) to be used for retrieving the bme680 data
esp32/common/src/esp32_bme680.c: bme680 support on esp32
esp32/esp32-sparrow_kit/esp32_bringup.c: added support for the bme680
esp32/esp32-sparrow-kit/configs/nsh/defconfig: fixed defconfig ci problem

Signed-off-by: simonatoaca <simona.alexandra2000@gmail.com>

esp32-sparrow-kit: Fixed defconfig

Signed-off-by: simonatoaca <simona.alexandra2000@gmail.com>

Code is now C89 compatible

Signed-off-by: simonatoaca <simona.alexandra2000@gmail.com>

Reused already defined sensor data structs by registering every sub-sensor separately

Signed-off-by: simonatoaca <simona.alexandra2000@gmail.com>

Implemented suggestions

Signed-off-by: simonatoaca <simona.alexandra2000@gmail.com>
2023-07-29 17:47:23 -03:00
Xiang Xiao
b4e7251415 boards/esp32-devkitc: Refresh wifi_smp_rmt config
Fix the regression by https://github.com/apache/nuttx/pull/6992

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-07-24 21:01:14 -03:00
Victor Benso
0c5145b7d1 New implementation of the ESP32's RMT driver. 2023-07-23 16:17:57 -03:00
Roy Feng
3c63b9b646 ESP32s3:Do not include specfic board in commom
board/esp32s3/common is for common board driver. It should not
include a header file from specific board. so remove include
of esp32s3-devkit.h from some of the common driver source
2023-07-21 20:45:48 +08:00
Roy Feng
3fa86f83b7 Some follow-up changes for ESP32s3 32M flash support
Fix the link and flash parameters error of ESP32s3 32M flash
enabled.
2023-07-21 20:44:04 +08:00
Xiang Xiao
a51be33a41 libc/tls: Change the default value of TLS_NELEM to zero
to ensure the default config as small as possible.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-07-20 08:11:30 +02:00
YAMAMOTO Takashi
9aa9b88f66 esp32-devkitc/wamr_wasi_debug: enable wasi-threads 2023-07-19 18:50:24 +08:00
Alan Carvalho de Assis
357dc9c6f4 esp32s2-saola-1: Add SPI Flash example 2023-07-10 17:56:46 +08:00
Alan Carvalho de Assis
1d88d5a370 ESP32S2: Add support to SPI Flash 2023-07-10 17:56:46 +08:00
simonatoaca
a4708d217a esp32/common: Added support for rgb led driver on esp32
Signed-off-by: simonatoaca <simona.alexandra2000@gmail.com>

esp32-sparrow-kit: Added rgb led driver to bringup and to defconfig

Signed-off-by: simonatoaca <simona.alexandra2000@gmail.com>

Fixed checkstyle

Signed-off-by: simonatoaca <simona.alexandra2000@gmail.com>

Update esp32_rgbled.h

Update boards/xtensa/esp32/common/src/esp32_rgbled.c

Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>

Update boards/xtensa/esp32/common/src/esp32_rgbled.c

Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>

Update boards/xtensa/esp32/common/src/esp32_rgbled.c

Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>

Update boards/xtensa/esp32/common/src/esp32_rgbled.c

Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>

Removed ret 0 as an error in the case of nx_write()
2023-07-05 16:08:56 -03:00
Robert-Ionut Alexa
c3576d79d9 esp32-sparrow-kit: enable framebuffer support in the default configuration
Signed-off-by: Robert-Ionut Alexa <robertalexa2000@gmail.com>
2023-07-05 11:23:33 -03:00
Robert-Ionut Alexa
6adeae4d0a esp32: initializing a display should not initialize the framebuffer as well
The framebuffer itself already initializes the display so there is no need to
do the reverse operation. Otherwise the code gets stuck in an infinite loop.

Signed-off-by: Robert-Ionut Alexa <robertalexa2000@gmail.com>
2023-07-05 11:23:33 -03:00
Xiang Xiao
0eeca0f375 build: Replace "$(shell $(INCDIR) $(CC) ...)" with $(INCDIR_PREFIX)
to unify the way to get include directories

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-06-23 00:11:25 +03:00
simbit18
f930b4f6f5 Fix Kconfig style
Remove TABs from Kconfig files
Replace help => ---help---
Add comments
2023-06-20 12:54:50 -03:00
simbit18
3f4151525d Fix Kconfig style
Remove TABs from Kconfig files
Add comments
2023-06-19 20:05:57 +03:00
YAMAMOTO Takashi
e9738cd906 esp32-devkitc/wamr_wasi_debug: Bump WAMR version 2023-06-19 07:20:47 +03:00
Alan Carvalho de Assis
bb84b08735 esp32s3-meadow: Add NSH terminal over USB Device (not USB-JTAG-Serial) 2023-06-19 11:02:08 +08:00
Alan Carvalho de Assis
82bc515ede esp32s3-eye: Add NSH terminal over USB Device (not USB-JTAG-Serial) 2023-06-19 11:02:08 +08:00
Alan Carvalho de Assis
985e2beae0 esp32s3-devkit: Add NSH terminal over USB Device (not USB-JTAG-Serial) 2023-06-19 11:02:08 +08:00
Lucas Saavedra Vaz
fa5db655cd boards/xtensa/esp32s3-devkit: Revert NSH defconfig deletion
Restore the NSH defconfig
2023-06-16 14:35:18 -03:00
Dong Heng
d492823128 xtensa/esp32s3: Add USB OTG device driver 2023-06-14 18:04:27 -03:00
Lucas Saavedra Vaz
81cfd73770 board/xtensa/esp32-devkitc: Add nxdiag config
Adds defconfig that enables nxdiag with relevant options for the ESP32-DevKitC. Also updates the board documentation.
2023-06-03 13:20:01 +08:00
Tiago Medicci Serrano
223c5a3722 xtensa/esp32_esp32s2_esp32s3: enable syslog bufferring
By enabling the syslog buffering on xtensa-based devices, it's
possible to ensure concurrent tasks will not mess with the syslog
messages.
2023-06-02 10:17:54 +08:00
Roy Feng
bcd776b2a7 Fix build issues for ESP32 SoftAP mode 2023-05-27 23:54:55 +09:00
Lucas Saavedra Vaz
5f1dca63ae arch/xtensa/esp32: Add missing SPI Flash ROM functions
Add missing ROM functions and clear source files
2023-05-27 03:16:20 +08:00
Tiago Medicci Serrano
1bc4b8d7b2 esp32s3/wifi: enable SMP by default on Wi-Fi-related defconfigs
In order to enhance the Wi-Fi performance, enable SMP by default to
make use of the dual-core functionality of the ESP32-S3.
2023-05-24 00:37:46 +08:00
Tiago Medicci Serrano
63364a52ff esp32s3/spiflash: pause other CPU before SPI flash operations
Whenever a SPI flash operation is going to take place, it's
necessary to disable both the instruction and data cache. In order
to avoid the other CPU (if SMP is enabled) to retrieve data from
the SPI flash, it needs to be paused until the current SPI flash
operation finishes. All the code that "pauses" the other CPU (in
fact, the CPU spins until `up_cpu_resume` is called) needs to run
from the instruction RAM.
2023-05-24 00:37:46 +08:00
Tiago Medicci Serrano
c60d59d825 esp32s3: add dedicated interrupt stack for ESP32-S3 by default
This config also prevents crashes due to the commit 6be363f, which
fix a race condition in multi-threaded write/read of the serial
driver, but increases stack size.
2023-05-23 13:39:50 +08:00
Xiang Xiao
7990f90915 Indent the define statement by two spaces
follow the code style convention

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-05-21 09:52:08 -03:00
Tiago Medicci Serrano
3e07477c85 esp32/wifi: use wapis init config to save Wi-Fi data
Instead of using Espressif's emulated NVS to save Wi-Fi data, use
`wapi`s wireless configure initialization mechanism for saving
Wi-Fi data. It 1) avoids creating a specific storage partition
just to save Wi-Fi data (ESP32's storage partition is used
instead); 2) avoids initialization problems of the emulated NVS
when SMP is enabled (the Wi-Fi driver tries to initialize it before
the actual partition is initialized); and 3) enables reconnecting
using `wapi reconnect` command and connect the device automatically
on bringup if `CONFIG_NETUTILS_NETINIT` is selected.
2023-05-12 01:09:09 +08:00
Tiago Medicci Serrano
b680abd04b esp32s3/wifi: use wapis init config to save Wi-Fi data
Instead of using Espressif's emulated NVS to save Wi-Fi data, use
`wapi`s wireless configure initialization mechanism for saving
Wi-Fi data. It 1) avoids creating a specific storage partition
just to save Wi-Fi data (ESP32-S3's storage partition is used
instead); 2) avoids initialization problems of the emulated NVS
when SMP is enabled (the Wi-Fi driver tries to initialize it before
the actual partition is initialized); and 3) enables reconnecting
using `wapi reconnect` command and connect the device automatically
on bringup if `CONFIG_NETUTILS_NETINIT` is selected.
2023-05-12 01:09:09 +08:00
Lucas Saavedra Vaz
a895cd4854 arch/xtensa/esp32s2: Define syscall table to enable using ROM functions
This commit aims to enable the use of ROM functions on ESP32-S2.
This is done by creating the required syscall stubs table and adding the missing symbols to the linker script.
2023-05-10 15:39:44 -03:00
Lucas Saavedra Vaz
274a79fd34 arch/xtensa/esp32: Define syscall table to enable using ROM functions
This commit aims to enable the use of ROM functions on ESP32.
This is done by creating the required syscall stubs table and adding the missing symbols to the linker script.
2023-05-10 15:39:44 -03:00
Alan Carvalho de Assis
37f318c038 boards/esp32s3: Add RTC initialization 2023-05-06 11:43:01 +08:00
Alan Carvalho de Assis
276d1c8f48 esp32s3: Add support to RTC 2023-05-06 11:43:01 +08:00
Dong Heng
bd122915f0 xtensa/esp32s3: Support octal lines mode SPIRAM 2023-05-05 18:38:12 +08:00
Lucas Saavedra Vaz
b738379684 boards/xtensa/esp32s2-kaluga-1: Add support for the ES8311 codec
Adds support for the ES8311 codec on the ESP32-S2-Kaluga-1 board. This commit also adds basic configurations for testing and updates the board documentation.
2023-05-04 18:41:54 -03:00
Tiago Medicci Serrano
6e76229df2 esp32/wifi: remove debug features from Wi-Fi-related defconfigs 2023-05-03 23:23:31 +08:00
Tiago Medicci Serrano
a86a9dc09e esp32s3/wifi: fix Wi-Fi's NVS-like storage long filename error
While using NVS-like storage of the Wi-Fi driver, an error was
thrown while trying to access a file whose name was longer than
the mounted SPIFFS `CONFIG_SPIFFS_NAME_MAX`.
2023-05-03 23:23:31 +08:00
Tiago Medicci Serrano
0f808a352a boards/esp32-lyrat/configs: add defconfig for RTP Tools
RTP Tools is a set of small applications that can be used for
processing RTP data. This application is able to receive RTP
packets and write the content to a FIFO. `nxplayer` then reads
from the FIFO, enabling using NuttX as a RTP receiver for audio
applications.

This is particularly useful to stream uncompressed audio through
Wi-Fi to remote speakers.
2023-05-03 07:57:11 +02:00
Tiago Medicci Serrano
f7d64fec9f boards/esp32-devkitc: substitute ramtest to mm on defconfigs
The defconfigs that test PSRAM on ESP32 contain the `ramtest` app,
but it doesn't test the memory correctly as it try to access the
memory directly. The memory, however, is being used by the system's
heap and `ramtest` can mess with it. Therefore, it makes sense to
test using `mm` testing app.
2023-04-30 11:31:23 +08:00
Lucas Saavedra Vaz
18d2653e4e boards/xtensa/ttgo_t_display_esp32: Fix LCD colors 2023-04-27 02:18:32 +08:00
Lucas Saavedra Vaz
7f32b7973b boards/xtensa/esp32s2-kaluga-1: Add support for LCD displays 2023-04-27 02:18:32 +08:00
Lucas Saavedra Vaz
690454558e boards/xtensa/esp32: Ensure that DISPLAY_BCKL exists for ILI9341 2023-04-27 02:18:32 +08:00
Robert-Ionut Alexa
2e04d87e30 esp32-sparrow-kit: enable SSD1306 OLED display in the default configuration
Signed-off-by: Robert-Ionut Alexa <robertalexa2000@gmail.com>
2023-04-25 20:35:55 +08:00
Robert-Ionut Alexa
0e06e03ff5 esp32-devkitc: add support for LCD char device registration
Signed-off-by: Robert-Ionut Alexa <robertalexa2000@gmail.com>
2023-04-25 20:35:55 +08:00
Robert-Ionut Alexa
5bfedbcc60 esp32: macros related to SSD1306 OLED display should not be board-specific
Signed-off-by: Robert-Ionut Alexa <robertalexa2000@gmail.com>
2023-04-25 20:35:55 +08:00
Lucas Saavedra Vaz
bdfe31e850 boards/xtensa/esp32: Add ESP32-PICO-KIT support 2023-04-22 01:23:13 +08:00
Huang Qi
d6c56e7105 driver/telnet: Remove TELNET_CHARACTER_MODE
If TELNET_CHARACTER_MODE is set, the ECHO must be handled by the telnet server.

So this option is useless. We need a new approach to control the ECHO behavior.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-04-22 01:03:51 +08:00
Gustavo Henrique Nihei
9affcb8673 boards: Update tickless defconfigs with ostest for testability
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-04-06 19:29:23 +03:00
Tiago Medicci Serrano
eb01b66978 esp32/wifi: fix typos, goto and macro definitions 2023-04-05 10:26:27 -03:00
Alan Carvalho de Assis
498a24cc54 esp32s3: Add esp32s3-meadow board 2023-03-30 20:35:15 +03:00
Alan Carvalho de Assis
b87eb7c82f esp32: Add Ai-Thinker ESP32 Audio Kit board
This commit adds support to Ai-Thinker ESP32 Audio Kit V2.2 A247
board.

There are two modules of this board. The old model uses AC101 audio
and is not supported currently (AFAIK there is no AC101 driver) and
the new version uses the ES8388 audio codec. This model is supported
by this commit.

Just read the documentation to test playing an audio file.
TODO: Test audio recording.
2023-03-28 20:58:36 +03:00
Lucas Saavedra Vaz
6227cd4fd4 boards/xtensa/esp32s2-kaluga-1: Add touch pad support 2023-03-26 12:59:37 -03:00
Lucas Saavedra Vaz
1b87c86619 boards: Update and fix configs for ESP boards 2023-03-25 12:23:35 +02:00
Dong Heng
663b4c4f34 xtensa/esp32: Tasks use PSRAM as stack can do SPI flash read/write/erase/map/unmap 2023-03-23 09:26:09 -03:00
Lucas Saavedra Vaz
2d5a9e72b2 boards/xtensa/esp32-lyrat: Add support for audio input 2023-03-21 12:13:59 -03:00
Tiago Medicci Serrano
7b807a8540 esp32-esp32c3/wifi: remove naming inconsistencies
* Remove the 'COEXISTENCE' suffix from Wi-Fi's STA + SoftAP mode.
Coexistence usually refers to Wi-Fi + BLE, instead of Wi-Fi's
operation mode;
* Remove commented debug code;
* Remove outdate function descriptions;
2023-03-16 19:07:25 +01:00
Tiago Medicci Serrano
d4b11a960f esp32s3/wifi: add support to softAP (softAP and softAP + STA mode) 2023-03-16 19:07:25 +01:00
Tiago Medicci Serrano
8f2cdc4e60 esp32s3/wifi: add support for Wi-Fi (Station mode)
1) Wi-Fi driver libs from Espressif ESP-IDF release/v5.0;
2) Station mode only;
3) WPA2-PSK and WPA3-SAE enabled;

Not yet supported (WIP):
- SoftAP mode;
- 802.11k, 802.11v and 802.11R;
- Power Save mode;
- BLE Coexistance;
2023-03-10 10:59:14 +02:00
Tiago Medicci Serrano
1fc73087da esp32s3: add reset/shutdown handler to run registered callbacks 2023-03-10 10:59:14 +02:00
Lucas Saavedra Vaz
35f830b19a boards: Add CoreMark config to ESP boards 2023-03-08 13:11:13 +08:00
Gustavo Henrique Nihei
9f44391828 boards/esp32-devkitc: Adjust defconfig for WAMR after dependency fix
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-04 01:47:20 +08:00
Xiang Xiao
66c5f86018 sched: Disable stdio api by default when DEFAULT_SMALL equals y
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-03-03 00:18:03 +02:00
Xiang Xiao
2c5f653bfd Remove the tail spaces from all files except Documentation
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-26 13:24:24 -08:00
Lucas Saavedra Vaz
b7bfd9e530 boards/xtensa/esp32-lyrat: Add SD Card config 2023-02-24 22:20:13 +08:00
Huang Qi
ca61c40453 stdio: Remove CONFIG_EOL_IS_XXX
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-02-24 00:35:19 +08:00
Xiang Xiao
8b4ecac6c2 libc: Move math library from libs/libc/math to libs/libm/libm
to prepare the support of other implementation e.g.:
https://github.com/JuliaMath/openlibm
https://gitlab.com/gtd-gmbh/libmcs

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-23 10:40:07 +02:00
Xiang Xiao
ee24396d77 drivers/note: Change DRIVER_NOTExxx to DRIVERS_NOTExxx
follow other driver config style

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-20 14:30:59 +08:00
Fotis Panagiotopoulos
9b4d784307 Improvements in sockets allocation. 2023-02-20 09:06:46 +08:00
Alan Carvalho de Assis
fd9f2b8a03 boards/esp32: Fix WiFi default Algorithm 2023-02-17 12:10:13 +08:00
chao an
3a0fdb019d nuttx: replace all ARRAY_SIZE()/ARRAYSIZE() to nitems()
Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-09 20:05:44 +08:00
Alan Carvalho de Assis
63a847ebca esp32s3-devkit: Add support LED PWM initialization 2023-02-08 11:02:19 +08:00
Alan Carvalho de Assis
94970f32d7 esp32s2-saola-1: Add initialization to LEDC PWM 2023-02-08 10:56:32 +08:00
Stuart Ianna
a2a542562f fs: Implment link as a normal function instead macro
so "using ::link;" can pass the compiling. This change also
simplify the implementation of the hard link in the future.
2023-02-04 18:31:23 -03:00
Alan Carvalho de Assis
f2b53d7234 Add board config example to test random number generator 2023-01-27 13:16:35 +08:00
Lucas Saavedra Vaz
bd06945de2 boards/xtensa/esp32-lyrat: Set up touch pad interruptions 2023-01-26 14:33:08 -03:00
Xiang Xiao
d7ee492fc4 board/arch: Remove FAR decorator
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-01-25 13:05:07 +02:00
Xiang Xiao
92d23e7d6d esp32-devkitc/coremark: Fix ci break
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-01-25 03:50:21 +08:00
Gustavo Henrique Nihei
1b94806b35 boards/esp32: Remove duplicated MCUboot-related defconfigs
These are basically the same from the esp32-devkitc board. As the
defconfigs do not make use of any board-specific peripheral, there
is no need to duplicate them in every ESP32 board.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-01-24 08:44:22 +09:00
Gustavo Henrique Nihei
e77e12e145 espressif: Stabilize MCUboot support on Espressif chips
MCUboot support is no longer behind EXPERIMENTAL for the following
chips:
- ESP32
- ESP32-S2
- ESP32-S3
- ESP32-C3

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-01-24 08:44:22 +09:00
Lucas Saavedra Vaz
d3a6de2439 boards/esp32-devkitc: Add coremark config 2023-01-24 06:47:34 +08:00
Alan Carvalho de Assis
f0289577bf boards: Update all boards config after updating NSH_CMDPARMS 2023-01-23 03:04:51 +08:00
Alan Carvalho de Assis
9b187446f4 esp32s2-saola-1: Initialize EFUSE driver 2023-01-20 15:41:13 +08:00
Alan Carvalho de Assis
1be9d7c57f esp32s3-devkit: Initialize EFUSE driver 2023-01-20 15:40:46 +08:00
Gustavo Henrique Nihei
11e401c0bc esp32[c3|s3]: Fix relative path in file header
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-01-19 10:11:34 +08:00
Gustavo Henrique Nihei
5a25b46b8b esp32[c3|s3]: Improve documentation of Linker Scripts
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-01-19 10:11:34 +08:00
Gustavo Henrique Nihei
2436065096 espressif: Add missing Apache Foundation copyright header
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-01-19 10:11:34 +08:00
Gustavo Henrique Nihei
ed91c97f93 xtensa/esp32: Remove deprecated CONFIGFILE variable
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-01-19 10:11:34 +08:00
Gustavo Henrique Nihei
705e29fb27 xtensa/esp32: Support allocation of userspace heap into External RAM
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-01-18 17:41:09 +08:00
Lucas Saavedra Vaz
89536c526b boards/esp32s2-saola-1: Add button driver support 2023-01-12 22:23:42 +08:00
Lucas Saavedra Vaz
42b3316d51 boards/esp32-lyrat: Fix typos 2023-01-12 22:23:42 +08:00
pengyiqiang
1c62181b0d boards: adapt LVGL v8 defconfig
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
2023-01-01 10:15:08 -03:00
halyssonJr
cdbb670e5d Add support to Franzininho board
rename files ESP32S2-Franzininho to Franzininho-WiFi and remove some scripts previously tested
2022-12-20 19:47:37 -03:00
Gustavo Henrique Nihei
b6d9d4e92f xtensa/esp32: Fix PSRAM support when Stack Smash protection is enabled
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-15 09:34:15 +08:00
Almir Okato
8f3c425067 xtensa/esp32s3: Enable booting from MCUboot bootloader
Add support for booting from MCUboot bootloader on ESP32-S3.

Signed-off-by: Almir Okato <almir.okato@espressif.com>
2022-12-15 00:42:13 +08:00
Lucas Saavedra Vaz
893b1477ea boards/esp32-lyrat: Add initial touch pad configuration 2022-12-14 22:38:10 +08:00
Gustavo Henrique Nihei
ffa6004b5a boards/esp32-devkitc: Disable FPU test for knsh defconfig
FPU test is not supported under Protected Mode.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-14 09:30:51 +09:00
Gustavo Henrique Nihei
ca16e9bbd5 xtensa/esp32s3: Simplify board linker script selection
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-08 21:55:29 +08:00
Gustavo Henrique Nihei
afd95058c0 xtensa/esp32s2: Rename linker scripts into more meaningful names
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-08 21:55:29 +08:00
Gustavo Henrique Nihei
f78c6432d8 xtensa/esp32: Simplify board linker script selection
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-08 21:55:29 +08:00
Gustavo Henrique Nihei
236ee5c80d xtensa/esp32: Rename linker scripts into more meaningful names
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-08 21:55:29 +08:00
Gustavo Henrique Nihei
1ecaa4e672 xtensa/esp32s3: Configure the PMS peripheral for Protected Mode
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-07 03:07:45 +08:00
Gustavo Henrique Nihei
bfc40c74d0 xtensa/esp32s3: Add support for Protected Mode
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-07 03:07:45 +08:00
YAMAMOTO Takashi
fc4493b7f1 esp32-devkitc/wamr_wasi_debug: enable native-lib stuff
* enable DLFCN.

* bump WAMR to a version which i happened to test.

* enable bulk-memory because it's required by recent versions of
  wasi-sdk, which i happened to use to build a test module.
  (test.wasm in the log below.)

Lightly tested with a stripped down version of WAMR native-lib example. [1]

```
nsh> mount -t littlefs /dev/esp32flash /mnt
nsh> iwasm --native-lib=/mnt/test_add.o /mnt/test.wasm
Hello World!
10 + 20 = 30
nsh> iwasm /mnt/test.wasm
[00:00:23:000 - 6]: warning: failed to link import function (env, test_add)
Hello World!
Exception: failed to call unlinked import function (env, test_add)
nsh>
```

[1] https://github.com/bytecodealliance/wasm-micro-runtime/tree/main/samples/native-lib
2022-12-02 13:47:20 +08:00
YAMAMOTO Takashi
a43af6563b esp32-devkitc:wamr_wasi_debug kconfig maintainance
* disable too verbose wamr options.

* enable CONFIG_SCHED_WAITPID. because async execution on nsh prompt
  sometimes confuses me.

* enable toywasm. it's sometimes convenient to have another interpreter.
  note: wasm3 in nuttx apps doesn't have wasi enabled.
2022-12-01 23:28:33 +08:00
Lucas Saavedra Vaz
a926445995 boards: Fix buttons GPIO IRQ on ESP boards 2022-11-28 17:24:57 -03:00
Lucas Saavedra Vaz
cd5e536c40 boards/esp32-lyrat: Add buttons example 2022-11-28 17:24:57 -03:00
SuGliger
83a4b45dd4 boards/esp32-wrover-kit: Fix GPIO conflicts 2022-11-26 11:58:58 +08:00
SuGliger
9cdb865c9c boards/esp32-wrover-kit: Add Lua Interpreter defconfig 2022-11-26 11:58:58 +08:00
Robert-Ionut Alexa
9c6971279d esp32-sparrow-kit: enable support for MMCSD-SPI
Add the necessary configs to the default nsh config file in order to enable
support for MMCSD-SPI.

Signed-off-by: Robert-Ionut Alexa <robertalexa2000@gmail.com>
2022-11-23 19:52:34 +08:00
Robert-Ionut Alexa
e0374c30e4 esp32-sparrow-kit: add support for the LTR308 light sensor
Add support to esp32-sparrow-kit for the LTR308 sensor. This patch also
enables the sensor in the default nsh config file.

Signed-off-by: Robert-Ionut Alexa <robertalexa2000@gmail.com>
2022-11-23 19:52:34 +08:00
Robert-Ionut Alexa
3351146c0b boards/xtensa/esp32: add initial commit for the ESP32-SPARROW-KIT
ESP32-SPARROW-KIT is built upon ESP32-WROVER-KIT by adding various
peripherals. This is an initial commits that only backports the code
as it is, without further changes.

Signed-off-by: Robert-Ionut Alexa <robertalexa2000@gmail.com>
2022-11-23 19:52:34 +08:00
Tiago Medicci Serrano
d3ffeb40a7 libc/machine/xtensa: make longjmp safe against context switch
In order to turn longjmp context-switch safe, it's necessary
to disable interrupts before modifying windowbase and windowstart.
Otherwise, after a context switch, windowstart and windowbase
would be different, leading to a wrongly set windowstart bit due to
longjmp writing it based on the windowbase before the context switch.
This corrupts the registers at the next window overflow reaching
that wrongly set bit.

*Background:*
This PR is related to an issue first observed on ESP-IDF
https://github.com/espressif/esp-idf/issues/5229 and it was, then,
checked on NuttX using a test application.

*The test application:*
To check if the problem affects ESP32, ESP32-S2 and ESP32-S3 on
NuttX, it was created an application based on:
https://en.cppreference.com/w/c/program/longjmp

The application creates 16 tasks (`#define NUMBER_OF_TASKS  16`)
that implements the following daemon:

```
static int setjmp_longjmp_daemon(int argc, char *argv[])
{
  for (int i = 0; i < NUMBER_OF_TASKS * 2; i++)
    {
      jmp_buf env;

      volatile int count = 0;
      if (setjmp(env) != UINT16_MAX)
        {
          foo(&env, ++count);
        }
    }

  sem_post(&g_sem);

  return EXIT_SUCCESS;
}
```

The main function also initializes a semaphore to avoid application
exiting before tasks return successfully:

```
  sem_init(&g_sem, 0, -NUMBER_OF_TASKS);
```

Finally, the round-robin interval was lowered to 1ms to raise the
chances of the longjmp being interrupted by a context switch
(`CONFIG_RR_INTERVAL=1).

This setup was able to reproduce the problem prior to this patch
being applied.
2022-11-22 19:34:44 +01:00
chao an
624d69ee05 boards: enter/leave critical section should in pairs
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-22 08:19:24 +09:00
Tiago Medicci Serrano
d492a5b092 esp32s2/i2s: implement I2S receiver module
- Add ioctl method to enable allocating the apb buffer.
- Add RX methods to set data width, sample rate, channels and
for receiving data from the I2S peripheral.
- Update the i2schar defconfig to enable the I2S receiver.
- Add nxlooper defconfig to enable testing the RX interface.
- Add specific bindings on ESP32-S2  bringup to enable nxlooper
to work without the need of any specific codec.
2022-11-21 23:46:47 +08:00
Tiago Medicci Serrano
3b5ab27893 esp32/i2s: implement I2S receiver module
- Add ioctl method to enable allocating the apb buffer.
- Add RX methods to set data width, sample rate, channels and
for receiving data from the I2S peripheral.
- Update the i2schar defconfig to enable the I2S receiver.
- Add nxlooper defconfig to enable testing the RX interface.
- Add specific bindings on ESP32 bringup to enable nxlooper
to work without the need of any specific codec.
2022-11-15 17:01:47 -03:00
Alan Carvalho de Assis
013b15db2d esp32: Add support to LilyGO_TBeam V1.1 LoRa/GPS board 2022-11-13 22:59:50 +08:00
YAMAMOTO Takashi
0f2206e9a8 esp32-devkitc/wamr_wasi_debug: bump WAMR version 2022-11-09 18:20:05 +08:00
Xiang Xiao
352006af6d boards/esp32-lyrat: Remove CONFIG_MM_CIRCBUF=y from audio config
since this config is removed from:
commit a446b5816f
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Date:   Sun Nov 6 00:18:52 2022 +0800

    mm/circbuf: Remove MM_CIRCBUF option from Kconfig

    since the linker can remove the unused object file from the final image

    Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-08 18:24:07 -03:00
Xiang Xiao
a446b5816f mm/circbuf: Remove MM_CIRCBUF option from Kconfig
since the linker can remove the unused object file from the final image

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-08 10:18:27 -03:00
Lucas Saavedra Vaz
bcafc77cf8 boards/esp32-lyrat: Add support for the ES8388 codec 2022-11-08 10:03:18 -03:00
Masayuki Ishikawa
6bd285814d boards: esp32-devkitc: Update elf/defconfig
Summary:
- This commit adds the following configs to elf/defconfig
  +CONFIG_DEBUG_FULLOPT=y
  +CONFIG_DEBUG_SYMBOLS=y
  +CONFIG_STACK_COLORATION=y

Impact:
- None

Testing:
- Tested with esp32-devkitc (QEMU and board)

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2022-11-08 10:03:00 -03:00