aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap1/board-h3.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-15 19:08:50 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-15 19:08:50 -0400
commit65a6ec0d72a07f16719e9b7a96e1c4bae044b591 (patch)
tree344e03a5039a44982c1b78d6113633b21b434820 /arch/arm/mach-omap1/board-h3.c
parent541010e4b8921cd781ff02ae68028501457045b6 (diff)
parent0181b61a988424b5cc44fe09e6968142359c815e (diff)
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (95 commits) [ARM] 4578/1: CM-x270: PCMCIA support [ARM] 4577/1: ITE 8152 PCI bridge support [ARM] 4576/1: CM-X270 machine support [ARM] pxa: Avoid pxa_gpio_mode() in gpio_direction_{in,out}put() [ARM] pxa: move pxa_set_mode() from pxa2xx_mainstone.c to mainstone.c [ARM] pxa: move pxa_set_mode() from pxa2xx_lubbock.c to lubbock.c [ARM] pxa: Make cpu_is_pxaXXX dependent on configuration symbols [ARM] pxa: PXA3xx base support [NET] smc91x: fix PXA DMA support code [SERIAL] Fix console initialisation ordering [ARM] pxa: tidy up arch/arm/mach-pxa/Makefile [ARM] Update arch/arm/Kconfig for drivers/Kconfig changes [ARM] 4600/1: fix kernel build failure with build-id-supporting binutils [ARM] 4599/1: Preserve ATAG list for use with kexec (2.6.23) [ARM] Rename consistent_sync() as dma_cache_maint() [ARM] 4572/1: ep93xx: add cirrus logic edb9307 support [ARM] 4596/1: S3C2412: Correct IRQs for SDI+CF and add decoding support [ARM] 4595/1: ns9xxx: define registers as void __iomem * instead of volatile u32 [ARM] 4594/1: ns9xxx: use the new gpio functions [ARM] 4593/1: ns9xxx: implement generic clockevents ...
Diffstat (limited to 'arch/arm/mach-omap1/board-h3.c')
-rw-r--r--arch/arm/mach-omap1/board-h3.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c
index add2f703204f..4f84ae273a1f 100644
--- a/arch/arm/mach-omap1/board-h3.c
+++ b/arch/arm/mach-omap1/board-h3.c
@@ -47,6 +47,8 @@
47#include <asm/arch/keypad.h> 47#include <asm/arch/keypad.h>
48#include <asm/arch/dma.h> 48#include <asm/arch/dma.h>
49#include <asm/arch/common.h> 49#include <asm/arch/common.h>
50#include <asm/arch/mcbsp.h>
51#include <asm/arch/omap-alsa.h>
50 52
51extern int omap_gpio_init(void); 53extern int omap_gpio_init(void);
52 54
@@ -354,11 +356,14 @@ static struct resource h3_irda_resources[] = {
354 }, 356 },
355}; 357};
356 358
359static u64 irda_dmamask = 0xffffffff;
360
357static struct platform_device h3_irda_device = { 361static struct platform_device h3_irda_device = {
358 .name = "omapirda", 362 .name = "omapirda",
359 .id = 0, 363 .id = 0,
360 .dev = { 364 .dev = {
361 .platform_data = &h3_irda_data, 365 .platform_data = &h3_irda_data,
366 .dma_mask = &irda_dmamask,
362 }, 367 },
363 .num_resources = ARRAY_SIZE(h3_irda_resources), 368 .num_resources = ARRAY_SIZE(h3_irda_resources),
364 .resource = h3_irda_resources, 369 .resource = h3_irda_resources,
@@ -369,6 +374,41 @@ static struct platform_device h3_lcd_device = {
369 .id = -1, 374 .id = -1,
370}; 375};
371 376
377static struct omap_mcbsp_reg_cfg mcbsp_regs = {
378 .spcr2 = FREE | FRST | GRST | XRST | XINTM(3),
379 .spcr1 = RINTM(3) | RRST,
380 .rcr2 = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
381 RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(1),
382 .rcr1 = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
383 .xcr2 = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
384 XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(1) | XFIG,
385 .xcr1 = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
386 .srgr1 = FWID(15),
387 .srgr2 = GSYNC | CLKSP | FSGM | FPER(31),
388
389 .pcr0 = CLKRM | SCLKME | FSXP | FSRP | CLKXP | CLKRP,
390 //.pcr0 = CLKXP | CLKRP, /* mcbsp: slave */
391};
392
393static struct omap_alsa_codec_config alsa_config = {
394 .name = "H3 TSC2101",
395 .mcbsp_regs_alsa = &mcbsp_regs,
396 .codec_configure_dev = NULL, // tsc2101_configure,
397 .codec_set_samplerate = NULL, // tsc2101_set_samplerate,
398 .codec_clock_setup = NULL, // tsc2101_clock_setup,
399 .codec_clock_on = NULL, // tsc2101_clock_on,
400 .codec_clock_off = NULL, // tsc2101_clock_off,
401 .get_default_samplerate = NULL, // tsc2101_get_default_samplerate,
402};
403
404static struct platform_device h3_mcbsp1_device = {
405 .name = "omap_alsa_mcbsp",
406 .id = 1,
407 .dev = {
408 .platform_data = &alsa_config,
409 },
410};
411
372static struct platform_device *devices[] __initdata = { 412static struct platform_device *devices[] __initdata = {
373 &nor_device, 413 &nor_device,
374 &nand_device, 414 &nand_device,
@@ -377,6 +417,7 @@ static struct platform_device *devices[] __initdata = {
377 &h3_irda_device, 417 &h3_irda_device,
378 &h3_kp_device, 418 &h3_kp_device,
379 &h3_lcd_device, 419 &h3_lcd_device,
420 &h3_mcbsp1_device,
380}; 421};
381 422
382static struct omap_usb_config h3_usb_config __initdata = { 423static struct omap_usb_config h3_usb_config __initdata = {