summaryrefslogtreecommitdiff
path: root/arch/arm/mach-w90x900/dev.c
diff options
context:
space:
mode:
authorwanzongshun <mcuos.com@gmail.com>2010-05-22 15:23:23 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-05-24 22:25:34 +0100
commit3d34a0d80ab51b6838c08c22e7f47aec408eb837 (patch)
treefc4e2f3e6546b2ef16dc6e7faa00c036051cd6e8 /arch/arm/mach-w90x900/dev.c
parent27ada410c7a56e72fd8c5d304704fbf5cb685659 (diff)
ARM: 6141/1: Add audio support part in arch/arm/mach-w90x900
Add audio support part in arch/arm/mach-w90x900 Signed-off-by: Wan ZongShun<mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-w90x900/dev.c')
-rw-r--r--arch/arm/mach-w90x900/dev.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/arm/mach-w90x900/dev.c b/arch/arm/mach-w90x900/dev.c
index e2958eb567f9..b2eda4dc1c34 100644
--- a/arch/arm/mach-w90x900/dev.c
+++ b/arch/arm/mach-w90x900/dev.c
@@ -423,6 +423,33 @@ void nuc900_fb_set_platdata(struct nuc900fb_mach_info *pd)
}
#endif
+/* AUDIO controller*/
+static u64 nuc900_device_audio_dmamask = -1;
+static struct resource nuc900_ac97_resource[] = {
+ [0] = {
+ .start = W90X900_PA_ACTL,
+ .end = W90X900_PA_ACTL + W90X900_SZ_ACTL - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = IRQ_ACTL,
+ .end = IRQ_ACTL,
+ .flags = IORESOURCE_IRQ,
+ }
+
+};
+
+struct platform_device nuc900_device_audio = {
+ .name = "nuc900-audio",
+ .id = -1,
+ .num_resources = ARRAY_SIZE(nuc900_ac97_resource),
+ .resource = nuc900_ac97_resource,
+ .dev = {
+ .dma_mask = &nuc900_device_audio_dmamask,
+ .coherent_dma_mask = -1,
+ }
+};
+
/*Here should be your evb resourse,such as LCD*/
static struct platform_device *nuc900_public_dev[] __initdata = {
@@ -434,6 +461,7 @@ static struct platform_device *nuc900_public_dev[] __initdata = {
&nuc900_device_emc,
&nuc900_device_spi,
&nuc900_device_wdt,
+ &nuc900_device_audio,
};
/* Provide adding specific CPU platform devices API */