[alsa-devel] [RFC 4/4] ASoC: Intel: add support for mrfld DPCM platform

Liam Girdwood liam.r.girdwood at intel.com
Tue May 6 17:53:18 CEST 2014


On Mon, 2014-05-05 at 23:31 +0530, Vinod Koul wrote:
> This patch adds DPCM based supprt for managing mrfld platform
> 
> Signed-off-by: Vinod Koul <vinod.koul at intel.com>
> ---
>  sound/soc/intel/Kconfig                          |    3 +
>  sound/soc/intel/platform-libs/controls_v2.h      |  754 +++++++++++++
>  sound/soc/intel/platform-libs/controls_v2_dpcm.c | 1315 ++++++++++++++++++++++
>  sound/soc/intel/platform-libs/sst_widgets.h      |  378 +++++++
>  sound/soc/intel/platform_ipc_v2.h                |  694 ++++++++++++
>  sound/soc/intel/sst-mfld-platform-compress.c     |    8 +-
>  sound/soc/intel/sst-mfld-platform-pcm.c          |  384 ++++++-
>  sound/soc/intel/sst-mfld-platform.h              |    2 +
>  8 files changed, 3480 insertions(+), 58 deletions(-)
>  create mode 100644 sound/soc/intel/platform-libs/controls_v2.h
>  create mode 100644 sound/soc/intel/platform-libs/controls_v2_dpcm.c
>  create mode 100644 sound/soc/intel/platform-libs/sst_widgets.h
>  create mode 100644 sound/soc/intel/platform_ipc_v2.h
> 
> diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> index 422c32d..1254eb8 100644
> --- a/sound/soc/intel/Kconfig
> +++ b/sound/soc/intel/Kconfig
> @@ -66,3 +66,6 @@ config SND_SOC_INTEL_MRFLD_WM8958_MACH
>            used as alsa device in audio substem in Intel(R) MID devices
>            Say Y if you have such a device
>            If unsure select "N".
> +
> +config SND_INTEL_SST
> +       tristate
> diff --git a/sound/soc/intel/platform-libs/controls_v2.h b/sound/soc/intel/platform-libs/controls_v2.h
> new file mode 100644
> index 0000000..7988d81
> --- /dev/null
> +++ b/sound/soc/intel/platform-libs/controls_v2.h
> @@ -0,0 +1,754 @@
> +/*
> + *  controls_v2.h - Intel MID Platform driver header file
> + *
> + *  Copyright (C) 2013-14 Intel Corp
> + *  Author: Ramesh Babu <ramesh.babu.koul at intel.com>
> + *  	Omair M Abdullah <omair.m.abdullah at intel.com>
> + *  	Samreen Nilofer <samreen.nilofer at intel.com>
> + *  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> + *
> + *  This program is free software; you can redistribute it and/or modify
> + *  it under the terms of the GNU General Public License as published by
> + *  the Free Software Foundation; version 2 of the License.
> + *
> + *  This program is distributed in the hope that it will be useful, but
> + *  WITHOUT ANY WARRANTY; without even the implied warranty of
> + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + *  General Public License for more details.
> + *
> + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> + *
> + */
> +
> +#ifndef __SST_CONTROLS_V2_H__
> +#define __SST_CONTROLS_V2_H__
> +
> +enum {
> +	MERR_DPCM_AUDIO = 0,
> +	MERR_DPCM_COMPR,

SST_ prefix


> +enum sst_cmd {
> +	SBA_IDLE		= 14,
> +	SBA_VB_SET_SPEECH_PATH	= 26,
> +	MMX_SET_GAIN		= 33,
> +	SBA_VB_SET_GAIN		= 33,
> +	FBA_VB_RX_CNI		= 35,
> +	MMX_SET_GAIN_TIMECONST	= 36,
> +	SBA_VB_SET_TIMECONST	= 36,
> +	FBA_VB_ANA		= 37,
> +	FBA_VB_SET_FIR		= 38,
> +	FBA_VB_SET_IIR		= 39,
> +	SBA_VB_START_TONE	= 41,
> +	SBA_VB_STOP_TONE	= 42,
> +	FBA_VB_AEC		= 47,
> +	FBA_VB_NR_UL		= 48,
> +	FBA_VB_AGC		= 49,
> +	FBA_VB_WNR		= 52,
> +	FBA_VB_SLV		= 53,
> +	FBA_VB_NR_DL		= 55,
> +	SBA_PROBE		= 66,
> +	MMX_PROBE		= 66,
> +	FBA_VB_SET_BIQUAD_D_C	= 69,
> +	FBA_VB_DUAL_BAND_COMP	= 70,
> +	FBA_VB_SNS		= 72,
> +	FBA_VB_SER		= 78,
> +	FBA_VB_TX_CNI		= 80,
> +	SBA_VB_START		= 85,
> +	FBA_VB_SET_REF_LINE	= 94,
> +	FBA_VB_SET_DELAY_LINE	= 95,
> +	FBA_VB_BWX		= 104,
> +	FBA_VB_GMM		= 105,
> +	FBA_VB_GLC		= 107,
> +	FBA_VB_BMF		= 111,
> +	FBA_VB_DNR		= 113,
> +	MMX_SET_SWM		= 114,
> +	SBA_SET_SWM		= 114,
> +	SBA_SET_MDRP            = 116,
> +	SBA_HW_SET_SSP		= 117,
> +	SBA_SET_MEDIA_LOOP_MAP	= 118,
> +	SBA_SET_MEDIA_PATH	= 119,
> +	MMX_SET_MEDIA_PATH	= 119,
> +	FBA_VB_TNR_UL		= 119,
> +	FBA_VB_TNR_DL		= 121,
> +	FBA_VB_NLF		= 125,
> +	SBA_VB_LPRO		= 126,
> +	FBA_VB_MDRP		= 127,
> +	SBA_VB_SET_FIR          = 128,
> +	SBA_VB_SET_IIR          = 129,
> +	SBA_SET_SSP_SLOT_MAP	= 130,
> +	AWARE_ENV_CLASS_PARAMS	= 130,
> +	VAD_ENV_CLASS_PARAMS	= 2049,
> +};

ditto


> +
> +#define MAX_DBG_RW_BYTES 80
> +#define MAX_NUM_SCATTER_BUFFERS 8
> +#define MAX_LOOP_BACK_DWORDS 8
> +/* IPC base address and mailbox, timestamp offsets */
> +#define SST_MAILBOX_SIZE 0x0400
> +#define SST_MAILBOX_SEND 0x0000
> +#define SST_TIME_STAMP 0x1800
> +#define SST_TIME_STAMP_MRFLD 0x680
> +#define SST_TIME_STAMP_BYT 0x800
> +#define SST_RESERVED_OFFSET 0x1A00
> +#define SST_SCU_LPE_MAILBOX 0x1000
> +#define SST_LPE_SCU_MAILBOX 0x1400
> +#define SST_SCU_LPE_LOG_BUF (SST_SCU_LPE_MAILBOX+16)
> +#define PROCESS_MSG 0x80
> +

ditto (for some of the above)

This could probably benefit from being split into smaller patches too.

Thanks !

Liam

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


More information about the Alsa-devel mailing list