[alsa-devel] [PATCH v3 04/10] platform/chrome: cros_ec: add common commands for EC codec
Benson Leung
bleung at google.com
Thu Oct 17 04:57:29 CEST 2019
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 at google.com>
Acked-By: Benson Leung <bleung at 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
>
--
Benson Leung
Staff Software Engineer
Chrome OS Kernel
Google Inc.
bleung at google.com
Chromium OS Project
bleung at chromium.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20191016/02ab10bf/attachment.sig>
More information about the Alsa-devel
mailing list