[patch 1/6] orion/kirkwood: add audio functions.
Nicolas Pitre
nico at fluxnic.net
Sun May 30 16:16:14 EDT 2010
On Thu, 27 May 2010, apatard at mandriva.com wrote:
> This patch add audio related definitions and functions
>
>
> Signed-off-by: Arnaud Patard <apatard at mandriva.com>
Acked-by: Nicolas Pitre <nico at fluxnic.net>
>
> Index: sound-2.6/arch/arm/mach-kirkwood/common.c
> ===================================================================
> --- sound-2.6.orig/arch/arm/mach-kirkwood/common.c 2010-05-27 14:09:33.244174174 +0200
> +++ sound-2.6/arch/arm/mach-kirkwood/common.c 2010-05-27 14:09:35.840194356 +0200
> @@ -25,6 +25,7 @@
> #include <asm/mach/time.h>
> #include <mach/kirkwood.h>
> #include <mach/bridge-regs.h>
> +#include <plat/audio.h>
> #include <plat/cache-feroceon-l2.h>
> #include <plat/ehci-orion.h>
> #include <plat/mvsdio.h>
> @@ -855,6 +856,42 @@ struct sys_timer kirkwood_timer = {
> .init = kirkwood_timer_init,
> };
>
> +/*****************************************************************************
> + * Audio
> + ****************************************************************************/
> +static struct resource kirkwood_i2s_resources[] = {
> + [0] = {
> + .start = AUDIO_PHYS_BASE,
> + .end = AUDIO_PHYS_BASE + SZ_16K - 1,
> + .flags = IORESOURCE_MEM,
> + },
> + [1] = {
> + .start = IRQ_KIRKWOOD_I2S,
> + .end = IRQ_KIRKWOOD_I2S,
> + .flags = IORESOURCE_IRQ,
> + },
> +};
> +
> +static struct kirkwood_asoc_platform_data kirkwood_i2s_data = {
> + .dram = &kirkwood_mbus_dram_info,
> + .burst = 128,
> +};
> +
> +static struct platform_device kirkwood_i2s_device = {
> + .name = "kirkwood-i2s",
> + .id = -1,
> + .num_resources = ARRAY_SIZE(kirkwood_i2s_resources),
> + .resource = kirkwood_i2s_resources,
> + .dev = {
> + .platform_data = &kirkwood_i2s_data,
> + },
> +};
> +
> +void __init kirkwood_audio_init(void)
> +{
> + kirkwood_clk_ctrl |= CGC_AUDIO;
> + platform_device_register(&kirkwood_i2s_device);
> +}
>
> /*****************************************************************************
> * General
> @@ -914,6 +951,7 @@ void __init kirkwood_init(void)
> kirkwood_spi_plat_data.tclk = kirkwood_tclk;
> kirkwood_uart0_data[0].uartclk = kirkwood_tclk;
> kirkwood_uart1_data[0].uartclk = kirkwood_tclk;
> + kirkwood_i2s_data.tclk = kirkwood_tclk;
>
> /*
> * Disable propagation of mbus errors to the CPU local bus,
> Index: sound-2.6/arch/arm/mach-kirkwood/common.h
> ===================================================================
> --- sound-2.6.orig/arch/arm/mach-kirkwood/common.h 2010-05-27 14:09:33.204173835 +0200
> +++ sound-2.6/arch/arm/mach-kirkwood/common.h 2010-05-27 14:09:35.883694381 +0200
> @@ -16,6 +16,7 @@ struct mv643xx_eth_platform_data;
> struct mv_sata_platform_data;
> struct mvsdio_platform_data;
> struct mtd_partition;
> +struct kirkwood_asoc_platform_data;
>
> /*
> * Basic Kirkwood init functions used early by machine-setup.
> @@ -41,6 +42,7 @@ void kirkwood_i2c_init(void);
> void kirkwood_uart0_init(void);
> void kirkwood_uart1_init(void);
> void kirkwood_nand_init(struct mtd_partition *parts, int nr_parts, int delay);
> +void kirkwood_audio_init(void);
>
> extern int kirkwood_tclk;
> extern struct sys_timer kirkwood_timer;
> Index: sound-2.6/arch/arm/mach-kirkwood/include/mach/kirkwood.h
> ===================================================================
> --- sound-2.6.orig/arch/arm/mach-kirkwood/include/mach/kirkwood.h 2010-05-27 14:09:33.188174747 +0200
> +++ sound-2.6/arch/arm/mach-kirkwood/include/mach/kirkwood.h 2010-05-27 14:09:35.895694344 +0200
> @@ -96,6 +96,9 @@
>
> #define SDIO_PHYS_BASE (KIRKWOOD_REGS_PHYS_BASE | 0x90000)
>
> +#define AUDIO_PHYS_BASE (KIRKWOOD_REGS_PHYS_BASE | 0xA0000)
> +#define AUDIO_VIRT_BASE (KIRKWOOD_REGS_VIRT_BASE | 0xA0000)
> +
> /*
> * Supported devices and revisions.
> */
> Index: sound-2.6/arch/arm/plat-orion/include/plat/audio.h
> ===================================================================
> --- /dev/null 1970-01-01 00:00:00.000000000 +0000
> +++ sound-2.6/arch/arm/plat-orion/include/plat/audio.h 2010-05-27 14:09:35.895694344 +0200
> @@ -0,0 +1,11 @@
> +#ifndef __PLAT_AUDIO_H
> +#define __PLAT_AUDIO_H
> +
> +#include <linux/mbus.h>
> +
> +struct kirkwood_asoc_platform_data {
> + u32 tclk;
> + struct mbus_dram_target_info *dram;
> + int burst;
> +};
> +#endif
>
More information about the linux-arm-kernel
mailing list