This patch series adds the hotwording implementation used in the Pixelbook on the RT5677 driver.
Known Issues: There is a known issue where the system will fail to detect a hotword if suspended while the stream is open. This is due to the fact that the haswell-dsp suspends its I2S MCLK before the RT5677 suspends which causes the writes and reads to become corrupted as a result. Any recommendations to correct this behaviour would be appreciated.
Changes since v1: * Addressed Mark's and Kuninori's comments * Adjusted DAI Links * Squashed related patches * Removed all kcontrol writes * Addressed race condition with dapm * Added firmware boot check * Moved all clocking to driver API * Moved DAPM routes that spanned drivers to machine driver
Cc: Dylan Reid dgreid@chromium.org Cc: Ben Zhang benzh@chromium.org
Ben Zhang (8): ASoC: rt5677: Add a PCM device for streaming hotword via SPI ASoC: rt5677: Load firmware via SPI using delayed work ASoC: bdw-rt5677: Add a DAI link for rt5677 SPI PCM device ASoC: rt5677: Enable jack detect while DSP is running ASoC: rt5677: Add DAPM audio path for hotword stream ASoC: rt5677: Mark reg RT5677_PWR_ANLG2 as volatile ASoC: rt5677: Stop and restart DSP over suspend/resume ASoC: rt5677: Disable irq at suspend
Curtis Malainey (4): ASoC: rt5677: Allow VAD to be shut on/off at all times ASoC: bdw-rt5677: Turn on MCLK1 for DSP via DAPM ASoC: rt5677: Set ADC clock to use PLL and enable ASRC ASoC: rt5677: Wait for DSP to boot before loading firmware
sound/soc/codecs/rt5677-spi.c | 397 ++++++++++++++++++++++++ sound/soc/codecs/rt5677-spi.h | 1 + sound/soc/codecs/rt5677.c | 447 +++++++++++++++++++++++----- sound/soc/codecs/rt5677.h | 11 +- sound/soc/intel/boards/bdw-rt5677.c | 51 ++++ 5 files changed, 834 insertions(+), 73 deletions(-)