aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/pcm990-baseboard.c
diff options
context:
space:
mode:
authorMark Brown <broonie@sirena.org.uk>2008-06-10 07:30:05 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-07-09 16:31:51 -0400
commit9f19d6382854d6b2d58cc364253779479e14facc (patch)
tree1a91dc4f969fe7514de35d96c23f6e31b967c37b /arch/arm/mach-pxa/pcm990-baseboard.c
parent7a8576204333d133d58cbcc59dacf49a5546e3e4 (diff)
[ARM] 5085/2: PXA: Move AC97 over to the new central device declaration model
As well as moving all the device declarations to a single one in devices.c this causes all platforms to register the I/O and interrupt resources for the AC97 controller. Cc: eric miao <eric.miao@marvell.com> Cc: Mike Rapoport <mike@compulab.co.il> Cc: Lennert Buytenhek <buytenh@wantstofly.org> Cc: Jürgen Schindele <linux@schindele.name> Cc: Juergen Beisert <jbe@pengutronix.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-pxa/pcm990-baseboard.c')
-rw-r--r--arch/arm/mach-pxa/pcm990-baseboard.c34
1 files changed, 2 insertions, 32 deletions
diff --git a/arch/arm/mach-pxa/pcm990-baseboard.c b/arch/arm/mach-pxa/pcm990-baseboard.c
index 2564e16e4e2f..5d87c7c866e4 100644
--- a/arch/arm/mach-pxa/pcm990-baseboard.c
+++ b/arch/arm/mach-pxa/pcm990-baseboard.c
@@ -34,6 +34,7 @@
34#include <asm/mach/map.h> 34#include <asm/mach/map.h>
35#include <asm/arch/pxa-regs.h> 35#include <asm/arch/pxa-regs.h>
36#include <asm/arch/pxa2xx-gpio.h> 36#include <asm/arch/pxa2xx-gpio.h>
37#include <asm/arch/audio.h>
37#include <asm/arch/mmc.h> 38#include <asm/arch/mmc.h>
38#include <asm/arch/ohci.h> 39#include <asm/arch/ohci.h>
39#include <asm/arch/pcm990_baseboard.h> 40#include <asm/arch/pcm990_baseboard.h>
@@ -424,36 +425,6 @@ static struct i2c_board_info __initdata pcm990_i2c_devices[] = {
424#endif /* CONFIG_VIDEO_PXA27x ||CONFIG_VIDEO_PXA27x_MODULE */ 425#endif /* CONFIG_VIDEO_PXA27x ||CONFIG_VIDEO_PXA27x_MODULE */
425 426
426/* 427/*
427 * AC97 support
428 * Note: The connected AC97 mixer also reports interrupts at PCM990_AC97_IRQ
429 */
430static struct resource pxa27x_ac97_resources[] = {
431 [0] = {
432 .start = 0x40500000,
433 .end = 0x40500000 + 0xfff,
434 .flags = IORESOURCE_MEM,
435 },
436 [1] = {
437 .start = IRQ_AC97,
438 .end = IRQ_AC97,
439 .flags = IORESOURCE_IRQ,
440 },
441};
442
443static u64 pxa_ac97_dmamask = 0xffffffffUL;
444
445static struct platform_device pxa27x_device_ac97 = {
446 .name = "pxa2xx-ac97",
447 .id = -1,
448 .dev = {
449 .dma_mask = &pxa_ac97_dmamask,
450 .coherent_dma_mask = 0xffffffff,
451 },
452 .num_resources = ARRAY_SIZE(pxa27x_ac97_resources),
453 .resource = pxa27x_ac97_resources,
454};
455
456/*
457 * enable generic access to the base board control CPLDs U6 and U7 428 * enable generic access to the base board control CPLDs U6 and U7
458 */ 429 */
459static struct map_desc pcm990_io_desc[] __initdata = { 430static struct map_desc pcm990_io_desc[] __initdata = {
@@ -490,8 +461,6 @@ void __init pcm990_baseboard_init(void)
490 pxa_gpio_mode(GPIO16_PWM0_MD); 461 pxa_gpio_mode(GPIO16_PWM0_MD);
491 platform_device_register(&pcm990_backlight_device); 462 platform_device_register(&pcm990_backlight_device);
492 463
493 platform_device_register(&pxa27x_device_ac97);
494
495 /* MMC */ 464 /* MMC */
496 pxa_set_mci_info(&pcm990_mci_platform_data); 465 pxa_set_mci_info(&pcm990_mci_platform_data);
497 466
@@ -499,6 +468,7 @@ void __init pcm990_baseboard_init(void)
499 pxa_set_ohci_info(&pcm990_ohci_platform_data); 468 pxa_set_ohci_info(&pcm990_ohci_platform_data);
500 469
501 pxa_set_i2c_info(NULL); 470 pxa_set_i2c_info(NULL);
471 pxa_set_ac97_info(NULL);
502 472
503#if defined(CONFIG_VIDEO_PXA27x) || defined(CONFIG_VIDEO_PXA27x_MODULE) 473#if defined(CONFIG_VIDEO_PXA27x) || defined(CONFIG_VIDEO_PXA27x_MODULE)
504 pxa_set_camera_info(&pcm990_pxacamera_platform_data); 474 pxa_set_camera_info(&pcm990_pxacamera_platform_data);