ASoC: Supporting Audio on an Embedded Board
summary
Shows how to get ALSA audio working on an embedded board by writing a machine (glue) driver or using the device-tree simple-audio-card binding; registers a sound_card with devm_snd_soc_register_card, fills snd_soc_dai_link entries, and implements the hw_params callback to compute clocks via snd_pcm_hw_params_to_bclk and snd_soc_dai_set_sysclk. Uses an Atmel SSC + WM89xx codec example, demonstrates device-tree routing, oscilloscope and i2cset for debugging, and explains common failures: wrong master/slave clocks, missing codec playback stream, and underruns.
AI-written summary · about
chapters (13)
- 0:00Introduction and ASoC basics
- 1:21Audio hardware architecture
- 2:31Digital interface standards
- 4:23ASoC machine driver structure
- 6:46Registering the sound card
- 13:46Device tree initialization
- 16:02Defining audio routing
- 17:08DAPM widgets and connections
- 22:32Audio clocking and mastership
- 26:56Hardware parameters and PLLs
- 32:39Simple card framework
- 35:08Troubleshooting audio issues
- 47:15Q&A and closing remarks
related talks
26mDeviceTrees - MIPI SoundWire® Device Class for Audio (SDCA) and classic ACPI-DT...
46mALSA Topology Framework
35mIntroduction to DAPM, Linux Power Management for Embedded Audio Devices
37mThe Story of PulseAudio and Compress Offload
38mMainline Linux on AmLogic SoCs
33mDo It Faster: How We Supercharged Linux To Work With Blazing Fast ADCs for IIO
47mIntroduction to SoundWire
42mImplementing Bluetooth LE Audio & Auracast on Embedded Linux Systems
