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 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 = {