Context
Zephyr 4.4 has no ESP32 RMT (Remote Control) peripheral driver. On the StickS3, IR TX/RX currently works as a hardware-verified workaround on stock peripherals (LEDC 38 kHz carrier on G46 for TX, GPIO edge interrupt on G42 for RX; NEC only; HW-005), precisely because there is no RMT driver. RMT is the hardware-correct peripheral for IR and for WS2812 / addressable LEDs.
This is related to #2 (IR TX/RX via ESP32 RMT). #2 frames the work from the IR angle; this issue is the dedicated driver-level item (the RMT peripheral itself, usable beyond IR). Cross-linked so the two can be merged, or one closed as a duplicate, if preferred.
Goal
A proper Zephyr ESP32 RMT peripheral driver: DT binding + driver + GDMA plumbing. This lets IR TX/RX use the RMT FIFO (no edge-drop, unlike the MCPWM path that was abandoned) and enables WS2812 / SK6812 strips. The StickS3 M5PM1 even exposes a NeoPixel output (unused on this board), and WS2812 is common on other M5 hardware.
Scope and process
Large; it benefits all ESP32 boards, so it is an upstream effort, not board-specific. Best raised as an RFC with the Espressif platform maintainers before implementation. A Zephyr consumer-IR subsystem for protocol decoders (RC5/RC6/SIRC and so on) is a separate, even larger effort.
Acceptance
- RMT driver builds and drives IR (and ideally a WS2812) on hardware.
- RFC raised with maintainers; design agreed before the driver PR.
References
#2 (IR-via-RMT), docs/07_UPSTREAM_PLAN.md item 6, docs/issues/0002-enh-ir-rmt.md, HW-005.
Context
Zephyr 4.4 has no ESP32 RMT (Remote Control) peripheral driver. On the StickS3, IR TX/RX currently works as a hardware-verified workaround on stock peripherals (LEDC 38 kHz carrier on G46 for TX, GPIO edge interrupt on G42 for RX; NEC only; HW-005), precisely because there is no RMT driver. RMT is the hardware-correct peripheral for IR and for WS2812 / addressable LEDs.
This is related to #2 (IR TX/RX via ESP32 RMT). #2 frames the work from the IR angle; this issue is the dedicated driver-level item (the RMT peripheral itself, usable beyond IR). Cross-linked so the two can be merged, or one closed as a duplicate, if preferred.
Goal
A proper Zephyr ESP32 RMT peripheral driver: DT binding + driver + GDMA plumbing. This lets IR TX/RX use the RMT FIFO (no edge-drop, unlike the MCPWM path that was abandoned) and enables WS2812 / SK6812 strips. The StickS3 M5PM1 even exposes a NeoPixel output (unused on this board), and WS2812 is common on other M5 hardware.
Scope and process
Large; it benefits all ESP32 boards, so it is an upstream effort, not board-specific. Best raised as an RFC with the Espressif platform maintainers before implementation. A Zephyr consumer-IR subsystem for protocol decoders (RC5/RC6/SIRC and so on) is a separate, even larger effort.
Acceptance
References
#2 (IR-via-RMT), docs/07_UPSTREAM_PLAN.md item 6, docs/issues/0002-enh-ir-rmt.md, HW-005.