From 5e614b1c98b73579d7f7975299a8be215f6ffd6d Mon Sep 17 00:00:00 2001 From: CHLin Date: Thu, 1 Feb 2018 13:19:07 +0800 Subject: npcx7: WoV: Add support for Wake-on-Voice (WoV) module This CL adds the driver support for the WoV module which inludes the following files: - wov.c - wov_chip.h - apm.c - apm_chip.h It also supports the console commad "wov" which can test different configuration and audio quality by entering different parameters. The detail description of WoV console command is listed below: ------------------------------------------------------------------------ [Note]: Before changing any of settings, please make sure the operation mode is on the "OFF" state. (ie. run the command wov cfgmod off first) . > wov init Initialize WoV interface, including pin mux and interrupt registration etc. > wov mute mute enable / disable. > wov cfgsrc set audio source, ex: wov cfgsrc left, means audio source from left MIC. > wov cfgbis <16|18|20|24> set audio resolution, ex: wov cfgbit 16 means audio resolution are 16bits. > wov cfgsfs <8000|12000|16000|24000|32000|48000> set audio sampling frequency rate, ex: wov cfgsfs 48000 means audio sampling rate are 48Khz. > wov cfgbck <32fs|48fs|64fs|128fs|256fs> set I2S bit clock rate, ex: wov cfgsfs 48000 and wov cfgbck 32fs means audio sampling rate are 1536Khz (32*48000). > wov cfgfmt set I2S but format, ex: wov cfgfmt right means audio I2S format are Right-Justify. > wov cfgmod set audio operation mode ,ex: wov cfgmod i2s means audio output via I2S bus. > wov cfgtdm <0~496 0~496 0~3> set TDM time slot, the first values is left channel delay counter, the second is right channel, and the 3rd is startup counting condition. (chosen LRCK raising or falling edge) . [Note: this command is just working on cfgmod equal to tdm] > wov cfgget retrieve above settings. > wov vadsens (currently not support, reserve for next version) > wov gain (0~31) set audio data gain value, ex: wov gain 10 means setting audio digital gain are 10dB. > wov cfgdck <1.0 | 2.4 | 3.0 > set digital MIC PDM clock rate. ex: wov cfgdck 2.4 means PDM clock are 2.4Mhz. ----------------------------------------------------------------------- This CL also adds the chip ID (0x24) for npcx7m7w. So the console command "version" can show the chip is npcx7m7w. BRANCH=none BUG=none TEST=No build errors for make buildall. TEST="BOARD=npcx7_evb make"; Flash the image on EVB; Test WoV function with console commands described above. Change-Id: Ief2b3e89edbd3e6d2a9d82d317a93c9f0b7a20cd Signed-off-by: Dror Goldstein Signed-off-by: Simon Liang Signed-off-by: CHLin Reviewed-on: https://chromium-review.googlesource.com/897314 Commit-Ready: ChromeOS CL Exonerator Bot Tested-by: CH Lin Reviewed-by: Scott Collyer --- include/console_channel.inc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include/console_channel.inc') diff --git a/include/console_channel.inc b/include/console_channel.inc index 0d3f7a07f9..b8412cf335 100644 --- a/include/console_channel.inc +++ b/include/console_channel.inc @@ -89,4 +89,7 @@ CONSOLE_CHANNEL(CC_USBCHARGE, "usbcharge") CONSOLE_CHANNEL(CC_USBPD, "usbpd") #endif CONSOLE_CHANNEL(CC_VBOOT, "vboot") +#ifdef CONFIG_WAKE_ON_VOICE +CONSOLE_CHANNEL(CC_WOV, "wov") +#endif CONSOLE_CHANNEL(CC_HOOK, "hook") -- cgit v1.2.1