diff options
| author | Sekhar Nori <nsekhar@ti.com> | 2010-07-12 08:26:21 -0400 |
|---|---|---|
| committer | Liam Girdwood <lrg@slimlogic.co.uk> | 2010-07-28 10:09:31 -0400 |
| commit | 8b24599e72c9aee1ea1187e29cb9c5de9f449cce (patch) | |
| tree | 9e256d1ee8c3930c3cb97dc75ccb32bb6043ddfd | |
| parent | 7d14831e21060fbfbfe8453460ac19205f4ce1c2 (diff) | |
davinci: da850/omap-l138 evm: account for DEFDCDC{2,3} being tied high
Per the da850/omap-l138 Beta EVM SOM schematic, the DEFDCDC2 and
DEFDCDC3 lines are tied high. This leads to a 3.3V IO and 1.2V CVDD
voltage.
Pass the right platform data to the TPS6507x driver so it can operate
on the DEFDCDC{2,3}_HIGH register to read and change voltage levels.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| -rw-r--r-- | arch/arm/mach-davinci/board-da850-evm.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c index 2ec3095ffb7b..b280efb1fa12 100644 --- a/arch/arm/mach-davinci/board-da850-evm.c +++ b/arch/arm/mach-davinci/board-da850-evm.c | |||
| @@ -25,6 +25,7 @@ | |||
| 25 | #include <linux/mtd/partitions.h> | 25 | #include <linux/mtd/partitions.h> |
| 26 | #include <linux/mtd/physmap.h> | 26 | #include <linux/mtd/physmap.h> |
| 27 | #include <linux/regulator/machine.h> | 27 | #include <linux/regulator/machine.h> |
| 28 | #include <linux/regulator/tps6507x.h> | ||
| 28 | #include <linux/mfd/tps6507x.h> | 29 | #include <linux/mfd/tps6507x.h> |
| 29 | #include <linux/input/tps6507x-ts.h> | 30 | #include <linux/input/tps6507x-ts.h> |
| 30 | 31 | ||
| @@ -469,6 +470,11 @@ struct regulator_consumer_supply tps65070_ldo2_consumers[] = { | |||
| 469 | }, | 470 | }, |
| 470 | }; | 471 | }; |
| 471 | 472 | ||
| 473 | /* We take advantage of the fact that both defdcdc{2,3} are tied high */ | ||
| 474 | static struct tps6507x_reg_platform_data tps6507x_platform_data = { | ||
| 475 | .defdcdc_default = true, | ||
| 476 | }; | ||
| 477 | |||
| 472 | struct regulator_init_data tps65070_regulator_data[] = { | 478 | struct regulator_init_data tps65070_regulator_data[] = { |
| 473 | /* dcdc1 */ | 479 | /* dcdc1 */ |
| 474 | { | 480 | { |
| @@ -494,6 +500,7 @@ struct regulator_init_data tps65070_regulator_data[] = { | |||
| 494 | }, | 500 | }, |
| 495 | .num_consumer_supplies = ARRAY_SIZE(tps65070_dcdc2_consumers), | 501 | .num_consumer_supplies = ARRAY_SIZE(tps65070_dcdc2_consumers), |
| 496 | .consumer_supplies = tps65070_dcdc2_consumers, | 502 | .consumer_supplies = tps65070_dcdc2_consumers, |
| 503 | .driver_data = &tps6507x_platform_data, | ||
| 497 | }, | 504 | }, |
| 498 | 505 | ||
| 499 | /* dcdc3 */ | 506 | /* dcdc3 */ |
| @@ -507,6 +514,7 @@ struct regulator_init_data tps65070_regulator_data[] = { | |||
| 507 | }, | 514 | }, |
| 508 | .num_consumer_supplies = ARRAY_SIZE(tps65070_dcdc3_consumers), | 515 | .num_consumer_supplies = ARRAY_SIZE(tps65070_dcdc3_consumers), |
| 509 | .consumer_supplies = tps65070_dcdc3_consumers, | 516 | .consumer_supplies = tps65070_dcdc3_consumers, |
| 517 | .driver_data = &tps6507x_platform_data, | ||
| 510 | }, | 518 | }, |
| 511 | 519 | ||
| 512 | /* ldo1 */ | 520 | /* ldo1 */ |
