Commit Graph

250 Commits

Author SHA1 Message Date
Matias N
d88b5aac97 esp32: move common XTAL and RUN_IRAM configs to ESP32 KConfig 2021-04-07 21:45:48 +01:00
Abdelatif Guettouche
b198c63512 boards/xtensa/esp32: Update some old information in README.txt files.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-04-06 22:40:14 -05:00
Abdelatif Guettouche
19f3523499 boards/xtensa/esp32: Update Kconfig helps when it comes to running from
IRAM.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-04-06 22:40:14 -05:00
Alan C. Assis
cd08694698 esp32 boards: BUTTON_BOOT should use PULLUP instead PULLDOWN 2021-04-05 23:06:03 -05:00
Alan C. Assis
6481eb6523 esp32-devkitc: Add BMP180 sensor support 2021-04-04 10:54:02 -05:00
Alan C. Assis
ec1b89e264 esp32-wrover-kit: Don't use User GPIO Subsystem to control LED
The GPIO_LEDx are already used by esp32_userleds.c, they shouldn't
be used by esp32_gpio.c. This patch also includes the GPIO Input
example (GPIN) that was missing.
2021-04-03 09:37:38 -05:00
Abdelatif Guettouche
f07b64d1af boards/xtensa/esp32/*/esP32_bringup.c: Remove unused comments blocks and
garbage at the end of the files.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-04-01 12:15:34 -05:00
Abdelatif Guettouche
b925c73110 boards/xtensa/esp32: Move the WLAN initialization to the common
directory.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-04-01 12:15:34 -05:00
Alin Jerpelea
3d96d5f2ce arch: esp32: Mixed Case identifier fix
Fix Mixed Case Identifier reported by nxstyle

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-01 12:13:12 -05:00
Abdelatif Guettouche
fcf5c1501e boards/xtensa/esp32-devkitc: Add MQTT-C defconfig.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-31 10:01:08 -05:00
Gustavo Henrique Nihei
d89b2b4092 boards/esp32-wrover-kit: Disable unnecessary SPI driver from nsh config 2021-03-30 04:11:31 -05:00
Gustavo Henrique Nihei
6d93d948de boards/esp32-ethernet-kit: Disable unnecessary SPI driver from nsh config 2021-03-30 04:11:31 -05:00
Gustavo Henrique Nihei
6949ec1074 boards/esp32-devkitc: Disable unnecessary SPI driver from nsh config 2021-03-30 04:11:31 -05:00
Alan C. Assis
7e9faa9725 esp32-devkitc: Add GPIO board support 2021-03-28 13:33:48 -07:00
Abdelatif Guettouche
04b9b8f6db esp32-devkitc: Make nsh the entry-point of the ostest config.
This makes it consistent with other configs and helps with scripting.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-26 12:14:16 -05:00
Sara Souza
59313c86d1 xtensa/esp32: Adds oneshot timer driver. 2021-03-24 16:01:26 -03:00
chenwen
f54aef9977 xtensa/esp32: Support esp32 wireless ioctl cmd 2021-03-23 16:29:52 -03:00
Gustavo Henrique Nihei
ca05ff5ffb boards/esp32-ethernet-kit: Add configuration for testing Button device 2021-03-23 16:29:15 -03:00
Gustavo Henrique Nihei
72d98e645a boards/esp32-ethernet-kit: Add Button support via the BOOT button 2021-03-23 16:29:15 -03:00
Gustavo Henrique Nihei
c759f7e30e boards/esp32-devkitc: Add configuration for testing Button device 2021-03-23 16:29:15 -03:00
Gustavo Henrique Nihei
fca65f08cf boards/esp32-devkitc: Add Button support via the BOOT button 2021-03-23 16:29:15 -03:00
Gustavo Henrique Nihei
d8073c2fd8 boards/esp32-wrover-kit: Add configuration for testing Button device 2021-03-23 16:29:15 -03:00
Gustavo Henrique Nihei
c29770cde1 boards/esp32-wrover-kit: Add Button support via the BOOT button 2021-03-23 16:29:15 -03:00
Abdelatif Guettouche
cc23bdeca4 boards/xtensa/esp32: Add a section in external memory to hold some BSS
data.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-23 16:39:01 +09:00
Masayuki Ishikawa
9cce09e58a boards: Remove SCHED_INSTRUMENTATION from all SMP related configs
Summary:
- This commit removes SCHED_INSTRUMENTATION which has been used
  to debug NuttX SMP kernel

Impact:
- None

Testing:
- Tested with ostest

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-03-22 19:47:56 -07:00
Abdelatif Guettouche
04dffb551d boards/xtensa/esp32: Delete the QEMU generated image on distclean.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-22 09:51:49 +09:00
Alin Jerpelea
6f14299dd0 boards: nxstyle fixes
nxstyle fixes to pass the CI check

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-18 22:58:27 -07:00
Alin Jerpelea
bdfe696b9a boards: xtensa: Author Gregory Nutt: update licenses to Apache
Gregory Nutt has submitted the SGA and we can migrate the licenses
 to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-17 08:40:08 -07:00
Jiuzhu Dong
59eb4fa8d6 fs: delete NFILE_DESCRIPTORS for allocating dynamically
Change-Id: Id06d215063796d222b9792d25ab2d6742167729f
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-03-17 06:46:42 -07:00
Dong Heng
b2f5031e96 xtensa/esp32: Refactor ESP32 WiFi driver to support station and softAP coexistence 2021-03-16 10:20:59 -03:00
Abdelatif Guettouche
28160823b6 arch/xtensa/esp32: ~6KB of memory at address 0x3ffae6f0 is not used by
the ROM bootloader, add that to the heap as well.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-16 16:22:08 +09:00
Abdelatif Guettouche
cba44928d2 arch/xtensa/esp32: Part of the ROM regions in middle of DRAM are not
used, retrieve them as heap.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-16 16:22:08 +09:00
Gustavo Henrique Nihei
4cde8dab5a boards/esp32-wrover-kit: Mount tmpfs on bring up 2021-03-15 19:59:49 -07:00
Gustavo Henrique Nihei
31816d2726 boards/esp32-ethernet-kit: Mount tmpfs on bring up 2021-03-15 19:59:49 -07:00
Gustavo Henrique Nihei
a3f6a5fbb6 boards/esp32-devkitc: Mount tmpfs on bring up 2021-03-15 19:59:49 -07:00
Gustavo Henrique Nihei
330eff36d7 sourcefiles: Fix relative path in file header 2021-03-09 23:18:28 +08:00
Gustavo Henrique Nihei
47cb41c92f makefiles: Fix relative path in file header 2021-03-09 23:18:28 +08:00
Alin Jerpelea
0a797f1e8b boards: Makefile: Author Gregory Nutt: update licenses to Apache
Gregory Nutt has submitted the SGA and we can migrate the licenses
 to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-05 04:08:55 -08:00
Gustavo Henrique Nihei
37ac70b7d9 xtensa/esp32: Add configuration for testing BMP180 2021-03-04 16:31:51 +00:00
Gustavo Henrique Nihei
0735e8c2a7 xtensa/esp32: Fix BMP180 erroneously depending on I2C_DRIVER 2021-03-04 16:31:51 +00:00
Alan C. Assis
29af35faef esp32: Add board config to support MCP2515 2021-03-04 14:57:56 +00:00
Xiang Xiao
9473434587 Ensure the kernel component don't call userspace API
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-03-01 09:23:09 +09:00
Gustavo Henrique Nihei
ed0a1b724b xtensa/esp32: Fix typos reported by codespell 2021-02-25 15:02:15 +00:00
YAMAMOTO Takashi
ce6f6d4241 esp32 Kconfig: Move ESP32_SPIFLASH_xxx configs to the common place
These are referenced by other boards than esp32-devkitc as well.
2021-02-24 08:19:25 +00:00
Pedro Bertoleti
a4f422a801 This commit enables BMP180 suport for ESP32.
As ESP32 has 2 I2C interfaces and BMP180 is a I2C sensor, the criterias to use BMP180 in I2C0 or I2C1 are:

1- First, bring-up routines search for BMP180 in I2C0.
   If BMP180 is found in I2C0, then /dev/press0 is created.
2- If BMP180 cannot be registered in I2C0, bring-up routines search for it in I2C1.
   If BMP180 is found in I2C1, then /dev/press0 is created.

It means only one BMP180 could be suported in Nuttx. In my tests I've observed
that BMP180 example application doesn't seem to work with /dev/press1 BMP180 device,
therefore even BMP180 is found in I2C1, it'll be registered as /dev/press0 device.
2021-02-22 21:45:16 -03:00
Pedro Bertoleti
79e8a52d86 This commit implements I2C support for ESP32 (wrover kit).
It was missing and it wasn't possible to enable I2C (0 and/or 1)
before this fix.
To sum up, this fix implements a I2C register function in ESP32
bring-up routines (esp32_bringup.c) and call if for I2C0 and/or
I2C1 during ESP32 bringup (these function callings are conditioned
by CONFIG_ESP32_I2C (to check if I2C support has been configured),
CONFIG_ESP32_I2C0 (to check if I2C0 support has been configured)
and CONFIG_ESP32_I2C1 (to check if I2C1 support has been configured).

Once this fix is implemented, /dev/i2c0 and/or /dev/i2c1 interfaces
become available and work fine.
2021-02-21 23:33:21 +00:00
Abdelatif Guettouche
10fca18b55 boards/*/esp32: Add instructions on how to use the configs with QEMU.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-02-21 09:57:01 -08:00
Abdelatif Guettouche
adae5083ba esp32-dekitc:wapi_smp: Select the NETDEVICES dependency.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-02-19 03:29:10 -08:00
Masayuki Ishikawa
f344e7b5bf boards: esp32-devkitc: Add CONFIG_STACK_COLORATION=y to wapi_smp/defconfig
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-02-18 19:05:07 -08:00
Masayuki Ishikawa
74c56f53aa boards: esp32-devkitc: Add wapi_smp to test Wi-Fi in SMP mode
Summary:
- This commit adds wapi_smp to test Wi-Fi in SMP mode

