-
Notifications
You must be signed in to change notification settings - Fork 1.5k
esp32s3 openeth ethernet driver #13527
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
[Experimental Bot, please feedback here] The PR summary is OK, but the other sections need significant work to meet the requirements. Here's a breakdown of what's missing and how to improve it: Impact:
Testing:
Out of Scope:
Example improvements: Impact:
Testing:
Out of Scope:
By providing this level of detail, you make it much easier for reviewers to understand your changes and ensure they meet the project's requirements. |
0e11b48 to
43dbecb
Compare
cederom
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @casaroli amazing work! :-)
|
Can anyone help me understand why the workflow is failing? What should I do to fix it? |
Looks like internal CI problem, builds fine for me on FreeBSD :-) |
f037463 to
a7bf323
Compare
|
need fix the ci error first: |
done |
|
Hi @casaroli this is good, thanks for the contribution! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you rename this directory to qemu_openeth using underscore instead of dash? Same for ESP32.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
|
Now that's what I call a well written PR. Congrats again. Was able to reproduce the issue and make some recommendations. |
62af320 to
a41a4b5
Compare
d397407 to
bf7c605
Compare
|
I believe I have addressed all the concerns. Can you please provide another review? |
Well, you should thank @lupyuen's bot 😅 😅 |
Since this will be used for esp32s3 also, we can have this in common/espressif.
We add the config for esp32s3, then move the esp32 specifics to esp32/chip.h, then add the esp32s3 specifics to esp32s3/chip.h.
The current simple boot method is not working with qemu. We enable this option for now until we can make the simple-boot image boot with QEMU.
since this config requires bootloader, we skip it
bf7c605 to
c607126
Compare
Summary
Espressif recently added support for esp32s3 on their qemu, so we migrate the openeth ethernet driver to xtensa common and add it to the esp32s3-devkit config.
Impact for the user
ESP32S3_QEMU_IMAGEandnuttx.merged.binwill be built (as described in the documentation).ESP32S3_OPENETHand use network in qemu as described in https://github.com/espressif/esp-toolchain-docs/blob/main/qemu/esp32/README.md#ethernet-supportesp32s3-devkit:qemu-openethconfig which automatically has networking enabled and is ready to boot on qemu with esp-idf legacy bootloader.Currently, the simple boot is not working with QEMU. This issue was not introduced by this PR, as it is an effect or enabling the simple boot by default. The
qemu-openethdefconfigs enableESP32_APP_FORMAT_LEGACYorESP32S3_APP_FORMAT_LEGACYto overcome this limitation.Testing
esp32-devkitc:qemu-openethesp32s3-devkit:qemu-openethpingcommand from the nsh console.Commands
Download espressif qemu from https://github.com/espressif/qemu
esp32s3
esp32
QEMU is not emulating the chip revision
v3.0, so the user has two options:#define ESP32_IGNORE_CHIP_REVISION_CHECKinarch/xtensa/src/esp32/esp32_start.cOut of scope
qemu-openeth. As this PR did not introduce this defect, I plan on investigating this in the future, however I do not have any timeline for this.3.0, so we need to either add an efuse storage as described in the espressif documentation or defineESP32_IGNORE_CHIP_REVISION_CHECKinarch/xtensa/src/esp32/esp32_start.c. This is a defect of espressif qemu and is out of scope of NuttX. However, I have updated the esp32 documentation to reference this issue.