Hi Tzung-Bi,
On Mon, Oct 14, 2019 at 06:20:16PM +0800, Tzung-Bi Shih wrote:
Add the following common commands:
- GET_CAPABILITIES
- GET_SHM_ADDR
- SET_SHM_ADDR
Signed-off-by: Tzung-Bi Shih tzungbi@google.com
Acked-By: Benson Leung bleung@chromium.org
Thanks, Benson
drivers/platform/chrome/cros_ec_trace.c | 1 + .../linux/platform_data/cros_ec_commands.h | 64 ++++++++++++++++++- 2 files changed, 63 insertions(+), 2 deletions(-)
diff --git a/drivers/platform/chrome/cros_ec_trace.c b/drivers/platform/chrome/cros_ec_trace.c index e73bb6a8b00e..2ea0d4e0d54d 100644 --- a/drivers/platform/chrome/cros_ec_trace.c +++ b/drivers/platform/chrome/cros_ec_trace.c @@ -98,6 +98,7 @@ TRACE_SYMBOL(EC_CMD_SB_READ_BLOCK), \ TRACE_SYMBOL(EC_CMD_SB_WRITE_BLOCK), \ TRACE_SYMBOL(EC_CMD_BATTERY_VENDOR_PARAM), \
- TRACE_SYMBOL(EC_CMD_EC_CODEC), \ TRACE_SYMBOL(EC_CMD_EC_CODEC_DMIC), \ TRACE_SYMBOL(EC_CMD_EC_CODEC_I2S_RX), \ TRACE_SYMBOL(EC_CMD_REBOOT_EC), \
diff --git a/include/linux/platform_data/cros_ec_commands.h b/include/linux/platform_data/cros_ec_commands.h index 58e460c015ef..3ca0fa9e92a7 100644 --- a/include/linux/platform_data/cros_ec_commands.h +++ b/include/linux/platform_data/cros_ec_commands.h @@ -4466,8 +4466,68 @@ enum mkbp_cec_event {
/*****************************************************************************/
+/* Commands for audio codec. */ +#define EC_CMD_EC_CODEC 0x00BC
+enum ec_codec_subcmd {
- EC_CODEC_GET_CAPABILITIES = 0x0,
- EC_CODEC_GET_SHM_ADDR = 0x1,
- EC_CODEC_SET_SHM_ADDR = 0x2,
- EC_CODEC_SUBCMD_COUNT,
+};
+enum ec_codec_cap {
- EC_CODEC_CAP_LAST = 32,
+};
+enum ec_codec_shm_id {
- EC_CODEC_SHM_ID_LAST,
+};
+enum ec_codec_shm_type {
- EC_CODEC_SHM_TYPE_EC_RAM = 0x0,
- EC_CODEC_SHM_TYPE_SYSTEM_RAM = 0x1,
+};
+struct __ec_align1 ec_param_ec_codec_get_shm_addr {
- uint8_t shm_id;
- uint8_t reserved[3];
+};
+struct __ec_align4 ec_param_ec_codec_set_shm_addr {
- uint64_t phys_addr;
- uint32_t len;
- uint8_t shm_id;
- uint8_t reserved[3];
+};
+struct __ec_align4 ec_param_ec_codec {
- uint8_t cmd; /* enum ec_codec_subcmd */
- uint8_t reserved[3];
- union {
struct ec_param_ec_codec_get_shm_addr
get_shm_addr_param;
struct ec_param_ec_codec_set_shm_addr
set_shm_addr_param;
- };
+};
+struct __ec_align4 ec_response_ec_codec_get_capabilities {
- uint32_t capabilities;
+};
+struct __ec_align4 ec_response_ec_codec_get_shm_addr {
- uint64_t phys_addr;
- uint32_t len;
- uint8_t type;
- uint8_t reserved[3];
+};
+/*****************************************************************************/
/* Commands for DMIC on audio codec. */ -#define EC_CMD_EC_CODEC_DMIC 0x00BC +#define EC_CMD_EC_CODEC_DMIC 0x00BD
enum ec_codec_dmic_subcmd { EC_CODEC_DMIC_SET_GAIN = 0x0, @@ -4500,7 +4560,7 @@ struct __ec_align1 ec_response_ec_codec_dmic_get_gain {
/* Commands for I2S RX on audio codec. */
-#define EC_CMD_EC_CODEC_I2S_RX 0x00BD +#define EC_CMD_EC_CODEC_I2S_RX 0x00BE
enum ec_codec_i2s_rx_subcmd { EC_CODEC_I2S_RX_ENABLE = 0x0, -- 2.23.0.700.g56cf767bdb-goog