Impact:
- None

Testing:
- Tested with wapi, telnetd, ostest

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-02-18 09:11:27 +00:00
YAMAMOTO Takashi
aed24f1255 esp32: Retire XTENSA_IMEM_PROCFS
Now /proc/meminfo has the equivalent.
2021-02-12 03:16:03 -08:00
Alan C. Assis
f56ff40101 Add esp32_gpio_matrix_in/out to replace ROM functions 2021-02-11 20:39:51 +00:00
Gustavo Henrique Nihei
ccc75a09e9 boards/esp32: Add module config to ESP32 boards defconfig 2021-02-08 21:17:22 +00:00
Masayuki Ishikawa
ad2e85433a boards, include, sched: Remove CONFIG_SPINLOCK_IRQ
Summary:
- This commit removes CONFIG_SPINLOCK_IRQ to avoid complexity

Impact:
- None

Testing:
- Tested with the following configs
- spresense:wifi, spresense:smp
- esp32-devkitc:smp (QEMU), sabre-6quad:smp (QEMU)
- maix-bit:smp (QEMU), sim:smp
- stm32f4discovery:wifi
2021-02-05 22:50:04 -08:00
Alan C. Assis
c4f87977dc xtensa/esp32: Fix cache issue detected by DEBUG_ASSERTION 2021-02-04 21:22:01 +00:00
Gustavo Henrique Nihei
053a560aa1 esp32: Make esp32 boards share a common Config.mk with POSTBUILD command 2021-02-03 18:15:56 -03:00
Gustavo Henrique Nihei
afad13dfaa esp32: Refactor QEMU image generation on POSTBUILD 2021-02-03 18:15:56 -03:00
YAMAMOTO Takashi
99a9e2bf3d esp32: Enable renew for "wapi" configs
It's handy to have it when testing wifi stuff.
2021-01-27 00:21:33 -08:00
Alan C. Assis
6a87b85285 xtensa/esp32: Add efuse driver 2021-01-26 18:23:43 -08:00
Dong Heng
4bbc17454c xtensa/esp32: Add AES hardware accelerator driver 2021-01-21 15:06:35 -03:00
Abdelatif Guettouche
2016f9618f boards/xtensa/esp32/esp32-wrover-kit/README.txt: Document the
configurations.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-01-15 09:47:33 +01:00
Abdelatif Guettouche
6875207985 boards/xtensa/esp32/esp32-wrover-kit: Add an example on how to use GPIO
interrupts.

