diff options
Diffstat (limited to 'arch/arm/mach-omap1/board-h3.c')
-rw-r--r-- | arch/arm/mach-omap1/board-h3.c | 41 |
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 | ||
51 | extern int omap_gpio_init(void); | 53 | extern int omap_gpio_init(void); |
52 | 54 | ||
@@ -354,11 +356,14 @@ static struct resource h3_irda_resources[] = { | |||
354 | }, | 356 | }, |
355 | }; | 357 | }; |
356 | 358 | ||
359 | static u64 irda_dmamask = 0xffffffff; | ||
360 | |||
357 | static struct platform_device h3_irda_device = { | 361 | static 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 | ||
377 | static 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 | |||
393 | static 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 | |||
404 | static struct platform_device h3_mcbsp1_device = { | ||
405 | .name = "omap_alsa_mcbsp", | ||
406 | .id = 1, | ||
407 | .dev = { | ||
408 | .platform_data = &alsa_config, | ||
409 | }, | ||
410 | }; | ||
411 | |||
372 | static struct platform_device *devices[] __initdata = { | 412 | static 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 | ||
382 | static struct omap_usb_config h3_usb_config __initdata = { | 423 | static struct omap_usb_config h3_usb_config __initdata = { |