aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/board-cm-t35.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/board-cm-t35.c')
-rw-r--r--arch/arm/mach-omap2/board-cm-t35.c81
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[] = {
162static struct omap_nand_platform_data cm_t35_nand_data = { 162static 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
170static void __init cm_t35_init_nand(void) 168static 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
340static struct regulator_consumer_supply cm_t35_vmmc1_supply = { 338static struct regulator_consumer_supply cm_t35_vmmc1_supply[] = {
341 .supply = "vmmc", 339 REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
342}; 340};
343 341
344static struct regulator_consumer_supply cm_t35_vsim_supply = { 342static struct regulator_consumer_supply cm_t35_vsim_supply[] = {
345 .supply = "vmmc_aux", 343 REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
346}; 344};
347 345
348static struct regulator_consumer_supply cm_t35_vdac_supply = 346static struct regulator_consumer_supply cm_t35_vdvi_supply[] = {
349 REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"); 347 REGULATOR_SUPPLY("vdvi", "omapdss"),
350 348};
351static 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) */
355static struct regulator_init_data cm_t35_vmmc1 = { 351static 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) */
385static 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 */
399static 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
413static struct twl4030_usb_data cm_t35_usb_data = {
414 .usb_mode = T2_USB_MODE_ULPI,
415}; 378};
416 379
417static uint32_t cm_t35_keymap[] = { 380static 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
498static struct twl4030_platform_data cm_t35_twldata = { 457static 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
512static void __init cm_t35_init_i2c(void) 465static 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,
652MACHINE_END 613MACHINE_END