This example uses the GPIO driver with the 3 on board LEDs outputs and one input
as an interrupt pin.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-01-15 09:47:33 +01:00
Sara Souza
6a6121378c xtensa/esp32: Fixed wdt typos 2020-12-22 20:32:38 +01:00
Sara Souza
16b1a87da4 xtensa/esp32: Added watcher defconfig 2020-12-21 20:20:43 +01:00
YAMAMOTO Takashi
7a9f180faf esp32: Bump NAME_MAX where CONFIG_ESP32_WIFI_SAVE_PARAM=y
CONFIG_ESP32_WIFI_SAVE_PARAM seems to use a bit long names
on the filesystem.
eg. "wifi.nvs.net80211.sta.scan_method", which is 33 characters long.
2020-12-21 09:58:22 +01:00
Sara Souza
add46d0408 xtensa/esp32: Added support for RTC WDT 2020-12-16 14:37:39 +01:00
John Bampton
ba12c6c0cf Fix spelling 2020-12-12 19:18:08 +01:00
Abdelatif Guettouche
2a9329615a boards/xtensa/esp32: Normalize all the configs.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-10 12:31:17 -06:00
Abdelatif Guettouche
cda3dd6816 baords/xtensa/esp32: Add WAPI and LEDs configs.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-10 12:31:17 -06:00
Abdelatif Guettouche
c95aba84f1 boards/xtensa/esp32: Move the LED definition to the private header and
remove userleds for boards that don't have that.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-10 12:31:17 -06:00
Abdelatif Guettouche
f7c5b467e1 arch/xtensa/src/esp32: Remove the EXPERIMENTAL config from the Wireless.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-10 12:31:17 -06:00
Abdelatif Guettouche
452b52a61e boards/xtensa/esp32/common: Fix functions' descriptions.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-10 12:31:17 -06:00
Abdelatif Guettouche
bb336498e4 boards/xtensa/esp32/esp32-wrover-kit: Add autoleds.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-10 12:31:17 -06:00
Abdelatif Guettouche
9d74362d75 boards: Add the new boards to the boards's Kconfig.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-10 12:31:17 -06:00
Abdelatif Guettouche
bb3b5cd1ee boards/xtensa/esp32: Add initial support for the ESP-WROVER-KIT.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-10 12:31:17 -06:00
Abdelatif Guettouche
cea53ed2ff boards/xtensa/esp32: Rename the common files as esp32_board_* to avoid
any naming collisions.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-10 12:31:17 -06:00
Abdelatif Guettouche
e097890f22 boards/xtensa/esp32: Initial support for the ESP32 Ethernet Kit.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-10 12:31:17 -06:00
Abdelatif Guettouche
a8f7959a21 boards/xtensa/esp32: Remove the experimental and debug configs.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-10 12:31:17 -06:00
Abdelatif Guettouche
3ba5018b37 boards/xtensa/esp32: A bit of re-organisation in the ESP32 boards.
Move the common files into the common directory.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-10 12:31:17 -06:00
Dong Heng
a59062f719 xtensa/esp32: Optimize IRAM usage based on esp-idf
Decrease about 87KB IRAM space cost from Wi-Fi related libs.
2020-12-04 14:33:30 -03:00
Dong Heng
3bb9a42c6b xtensa/esp32: Refactor ESP32 Wi-Fi driver 2020-12-04 09:39:11 -03:00
Alan C. Assis
3865960b89 esp32/esp32-core: Fix #ifdef warning and update MM_SECTIONS 2020-12-01 21:36:07 +01:00
Abdelatif Guettouche
81968ce562 boards: Allow boards to extend clean and distclean by a double colon
target instead of calling a variable.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-11-28 11:07:28 -06:00
chao.an
b1a042734f style/Document: remove unnecessary trailing whitespace
N/A

