aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap1/board-h3.c
diff options
context:
space:
mode:
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 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
48extern int omap_gpio_init(void); 50extern int omap_gpio_init(void);
49 51
@@ -351,11 +353,14 @@ static struct resource h3_irda_resources[] = {
351 }, 353 },
352}; 354};
353 355
356static u64 irda_dmamask = 0xffffffff;
357
354static struct platform_device h3_irda_device = { 358static 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
374static 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
390static 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
401static struct platform_device h3_mcbsp1_device = {
402 .name = "omap_alsa_mcbsp",
403 .id = 1,
404 .dev = {
405 .platform_data = &alsa_config,
406 },
407};
408
369static struct platform_device *devices[] __initdata = { 409static 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
379static struct omap_usb_config h3_usb_config __initdata = { 420static struct omap_usb_config h3_usb_config __initdata = {