RIOT icon indicating copy to clipboard operation
RIOT copied to clipboard

cpu/esp32: add support for ESP32-S3

Open gschorcht opened this issue 1 year ago • 0 comments

Contribution description

This PR is a split-off from PR #18185, which provides

  • the support for ESP32-S3 SoC
  • a common ESP32-S3 board definition
  • the board definition for the ESP32S3-DevKit board.

This PR requires PRs ~#18408, #18409, #18410 and #18411~ to be compilable in CI. Furthermore the CI workers need an update with riotdocker #200

Testing procedure

Beside of Green CI some basic tests should work (Of course, I have already tested all of them and many more):

  • tests/shell
  • tests/periph_cpuid
  • tests/periph_gpio
  • tests/periph_hwrng
  • tests/periph_i2c
  • tests/periph_spi
  • tests/periph_rtt
  • tests/periph_timer
  • examples/gnrc_networking using esp_wifi as optional module.

Issues/PRs references

~Depends on #18408 Depends on #18409 Depends on #18410 Depends on #18411~

gschorcht avatar Aug 09 '22 05:08 gschorcht

@kaspar030 This PR requires an update of CI workers. Is there a plan when it is done next time? How is it coordinated?

gschorcht avatar Aug 11 '22 06:08 gschorcht

@benpicco Do you think the CI workers are updated now?

gschorcht avatar Aug 12 '22 11:08 gschorcht

Well it's worth a try. And with the current CI run times the compilation will happen during the night anyway.

If not we got something to point to showing that the automatic updates apparently do not work.

benpicco avatar Aug 12 '22 11:08 benpicco

Well it's worth a try. And with the current CI run times the compilation will happen during the night anyway.

If not we got something to point to showing that the automatic updates apparently do not work.

The toolchain is still missing :worried:

gschorcht avatar Aug 13 '22 05:08 gschorcht

Well it's worth a try. And with the current CI run times the compilation will happen during the night anyway. If not we got something to point to showing that the automatic updates apparently do not work.

The toolchain is still missing worried

The question is how we can get the CI worker up to date.

gschorcht avatar Aug 13 '22 05:08 gschorcht

I'd keep the ready for build label set - makes it easier to complain about it on Matrix 😄

benpicco avatar Aug 13 '22 10:08 benpicco

bumping for hopefully improved CI PR.

MrKevinWeiss avatar Aug 17 '22 06:08 MrKevinWeiss

CI is not happy anymore

undefined reference to `cpu_coreclk'

benpicco avatar Aug 17 '22 13:08 benpicco

CI is not happy anymore

undefined reference to `cpu_coreclk'

:worried: Hm, I compiled some tests before pushing the changes. That is, we need an extra CI compilation cycle, quite annoying.

gschorcht avatar Aug 17 '22 13:08 gschorcht

CI is not happy anymore

undefined reference to `cpu_coreclk'

worried Hm, I compiled some tests before pushing the changes. That is, we need an extra CI compilation cycle, quite annoying.

I have moved CLOCK_CORECLOCK definition to periph_cpu.h, see commit e7bf789dd42cbbb4b4858799bcbed8824b0d98c2. Let's hope that it doesn't cause other compilation problems.

gschorcht avatar Aug 17 '22 13:08 gschorcht

@benpicco I am getting desperate as I am getting another unrelated error in the CI compilation. I was hoping to merge the PR today to be able to provide the PRs based on it for the ESP32-S3 before my vacation starting tomorrow :worried:

gschorcht avatar Aug 18 '22 07:08 gschorcht

The current CI run will fail due to unrelated issues. Failures that look like

-- running on worker breeze thread 3, build number 316686.
make: Entering directory '/tmp/dwq.0.3566048456678582/1bc9f0dc6a1abbb862a0fb9058807d10/tests/driver_sam0_eth'
make: Leaving directory '/tmp/dwq.0.3566048456678582/1bc9f0dc6a1abbb862a0fb9058807d10/tests/driver_sam0_eth'
make: Entering directory '/tmp/dwq.0.3566048456678582/1bc9f0dc6a1abbb862a0fb9058807d10/tests/driver_sam0_eth'
Building application "tests_driver_sam0_eth" for "same54-xpro" with MCU "samd5x".

sha1sum /tmp/dwq.0.3566048456678582/1bc9f0dc6a1abbb862a0fb9058807d10/build/tests_driver_sam0_eth.bin > /tmp/dwq.0.3566048456678582/1bc9f0dc6a1abbb862a0fb9058807d10/build/test-input-hash.sha1
   text	   data	    bss	    dec	    hex	filename
  19468	    180	  16932	  36580	   8ee4	/tmp/dwq.0.3566048456678582/1bc9f0dc6a1abbb862a0fb9058807d10/build/tests_driver_sam0_eth.elf
make: Leaving directory '/tmp/dwq.0.3566048456678582/1bc9f0dc6a1abbb862a0fb9058807d10/tests/driver_sam0_eth'
32d31
< netdev_legacy_api
{"build/": 112}

will be fixed by https://github.com/RIOT-OS/RIOT/pull/18466

maribu avatar Aug 18 '22 07:08 maribu

If it is passing mudock and acked there is no reason it can't be merged today or even after your vacation. Maybe we want to enable automerge?

MrKevinWeiss avatar Aug 18 '22 07:08 MrKevinWeiss

Sorry this didn’t make it, enjoy your vacation! Let’s hope we’re getting CI fixed by the time you’re back 😄

benpicco avatar Aug 18 '22 21:08 benpicco

I will build once we fix the CI

MrKevinWeiss avatar Aug 22 '22 09:08 MrKevinWeiss

Thanks for reviewing and merging.

gschorcht avatar Aug 22 '22 15:08 gschorcht