[alsa-devel] [PATCH 4/5] DaVinci: DM365: Voice codec support for the DM365 SoC

Mark Brown broonie at opensource.wolfsonmicro.com
Mon Jan 25 12:17:56 CET 2010


On Thu, Jan 21, 2010 at 11:41:51AM -0600, miguel.aguilar at ridgerun.com wrote:
> From: Miguel Aguilar <miguel.aguilar at ridgerun.com>
> 
> This patch adds the generic Voice Codec support for the DM365 based
> platforms.
> 
> Signed-off-by: Miguel Aguilar <miguel.aguilar at ridgerun.com>

Acked-by: Mark Brown <broonie at opensource.wolfsonmicro.com>

It doesn't look like there should be any cross tree issues so probably
easiest to merge this via the DaVinci tree.

> ---
>  arch/arm/mach-davinci/dm365.c              |   37 +++++++++++++++++++++++++++-
>  arch/arm/mach-davinci/include/mach/dm365.h |    5 ++++
>  arch/arm/mach-davinci/include/mach/mux.h   |    2 +
>  3 files changed, 43 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/mach-davinci/dm365.c b/arch/arm/mach-davinci/dm365.c
> index c63afc0..b5345d5 100644
> --- a/arch/arm/mach-davinci/dm365.c
> +++ b/arch/arm/mach-davinci/dm365.c
> @@ -455,7 +455,7 @@ static struct clk_lookup dm365_clks[] = {
>  	CLK(NULL, "timer3", &timer3_clk),
>  	CLK(NULL, "usb", &usb_clk),
>  	CLK("davinci_emac.1", NULL, &emac_clk),
> -	CLK("voice_codec", NULL, &voicecodec_clk),
> +	CLK("davinci_voicecodec", NULL, &voicecodec_clk),
>  	CLK("davinci-asp.0", NULL, &asp0_clk),
>  	CLK(NULL, "rto", &rto_clk),
>  	CLK(NULL, "mjcp", &mjcp_clk),
> @@ -606,6 +606,8 @@ INT_CFG(DM365,  INT_NSF_DISABLE,     25,    1,    0,     false)
>  
>  EVT_CFG(DM365,	EVT2_ASP_TX,         0,     1,    0,     false)
>  EVT_CFG(DM365,	EVT3_ASP_RX,         1,     1,    0,     false)
> +EVT_CFG(DM365,	EVT2_VC_TX,          0,     1,    1,     false)
> +EVT_CFG(DM365,	EVT3_VC_RX,          1,     1,    1,     false)
>  #endif
>  };
>  
> @@ -835,6 +837,31 @@ static struct platform_device dm365_asp_device = {
>  	.resource	= dm365_asp_resources,
>  };
>  
> +static struct resource dm365_vc_resources[] = {
> +	{
> +		.start	= DAVINCI_DM365_VC_BASE,
> +		.end	= DAVINCI_DM365_VC_BASE + SZ_1K - 1,
> +		.flags	= IORESOURCE_MEM,
> +	},
> +	{
> +		.start	= DAVINCI_DMA_VC_TX,
> +		.end	= DAVINCI_DMA_VC_TX,
> +		.flags	= IORESOURCE_DMA,
> +	},
> +	{
> +		.start	= DAVINCI_DMA_VC_RX,
> +		.end	= DAVINCI_DMA_VC_RX,
> +		.flags	= IORESOURCE_DMA,
> +	},
> +};
> +
> +static struct platform_device dm365_vc_device = {
> +	.name		= "davinci_voicecodec",
> +	.id		= -1,
> +	.num_resources	= ARRAY_SIZE(dm365_vc_resources),
> +	.resource	= dm365_vc_resources,
> +};
> +
>  static struct resource dm365_rtc_resources[] = {
>  	{
>  		.start = DM365_RTC_BASE,
> @@ -991,6 +1018,14 @@ void __init dm365_init_asp(struct snd_platform_data *pdata)
>  	platform_device_register(&dm365_asp_device);
>  }
>  
> +void __init dm365_init_vc(struct snd_platform_data *pdata)
> +{
> +	davinci_cfg_reg(DM365_EVT2_VC_TX);
> +	davinci_cfg_reg(DM365_EVT3_VC_RX);
> +	dm365_vc_device.dev.platform_data = pdata;
> +	platform_device_register(&dm365_vc_device);
> +}
> +
>  void __init dm365_init_ks(struct davinci_ks_platform_data *pdata)
>  {
>  	dm365_ks_device.dev.platform_data = pdata;
> diff --git a/arch/arm/mach-davinci/include/mach/dm365.h b/arch/arm/mach-davinci/include/mach/dm365.h
> index 3c07a88..57e51eb 100644
> --- a/arch/arm/mach-davinci/include/mach/dm365.h
> +++ b/arch/arm/mach-davinci/include/mach/dm365.h
> @@ -31,8 +31,13 @@
>  
>  #define DM365_RTC_BASE			(0x01C69000)
>  
> +#define DAVINCI_DM365_VC_BASE		(0x01D0C000)
> +#define DAVINCI_DMA_VC_TX		2
> +#define DAVINCI_DMA_VC_RX		3
> +
>  void __init dm365_init(void);
>  void __init dm365_init_asp(struct snd_platform_data *pdata);
> +void __init dm365_init_vc(struct snd_platform_data *pdata);
>  void __init dm365_init_ks(struct davinci_ks_platform_data *pdata);
>  void __init dm365_init_rtc(void);
>  
> diff --git a/arch/arm/mach-davinci/include/mach/mux.h b/arch/arm/mach-davinci/include/mach/mux.h
> index 137bfba..2a68c1d 100644
> --- a/arch/arm/mach-davinci/include/mach/mux.h
> +++ b/arch/arm/mach-davinci/include/mach/mux.h
> @@ -327,6 +327,8 @@ enum davinci_dm365_index {
>  	/* EDMA event muxing */
>  	DM365_EVT2_ASP_TX,
>  	DM365_EVT3_ASP_RX,
> +	DM365_EVT2_VC_TX,
> +	DM365_EVT3_VC_RX,
>  	DM365_EVT26_MMC0_RX,
>  };
>  
> -- 
> 1.6.0.4
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 

-- 
"You grabbed my hand and we fell into it, like a daydream - or a fever."


More information about the Alsa-devel mailing list