-
Notifications
You must be signed in to change notification settings - Fork 398
esp32c5: enable RMT metadata and clock initialization #4964
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
base: main
Are you sure you want to change the base?
Conversation
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.
Pull request overview
Enables ESP32-C5 RMT support in esp-hal by adding missing chip metadata and ensuring the RMT peripheral clock + runtime prerequisites are initialized so the RMT driver and associated macros/config are emitted and functional.
Changes:
- Add ESP32-C5
[device.rmt]metadata and includeRmtin peripheral clock generation. - Regenerate
esp-metadata-generatedoutputs for ESP32-C5 (properties, peripheral clocks, and RMT helper macros/cfgs). - Add ESP32-C5-specific RMT runtime initialization (force RMT memory power-up and enable RMT SCLK).
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| esp-metadata/devices/esp32c5.toml | Adds RMT device metadata and includes Rmt in clock/peripheral generation inputs for ESP32-C5. |
| esp-metadata-generated/src/_generated_esp32c5.rs | Regenerated chip outputs: RMT properties, peripheral clock enum/control, and RMT channel/clock-source macros. |
| esp-metadata-generated/src/_build_script_utils.rs | Regenerated build-script cfg emissions for ESP32-C5 to include rmt_driver_supported and RMT-related cfgs. |
| esp-hal/src/rmt.rs | Adds ESP32-C5 RMT hardware prerequisites during clock configuration (memory power + SCLK enable). |
| esp-hal/README.md | Updates the chip support table to reflect ESP32-C5 RMT availability. |
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.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.
|
Thanks for the PR! Could you also enable the RMT HIL tests for esp32c5, then we can run it here. |
|
/hil esp32c5 |
|
Triggered HIL run for #4964 (chips: esp32c5). Run: https://github.com/esp-rs/esp-hal/actions/runs/21912912009 Status update: ❌ HIL (per-chip) run failed (conclusion: failure). |
|
/hil esp32c5 |
|
@Veanir, sorry — you're not allowed to execute HIL runs or binary size analysis for this PR. After that, you can use |
|
Pushed follow-up fix e8963b8: on ESP32-C5, pulse ref_cnt_rst for the active channel before start_tx/start_rx (matching IDF LL behavior). Local preflight builds pass for esp32c5 and esp32c6 RMT HIL binaries. Bot says I'm not trusted to run /hil on this PR yet; could an esp-rs member run /trust @Veanir once, then /hil esp32c5? |
|
/hil full |
|
Triggered full HIL run for #4964. Run: https://github.com/esp-rs/esp-hal/actions/runs/21916426153 Status update: ❌ HIL (full) run failed (conclusion: failure). |
|
Could you post |
|
Thanks for checking. Here is Local verification on the same commit: Environment: |
|
Running the tests successfully needs power-cycling the target. We persist some state from one of the other tests that interferes here. At this point I consider this a probe-rs issue, and not something to be addressed in this PR. |
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.
Pull request overview
Copilot reviewed 5 out of 6 changed files in this pull request and generated no new comments.
Add an Unreleased entry for ESP32-C5 RMT support to satisfy changelog-enforcer CI.
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.
Pull request overview
Copilot reviewed 6 out of 7 changed files in this pull request and generated no new comments.
|
You don't have to keep rebasing this PR. Once we have a solution for the test issue, we'll either do it ourselves or ping you for it. It'll take a bit of time, though, hope you don't mind leaving this hanging for a few days. |
|
Thanks for the heads-up! No worries - I’m still getting used to workflow here, so I appreciate the guidance. |
Summary
[device.rmt]) and includeRmtin peripheral clock generation sormt_driver_supportedand channel/clock-source macros are emittedesp-metadata-generatedoutputs for ESP32-C5 and refresh the chip support table inesp-hal/README.mdesp-hal/src/rmt.rsby forcing RMT memory power-up (RMT_PD_CTRL) and enablingRMT_SCLK_CONF.SCLK_ENVerification
cargo xtask update-metadatacargo +esp check --manifest-path esp-hal/Cargo.toml --features esp32c5,unstable -Zbuild-std=core --target riscv32imac-unknown-none-elfcargo +esp check --manifest-path esp-hal/Cargo.toml --features esp32c6,unstable -Zbuild-std=core --target riscv32imac-unknown-none-elfcargo check --manifest-path esp-metadata-generated/Cargo.toml