Signed-off-by: chao.an <anchao@xiaomi.com>
2020-11-28 12:20:30 +01:00
chao.an
32ba194372 style/code: remove unnecessary trailing whitespace
N/A

Signed-off-by: chao.an <anchao@xiaomi.com>
2020-11-28 12:20:30 +01:00
chenwen
2991418b2e xtensa/esp32: keep cpu clock while configured cpu clock is consistent with the default 2020-11-25 10:53:05 -03:00
YAMAMOTO Takashi
fc7d8944d7 boards/xtensa/esp32/esp32-core/src/esp32_bringup.c: Fix a syslog format error 2020-11-20 22:22:53 -08:00
Alan C. Assis
50e1a49c6e Fix the SPIRAM_BANKSWITCH that was defined incorrectly 2020-11-18 22:21:53 +01:00
Alan C. Assis
f09d103528 xtensa/esp32: Add high memory support to work with PSRAM 2020-11-18 22:21:53 +01:00
Dong Heng
bfb5214ef8 xtensa/esp32: Add SPI Flash hardware encryption I/O support 2020-11-13 08:37:59 +01:00
Sara Souza
8a1960fdf4 Documentation for Watchdog Timer Driver 2020-11-09 08:06:10 -08:00
Sara Souza
b9d44017cf xtensa/esp32: Watchdog support (MWDTs) 2020-11-08 13:05:24 -03:00
Alan C. Assis
816af60b77 xtensa/esp32: Include cache workaround to PSRAM 2020-11-07 12:08:02 +01:00
Abdelatif Guettouche
f052a9b1e6 baords/xtensa/esp32/esp32-core: Update all configs to add the new region
of memory.
2020-11-06 18:36:41 -03:00
Abdelatif Guettouche
2ac2ce55d2 arch/xtensa/src/esp32/esp32_allocateheap.c: Fix the memory regions with
regards to the data used by the ROM.
Static alloaction sections should end at the begining of the ROM data.
The rest of memory (End of ROM data --> End of DRAM) is added to the
heap.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-11-06 18:36:41 -03:00
Dong Heng
b54f0edff4 xtensa/esp32: Add Partition and OTA device 2020-11-03 21:54:07 +01:00
chao.an
b88561299b make/expression: improving up asm/C/C++ compile times
In the current compilation environment, the recursive assignment(=) for compile
flags will be delayed until every file is actually need to be compile.

