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 79d4ef4c54d4..4167f3480974 100644 --- a/arch/arm/mach-omap1/board-h3.c +++ b/arch/arm/mach-omap1/board-h3.c | |||
| @@ -44,6 +44,8 @@ | |||
| 44 | #include <asm/arch/keypad.h> | 44 | #include <asm/arch/keypad.h> |
| 45 | #include <asm/arch/dma.h> | 45 | #include <asm/arch/dma.h> |
| 46 | #include <asm/arch/common.h> | 46 | #include <asm/arch/common.h> |
| 47 | #include <asm/arch/mcbsp.h> | ||
| 48 | #include <asm/arch/omap-alsa.h> | ||
| 47 | 49 | ||
| 48 | extern int omap_gpio_init(void); | 50 | extern int omap_gpio_init(void); |
| 49 | 51 | ||
| @@ -351,11 +353,14 @@ static struct resource h3_irda_resources[] = { | |||
| 351 | }, | 353 | }, |
| 352 | }; | 354 | }; |
| 353 | 355 | ||
| 356 | static u64 irda_dmamask = 0xffffffff; | ||
| 357 | |||
| 354 | static struct platform_device h3_irda_device = { | 358 | static struct platform_device h3_irda_device = { |
| 355 | .name = "omapirda", | 359 | .name = "omapirda", |
| 356 | .id = 0, | 360 | .id = 0, |
| 357 | .dev = { | 361 | .dev = { |
| 358 | .platform_data = &h3_irda_data, | 362 | .platform_data = &h3_irda_data, |
| 363 | .dma_mask = &irda_dmamask, | ||
| 359 | }, | 364 | }, |
| 360 | .num_resources = ARRAY_SIZE(h3_irda_resources), | 365 | .num_resources = ARRAY_SIZE(h3_irda_resources), |
| 361 | .resource = h3_irda_resources, | 366 | .resource = h3_irda_resources, |
| @@ -366,6 +371,41 @@ static struct platform_device h3_lcd_device = { | |||
| 366 | .id = -1, | 371 | .id = -1, |
| 367 | }; | 372 | }; |
| 368 | 373 | ||
| 374 | static struct omap_mcbsp_reg_cfg mcbsp_regs = { | ||
| 375 | .spcr2 = FREE | FRST | GRST | XRST | XINTM(3), | ||
| 376 | .spcr1 = RINTM(3) | RRST, | ||
| 377 | .rcr2 = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) | | ||
| 378 | RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(1), | ||
| 379 | .rcr1 = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16), | ||
| 380 | .xcr2 = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) | | ||
| 381 | XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(1) | XFIG, | ||
| 382 | .xcr1 = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16), | ||
| 383 | .srgr1 = FWID(15), | ||
| 384 | .srgr2 = GSYNC | CLKSP | FSGM | FPER(31), | ||
| 385 | |||
| 386 | .pcr0 = CLKRM | SCLKME | FSXP | FSRP | CLKXP | CLKRP, | ||
| 387 | //.pcr0 = CLKXP | CLKRP, /* mcbsp: slave */ | ||
| 388 | }; | ||
| 389 | |||
| 390 | static struct omap_alsa_codec_config alsa_config = { | ||
| 391 | .name = "H3 TSC2101", | ||
| 392 | .mcbsp_regs_alsa = &mcbsp_regs, | ||
| 393 | .codec_configure_dev = NULL, // tsc2101_configure, | ||
| 394 | .codec_set_samplerate = NULL, // tsc2101_set_samplerate, | ||
| 395 | .codec_clock_setup = NULL, // tsc2101_clock_setup, | ||
| 396 | .codec_clock_on = NULL, // tsc2101_clock_on, | ||
| 397 | .codec_clock_off = NULL, // tsc2101_clock_off, | ||
| 398 | .get_default_samplerate = NULL, // tsc2101_get_default_samplerate, | ||
| 399 | }; | ||
| 400 | |||
| 401 | static struct platform_device h3_mcbsp1_device = { | ||
| 402 | .name = "omap_alsa_mcbsp", | ||
| 403 | .id = 1, | ||
| 404 | .dev = { | ||
| 405 | .platform_data = &alsa_config, | ||
| 406 | }, | ||
| 407 | }; | ||
| 408 | |||
| 369 | static struct platform_device *devices[] __initdata = { | 409 | static struct platform_device *devices[] __initdata = { |
| 370 | &nor_device, | 410 | &nor_device, |
| 371 | &nand_device, | 411 | &nand_device, |
| @@ -374,6 +414,7 @@ static struct platform_device *devices[] __initdata = { | |||
| 374 | &h3_irda_device, | 414 | &h3_irda_device, |
| 375 | &h3_kp_device, | 415 | &h3_kp_device, |
| 376 | &h3_lcd_device, | 416 | &h3_lcd_device, |
| 417 | &h3_mcbsp1_device, | ||
| 377 | }; | 418 | }; |
| 378 | 419 | ||
| 379 | static struct omap_usb_config h3_usb_config __initdata = { | 420 | static struct omap_usb_config h3_usb_config __initdata = { |
