summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTzung-Bi Shih <tzungbi@chromium.org>2019-04-13 20:15:52 +0800
committerCommit Bot <commit-bot@chromium.org>2019-09-03 09:19:42 +0000
commit083788ac19505f07bfe57a4d8b54a3b11b7554b3 (patch)
tree0b6c742b2bb801bda6c238d08fef01fdc15f5b7f
parent057a709bb8ce496e8ef03c1ca0378686830a9108 (diff)
downloadchrome-ec-083788ac19505f07bfe57a4d8b54a3b11b7554b3.tar.gz
audio_codec: extract DMIC from I2S RX
DMIC feature is independent. Extract DMIC from I2S RX. BRANCH=none BUG=b:122027734, b:123268236 TEST=make BOARD=kukui_scp -j Change-Id: Icfd3c6241c7fb72ef8731cb4ca97bc77279f65bb Signed-off-by: Tzung-Bi Shih <tzungbi@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1564501 Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
-rw-r--r--include/ec_commands.h49
1 files changed, 36 insertions, 13 deletions
diff --git a/include/ec_commands.h b/include/ec_commands.h
index 0630be9f9e..954d956e65 100644
--- a/include/ec_commands.h
+++ b/include/ec_commands.h
@@ -4659,18 +4659,48 @@ enum mkbp_cec_event {
/*****************************************************************************/
+/* Commands for DMIC on audio codec. */
+#define EC_CMD_EC_CODEC_DMIC 0x00BC
+
+enum ec_codec_dmic_subcmd {
+ EC_CODEC_DMIC_SET_GAIN = 0x0,
+ EC_CODEC_DMIC_GET_GAIN = 0x1,
+ EC_CODEC_DMIC_SUBCMD_COUNT,
+};
+
+struct __ec_align1 ec_param_ec_codec_dmic_set_gain {
+ uint8_t left;
+ uint8_t right;
+ uint8_t reserved[2];
+};
+
+struct __ec_align4 ec_param_ec_codec_dmic {
+ uint8_t cmd; /* enum ec_codec_dmic_subcmd */
+ uint8_t reserved[3];
+
+ union {
+ struct ec_param_ec_codec_dmic_set_gain
+ set_gain_param;
+ };
+};
+
+struct __ec_align1 ec_response_ec_codec_dmic_get_gain {
+ uint8_t left;
+ uint8_t right;
+};
+
+/*****************************************************************************/
+
/* Commands for I2S RX on audio codec. */
-#define EC_CMD_EC_CODEC_I2S_RX 0x00BC
+#define EC_CMD_EC_CODEC_I2S_RX 0x00BD
enum ec_codec_i2s_rx_subcmd {
EC_CODEC_I2S_RX_ENABLE = 0x0,
EC_CODEC_I2S_RX_DISABLE = 0x1,
- EC_CODEC_I2S_RX_SET_GAIN = 0x2,
- EC_CODEC_I2S_RX_GET_GAIN = 0x3,
- EC_CODEC_I2S_RX_SET_SAMPLE_DEPTH = 0x4,
- EC_CODEC_I2S_RX_SET_DAIFMT = 0x5,
- EC_CODEC_I2S_RX_SET_BCLK = 0x6,
+ EC_CODEC_I2S_RX_SET_SAMPLE_DEPTH = 0x2,
+ EC_CODEC_I2S_RX_SET_DAIFMT = 0x3,
+ EC_CODEC_I2S_RX_SET_BCLK = 0x4,
EC_CODEC_I2S_RX_SUBCMD_COUNT,
};
@@ -4714,8 +4744,6 @@ struct __ec_align4 ec_param_ec_codec_i2s_rx {
union {
struct ec_param_ec_codec_i2s_rx_set_sample_depth
set_sample_depth_param;
- struct ec_param_ec_codec_i2s_rx_set_gain
- set_gain_param;
struct ec_param_ec_codec_i2s_rx_set_daifmt
set_daifmt_param;
struct ec_param_ec_codec_i2s_rx_set_bclk
@@ -4723,11 +4751,6 @@ struct __ec_align4 ec_param_ec_codec_i2s_rx {
};
};
-struct __ec_align1 ec_response_ec_codec_i2s_rx_get_gain {
- uint8_t left;
- uint8_t right;
-};
-
/*****************************************************************************/
/* System commands */