Skip to content

boards/Kconfig: Fix bug on ESP32, ESP32-S2 and ESP32-S3 GPIO IRQ#18502

Merged
acassis merged 1 commit intoapache:masterfrom
tmedicci:bugfix/esp32_gpio_irq
Mar 6, 2026
Merged

boards/Kconfig: Fix bug on ESP32, ESP32-S2 and ESP32-S3 GPIO IRQ#18502
acassis merged 1 commit intoapache:masterfrom
tmedicci:bugfix/esp32_gpio_irq

Conversation

@tmedicci
Copy link
Contributor

@tmedicci tmedicci commented Mar 6, 2026

Summary

  • boards/Kconfig: Fix bug on ESP32, ESP32-S2 and ESP32-S3 GPIO IRQ

A previous commit (d2c85a9) introduced an incomplete change to upstream regarding GPIO IRQ selection on ESP32, ESP32-S2 and ESP32-S3. NuttX's upstream CI did not get the error because of the rules that trigger specific pipelines based on the modified files. In this case, the xtensa jobs did not run to properly evaluate this issue.

Impact

This PR fix issues regarding buttons defconfig fdor ESP32, ESP32-S2 and ESP32-S3. esp32-devkitc:buttons is affected, for instance.

Impact on user: Yes. Fix a known issue.

Impact on build: Yes, it fixes a build issue regarding buttons defconfig.

Impact on hardware: ESP32, ESP32-S2 and ESP32-S3.

Impact on documentation: No.

Impact on security: No.

Impact on compatibility: No.

Testing

Build esp32-devkitc:buttons, for instance:

Building

make -j distclean
./tools/configure.sh -S esp32-devkitc:buttons
make flash ESPTOOL_PORT="/dev/ttyUSB0"

Running

Test the buttons application on NSH. Press BOOT button to check its functionality.

Results

nsh> buttons
buttons_main: Starting the button_daemon
buttons_main: button_daemon started
button_daemon: Running
button_daemon: Opening /dev/buttons
button_daemon: Supported BUTTONs 0x01
nsh> Sample = 1
Sample = 0
Sample = 1
Sample = 0

A previous commit (d2c85a9)
introduced an incomplete change to upstream regarding GPIO IRQ
selection on ESP32, ESP32-S2 and ESP32-S3. NuttX's upstream CI did
not get the error because of the rules that trigger specific
pipelines based on the modified files. In this case, the xtensa
jobs did not run to properly evaluate this issue.

Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
Copy link
Contributor

@cederom cederom left a comment

Choose a reason for hiding this comment

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

Awesome, thank you @tmedicci =)

@acassis
Copy link
Contributor

acassis commented Mar 6, 2026

@tmedicci nice work!

Question: did you already measure how much space disabling CONFIG_ESP32_GPIO_IRQ will save?

If it is not much, makes more sense remove this option, it is source of issues when user try to use GPIO with interruption and discover it is not working because CONFIG_ESP32_GPIO_IRQ is disabled

@tmedicci
Copy link
Contributor Author

tmedicci commented Mar 6, 2026

@tmedicci nice work!

Question: did you already measure how much space disabling CONFIG_ESP32_GPIO_IRQ will save?

If it is not much, makes more sense remove this option, it is source of issues when user try to use GPIO with interruption and discover it is not working because CONFIG_ESP32_GPIO_IRQ is disabled

No, I didn't measure (and this bugfix isn't really an attempt to do that, it was just an experiment about unifying sources that I inadvertently added to the previous PR). I can try that when updating the sources.

@acassis
Copy link
Contributor

acassis commented Mar 6, 2026

@tmedicci nice work!
Question: did you already measure how much space disabling CONFIG_ESP32_GPIO_IRQ will save?
If it is not much, makes more sense remove this option, it is source of issues when user try to use GPIO with interruption and discover it is not working because CONFIG_ESP32_GPIO_IRQ is disabled

No, I didn't measure (and this bugfix isn't really an attempt to do that, it was just an experiment about unifying sources that I inadvertently added to the previous PR). I can try that when updating the sources.

Right, I suggest removing it, about ESP32xx and RP2040 have this option to disable GPIO INT, I think it bring more headache then improved. Or at least it should be enable by default.

@acassis acassis merged commit a09dfcd into apache:master Mar 6, 2026
40 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Size: S The size of the change in this PR is small

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants