On Thu, 27 May 2010, apatard@mandriva.com wrote:
This patch add audio related definitions and functions
Signed-off-by: Arnaud Patard apatard@mandriva.com
Acked-by: Nicolas Pitre nico@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