Skip to content

drivers: mbox: espressif: add esp32c6 support #93202

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

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

LucasTambor
Copy link
Contributor

Add support for esp32c6 HP and LP Core.
Add mbox sample support for ESP32C6 HP and LP Core.
Add LP Core interrupt sources.
Improve shared memory usage among HP and LP Core.

Improve shared memory usage among HP and LP Core

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
Add LP Core interrupt source

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
Espressif's interrupt controller drive should not build for
ESP32C6 LP Core since it's behavior is different.
Add proper condition for that.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
Copy link

github-actions bot commented Jul 16, 2025

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff
hal_espressif zephyrproject-rtos/hal_espressif@f3453bd (zephyr) zephyrproject-rtos/hal_espressif#464 zephyrproject-rtos/hal_espressif#464/files

DNM label due to: 1 project with PR revision

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@github-actions github-actions bot added manifest manifest-hal_espressif DNM (manifest) This PR should not be merged (controlled by action-manifest) labels Jul 16, 2025
Add support for esp32c6 HP and LP Core

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
Add mbox sample support for ESP32C6 HP and LP Core

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
Copy link

Copy link
Member

@uLipe uLipe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice one! LGTM

ret = esp_intr_alloc(cfg->irq_source_pro_cpu,
ESP_PRIO_TO_FLAGS(cfg->irq_priority_pro_cpu) |
ESP_INT_FLAGS_CHECK(cfg->irq_flags_pro_cpu) |
ESP_INTR_FLAG_IRAM,
(intr_handler_t)esp32_mbox_isr, (void *)dev, NULL);
#endif
#if defined(CONFIG_SOC_ESP32C6_HPCORE)
SET_PERI_REG_MASK(PMU_HP_INT_ENA_REG, PMU_SW_INT_ENA);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this really necessary? Sounds esp_intr_alloc should be enabling that already.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

esp_intr_alloc does not enable it automatically :/

@zephyrbot zephyrbot requested review from raffarost and wearyzen July 17, 2025 02:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Interrupt Controller area: mbox area: RISCV RISCV Architecture (32-bit & 64-bit) area: Samples Samples DNM (manifest) This PR should not be merged (controlled by action-manifest) manifest manifest-hal_espressif platform: ESP32 Espressif ESP32
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants