SoundWire Linux Subsystem: An introduction to protocol and Linux Subsystem (Intel)
Abstract: SoundWire is a robust, scalable, low complexity, low power, low latency, two-pin (clock and data) multi-drop bus that allows for the transfer of multiple audio streams and embedded control/commands. SoundWire provides synchronization capabilities and supports both PCM and PDM, multichannel data, isochronous and asynchronous modes. It was ratified by MIPI in 2015. The Linux Subsystem for SoundWire is being upstreamed by presenters to Linux Kernel and we explore this new Subsystem. The SoundWire bus is explained in detail along with the core bus structures, Master(s) and Slave(s) interface (APIs, Structures) with bus and changes required by existing device drivers to add SoundWire support. We also explore the support for various architectures and underlying enumeration methods. This presentation would help people to get upto speed with this new Subsystem & protocol.
Sanyog Kale is a Software Development Engineer who works with Intel and has 7 years of industry experience. He has expertise in audio domain and has worked on Audio Firmware, Audio DSP engines, Linux Audio drivers to deliver best audio solutions for all the Intel platform(s) based on Android and chrome OSes. He is currently working on developing & upstreaming SoundWire (MIPI Standard) Linux subsystem which includes Bus framework, Master Driver and Slave driver.
Vinod Koul works in Linux Audio group for Intel. He is involved in Audio driver development and upstreaming for Intel platforms. He also wrote and maintains the ALSA compressed audio framework. Vinod is the maintainer of Linux DMA engine subsystem.