diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-cm-t35.c')
-rw-r--r-- | arch/arm/mach-omap2/board-cm-t35.c | 81 |
1 files changed, 21 insertions, 60 deletions
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c index 77456dec93ea..35891d49c631 100644 --- a/arch/arm/mach-omap2/board-cm-t35.c +++ b/arch/arm/mach-omap2/board-cm-t35.c | |||
@@ -162,9 +162,7 @@ static struct mtd_partition cm_t35_nand_partitions[] = { | |||
162 | static struct omap_nand_platform_data cm_t35_nand_data = { | 162 | static struct omap_nand_platform_data cm_t35_nand_data = { |
163 | .parts = cm_t35_nand_partitions, | 163 | .parts = cm_t35_nand_partitions, |
164 | .nr_parts = ARRAY_SIZE(cm_t35_nand_partitions), | 164 | .nr_parts = ARRAY_SIZE(cm_t35_nand_partitions), |
165 | .dma_channel = -1, /* disable DMA in OMAP NAND driver */ | ||
166 | .cs = 0, | 165 | .cs = 0, |
167 | |||
168 | }; | 166 | }; |
169 | 167 | ||
170 | static void __init cm_t35_init_nand(void) | 168 | static void __init cm_t35_init_nand(void) |
@@ -337,19 +335,17 @@ static void __init cm_t35_init_display(void) | |||
337 | } | 335 | } |
338 | } | 336 | } |
339 | 337 | ||
340 | static struct regulator_consumer_supply cm_t35_vmmc1_supply = { | 338 | static struct regulator_consumer_supply cm_t35_vmmc1_supply[] = { |
341 | .supply = "vmmc", | 339 | REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"), |
342 | }; | 340 | }; |
343 | 341 | ||
344 | static struct regulator_consumer_supply cm_t35_vsim_supply = { | 342 | static struct regulator_consumer_supply cm_t35_vsim_supply[] = { |
345 | .supply = "vmmc_aux", | 343 | REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"), |
346 | }; | 344 | }; |
347 | 345 | ||
348 | static struct regulator_consumer_supply cm_t35_vdac_supply = | 346 | static struct regulator_consumer_supply cm_t35_vdvi_supply[] = { |
349 | REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); | 347 | REGULATOR_SUPPLY("vdvi", "omapdss"), |
350 | 348 | }; | |
351 | static struct regulator_consumer_supply cm_t35_vdvi_supply = | ||
352 | REGULATOR_SUPPLY("vdvi", "omapdss"); | ||
353 | 349 | ||
354 | /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ | 350 | /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ |
355 | static struct regulator_init_data cm_t35_vmmc1 = { | 351 | static struct regulator_init_data cm_t35_vmmc1 = { |
@@ -362,8 +358,8 @@ static struct regulator_init_data cm_t35_vmmc1 = { | |||
362 | | REGULATOR_CHANGE_MODE | 358 | | REGULATOR_CHANGE_MODE |
363 | | REGULATOR_CHANGE_STATUS, | 359 | | REGULATOR_CHANGE_STATUS, |
364 | }, | 360 | }, |
365 | .num_consumer_supplies = 1, | 361 | .num_consumer_supplies = ARRAY_SIZE(cm_t35_vmmc1_supply), |
366 | .consumer_supplies = &cm_t35_vmmc1_supply, | 362 | .consumer_supplies = cm_t35_vmmc1_supply, |
367 | }; | 363 | }; |
368 | 364 | ||
369 | /* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */ | 365 | /* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */ |
@@ -377,41 +373,8 @@ static struct regulator_init_data cm_t35_vsim = { | |||
377 | | REGULATOR_CHANGE_MODE | 373 | | REGULATOR_CHANGE_MODE |
378 | | REGULATOR_CHANGE_STATUS, | 374 | | REGULATOR_CHANGE_STATUS, |
379 | }, | 375 | }, |
380 | .num_consumer_supplies = 1, | 376 | .num_consumer_supplies = ARRAY_SIZE(cm_t35_vsim_supply), |
381 | .consumer_supplies = &cm_t35_vsim_supply, | 377 | .consumer_supplies = cm_t35_vsim_supply, |
382 | }; | ||
383 | |||
384 | /* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ | ||
385 | static struct regulator_init_data cm_t35_vdac = { | ||
386 | .constraints = { | ||
387 | .min_uV = 1800000, | ||
388 | .max_uV = 1800000, | ||
389 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
390 | | REGULATOR_MODE_STANDBY, | ||
391 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
392 | | REGULATOR_CHANGE_STATUS, | ||
393 | }, | ||
394 | .num_consumer_supplies = 1, | ||
395 | .consumer_supplies = &cm_t35_vdac_supply, | ||
396 | }; | ||
397 | |||
398 | /* VPLL2 for digital video outputs */ | ||
399 | static struct regulator_init_data cm_t35_vpll2 = { | ||
400 | .constraints = { | ||
401 | .name = "VDVI", | ||
402 | .min_uV = 1800000, | ||
403 | .max_uV = 1800000, | ||
404 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
405 | | REGULATOR_MODE_STANDBY, | ||
406 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
407 | | REGULATOR_CHANGE_STATUS, | ||
408 | }, | ||
409 | .num_consumer_supplies = 1, | ||
410 | .consumer_supplies = &cm_t35_vdvi_supply, | ||
411 | }; | ||
412 | |||
413 | static struct twl4030_usb_data cm_t35_usb_data = { | ||
414 | .usb_mode = T2_USB_MODE_ULPI, | ||
415 | }; | 378 | }; |
416 | 379 | ||
417 | static uint32_t cm_t35_keymap[] = { | 380 | static uint32_t cm_t35_keymap[] = { |
@@ -481,10 +444,6 @@ static int cm_t35_twl_gpio_setup(struct device *dev, unsigned gpio, | |||
481 | mmc[0].gpio_cd = gpio + 0; | 444 | mmc[0].gpio_cd = gpio + 0; |
482 | omap2_hsmmc_init(mmc); | 445 | omap2_hsmmc_init(mmc); |
483 | 446 | ||
484 | /* link regulators to MMC adapters */ | ||
485 | cm_t35_vmmc1_supply.dev = mmc[0].dev; | ||
486 | cm_t35_vsim_supply.dev = mmc[0].dev; | ||
487 | |||
488 | return 0; | 447 | return 0; |
489 | } | 448 | } |
490 | 449 | ||
@@ -496,21 +455,23 @@ static struct twl4030_gpio_platform_data cm_t35_gpio_data = { | |||
496 | }; | 455 | }; |
497 | 456 | ||
498 | static struct twl4030_platform_data cm_t35_twldata = { | 457 | static struct twl4030_platform_data cm_t35_twldata = { |
499 | .irq_base = TWL4030_IRQ_BASE, | ||
500 | .irq_end = TWL4030_IRQ_END, | ||
501 | |||
502 | /* platform_data for children goes here */ | 458 | /* platform_data for children goes here */ |
503 | .keypad = &cm_t35_kp_data, | 459 | .keypad = &cm_t35_kp_data, |
504 | .usb = &cm_t35_usb_data, | ||
505 | .gpio = &cm_t35_gpio_data, | 460 | .gpio = &cm_t35_gpio_data, |
506 | .vmmc1 = &cm_t35_vmmc1, | 461 | .vmmc1 = &cm_t35_vmmc1, |
507 | .vsim = &cm_t35_vsim, | 462 | .vsim = &cm_t35_vsim, |
508 | .vdac = &cm_t35_vdac, | ||
509 | .vpll2 = &cm_t35_vpll2, | ||
510 | }; | 463 | }; |
511 | 464 | ||
512 | static void __init cm_t35_init_i2c(void) | 465 | static void __init cm_t35_init_i2c(void) |
513 | { | 466 | { |
467 | omap3_pmic_get_config(&cm_t35_twldata, TWL_COMMON_PDATA_USB, | ||
468 | TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2); | ||
469 | |||
470 | cm_t35_twldata.vpll2->constraints.name = "VDVI"; | ||
471 | cm_t35_twldata.vpll2->num_consumer_supplies = | ||
472 | ARRAY_SIZE(cm_t35_vdvi_supply); | ||
473 | cm_t35_twldata.vpll2->consumer_supplies = cm_t35_vdvi_supply; | ||
474 | |||
514 | omap3_pmic_init("tps65930", &cm_t35_twldata); | 475 | omap3_pmic_init("tps65930", &cm_t35_twldata); |
515 | } | 476 | } |
516 | 477 | ||
@@ -646,7 +607,7 @@ MACHINE_START(CM_T35, "Compulab CM-T35") | |||
646 | .reserve = omap_reserve, | 607 | .reserve = omap_reserve, |
647 | .map_io = omap3_map_io, | 608 | .map_io = omap3_map_io, |
648 | .init_early = cm_t35_init_early, | 609 | .init_early = cm_t35_init_early, |
649 | .init_irq = omap_init_irq, | 610 | .init_irq = omap3_init_irq, |
650 | .init_machine = cm_t35_init, | 611 | .init_machine = cm_t35_init, |
651 | .timer = &omap_timer, | 612 | .timer = &omap3_timer, |
652 | MACHINE_END | 613 | MACHINE_END |