[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