For example:
--------------------------------------------------------------------------------
arch/arm/src/Makefile:

INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)chip}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)common}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)$(ARCH_SUBDIR)}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)sched}

CPPFLAGS += $(INCLUDES) $(EXTRAFLAGS)
CFLAGS += $(INCLUDES) $(EXTRAFLAGS)
CXXFLAGS += $(INCLUDES) $(EXTRAFLAGS)
AFLAGS += $(INCLUDES) $(EXTRAFLAGS)
--------------------------------------------------------------------------------

All compilation options will be included recursively,
which will be delayed until the compilation options are actually used:

tools/Config.mk:

--------------------------------------------------------------------------------
define COMPILE
  @echo "CC: $1"
  $(Q) $(CC) -c $(CFLAGS) $($(strip $1)_CFLAGS) $1 -o $2
endef
--------------------------------------------------------------------------------

All compile flags to be reexecuted $(INCDIR) as long as one file needs to be compiled,
but in fact, the compilation options have not changed in the current directory.

So the we recommand to change the syntax of assignment
From
    Recursive (=)
To
    Simple    (:=)

In this way, we can ensure that all compilation options are expanded only once and reducing repeated works.

Signed-off-by: chao.an <anchao@xiaomi.com>
2020-11-02 07:53:53 -08:00
Brennan Ashton
162da1169e CI: Store artifacts durring build
Add new option -A is added to tools/testbuild.sh that will take the
created build executable and store it in a folder for the config
that generated it under $ARTIFACTDIR which can be set via an
environment variable or defaulted to $(TOPDIR)/buildartifacts

This is also helpful for local testing because you can now run
tools/testbuild.sh -A sim.dat and have all of the simulation
targets generated without having to rebuild along the way.

In the GitHub Actions workflow the artifacs are uploaded
two two bundles one for macOS and one for Linux

Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
2020-10-28 11:32:21 -07:00
Sara Souza
ddc0d30063 xtensa/esp32: Added Userled support 2020-10-27 15:38:03 -03:00
YAMAMOTO Takashi
d8bee6769a esp32_flash.ld: Avoid having too many sections
Fixes an issue I saw when trying libcxx.

esptool.py has a limit of 16 sections.

It complains like:

    A fatal error occurred: Invalid segment count 23 (max 16).
    Usually this indicates a linker script problem.
2020-10-25 19:42:21 -07:00