nuttx/arch/arm
Andrey Sobol 9bf825fd4f stm32h7/dac: add DMA stream mode with ioctl-driven double-buffering
Add DMA support for DAC output with configurable double-buffering
via ioctl interface:

- ANIOC_DAC_DMABUFF_INIT: Copy full buffer into DMA buffer (memcpy)
- ANIOC_DAC_DMA_START: Start DMA with optional half-transfer interrupts
- ANIOC_DAC_DMA_STOP: Stop DMA and timer
- ANIOC_DAC_DMA_GET_EVENT: Wait for half-transfer complete event
- ANIOC_DAC_DMA_WRITE_HBUF: Write half-buffer into DMA buffer
- ANIOC_DAC_INFO: Query DAC capabilities (resolution, DMA, buffer size)

Stream mode: when halfint=1, both HTIF and TCIF generate events
via a ring buffer and semaphore. User writes the completed half
while DMA fills the other half. TCIF indicates h=1, HTIF h=0.

DMA priority is configurable per-channel via Kconfig choice
(Low/Medium/High/VeryHigh), defaulting to Medium.

Signed-off-by: Andrey Sobol <andrey.sobol.nn@gmail.com>
2026-07-26 14:26:47 -03:00
..
include arch/arm: add Realtek RTL8721Dx and RTL8720F (Ameba WHC) support 2026-07-01 09:18:06 -03:00
src stm32h7/dac: add DMA stream mode with ioctl-driven double-buffering 2026-07-26 14:26:47 -03:00
CMakeLists.txt arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
Kconfig rp23xx: Add tickless OS support using the RP2350 hardware TIMER. 2026-07-25 12:58:40 -03:00