nuttx/drivers/audio
wangjianyu3 5ba0d062b1 audio: add ES7210 4-ch ADC codec driver
Add ES7210 audio ADC driver for NuttX implementing the audio
lower-half interface. Supports 4-channel recording via I2S with
configurable sample rate, bit depth, and mic gain.

- drivers/audio/es7210.c: Codec driver using LPWORK for async buffer
  management, I2C register access, and NuttX audio buffer management
- drivers/audio/es7210.h: Internal register definitions and macros
- include/nuttx/audio/es7210.h: Public header with platform config
  structure and es7210_initialize() API
- drivers/audio/Kconfig, Make.defs, CMakeLists.txt: Build system
  integration for CONFIG_AUDIO_ES7210

Key implementation details:
- ES7210_SDP_NORMAL (normal I2S) instead of TDM, matching NuttX
  I2S standard Philips mode
- ES7210_ADC_PGA_POWER_ON bit in gain registers REG43-46, required
  for analog front-end amplifier power-on
- 50ms startup delay in es7210_start for codec clock stabilization
- I2S_IOCTL(AUDIOIOC_STOP) in es7210_stop to notify I2S layer,
  preventing DMA from running without buffers after stop

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2026-04-03 13:34:36 +08:00
..
audio_dma.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
audio_fake.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
audio_i2s.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
audio_null.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
CMakeLists.txt audio: add ES7210 4-ch ADC codec driver 2026-04-03 13:34:36 +08:00
cs43l22.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
cs43l22.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
cs43l22_debug.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
cs4344.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
cs4344.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
es7210.c audio: add ES7210 4-ch ADC codec driver 2026-04-03 13:34:36 +08:00
es7210.h audio: add ES7210 4-ch ADC codec driver 2026-04-03 13:34:36 +08:00
es8311.c drivers/audio/es8311: set proper format specifier for logging 2025-02-28 10:46:20 +01:00
es8311.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
es8311_debug.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
es8388.c drivers/audio/es8388: set proper format specifier macro for logging 2025-03-01 06:37:30 -03:00
es8388.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
es8388_debug.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
esxxxx_common.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
Kconfig audio: add ES7210 4-ch ADC codec driver 2026-04-03 13:34:36 +08:00
Make.defs audio: add ES7210 4-ch ADC codec driver 2026-04-03 13:34:36 +08:00
tone.c timers/oneshot: Remove all callback and args. 2025-11-18 13:02:29 +01:00
vs1053.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
vs1053.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
wm8776.c wm8776: use small lock in drivers/audio/wm8776.c 2024-12-05 21:22:32 +08:00
wm8776.h wm8776: use small lock in drivers/audio/wm8776.c 2024-12-05 21:22:32 +08:00
wm8904.c style: Fix "is is" typo across the codebase. 2026-03-24 09:39:26 +08:00
wm8904.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
wm8904_debug.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
wm8994.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
wm8994.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
wm8994_debug.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00