Ben Zhang 461c623270
ASoC: rt5677: Load firmware via SPI using delayed work
The firmware rt5677_elf_vad is an ELF binary obtained from
request_firmware(). Sections of the ELF are loaded to
the DSP via SPI. A model (e.g. en_us.mmap) can optionally be
loaded to the DSP at RT5677_MODEL_ADDR to overwrite the
baked-in model in rt5677_elf_vad.

Then we switch to DSP mode, load firmware, and let DSP run.
When a hotword is detected, an interrupt is fired and
rt5677_irq() is called. When 'DSP VAD Switch' is turned off,
the codec is set back to normal mode.

The kcontrol 'DSP VAD Switch' is automatically enabled/disabled
when the hotwording PCM stream is opened/closed.

Signed-off-by: Ben Zhang <benzh@chromium.org>
Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
Link: https://lore.kernel.org/r/20191106011335.223061-2-cujomalainey@chromium.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-11-11 13:01:59 +00:00
..
2019-10-01 12:16:01 +01:00
2018-02-27 10:41:34 +00:00
2019-06-26 12:27:50 +01:00
2019-10-25 11:06:57 +01:00
2019-10-21 13:52:00 +01:00
2018-04-26 12:44:15 +01:00
2019-10-21 13:52:22 +01:00
2019-06-12 13:52:26 +01:00
2019-06-12 13:52:26 +01:00
2019-07-26 13:10:09 +01:00
2018-05-18 11:20:11 +01:00
2019-06-26 12:39:34 +01:00
2019-06-26 12:39:34 +01:00
2019-01-07 16:53:10 +00:00
2018-06-01 12:05:30 +01:00
2019-10-02 12:50:40 +01:00