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.
Ben Zhang (12): ASoC: rt5677: keep analog power register at SND_SOC_BIAS_OFF ASoC: rt5677: Add a PCM device for streaming hotword via SPI ASoC: rt5677: Load firmware via SPI ASoC: rt5677: Auto enable/disable DSP for hotwording ASoC: bdw-rt5677: Add a DAI link for rt5677 SPI PCM device ASoC: rt5677: Enable jack detect while DSP is running ASoC: rt5677: Use delayed work for DSP firmware load 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: Transfer one period at a time over SPI ASoC: rt5677: Disable irq at suspend
Curtis Malainey (3): ASoC: rt5677: Remove magic number register writes ASoC: rt5677: Allow VAD to be shut on/off at all times ASoC: rt5677: Turn on MCLK1 for DSP via DAPM
sound/soc/codecs/rt5677-spi.c | 401 ++++++++++++++++++++++ sound/soc/codecs/rt5677-spi.h | 1 + sound/soc/codecs/rt5677.c | 496 +++++++++++++++++++++++----- sound/soc/codecs/rt5677.h | 9 +- sound/soc/intel/boards/bdw-rt5677.c | 18 + 5 files changed, 843 insertions(+), 82 deletions(-)