aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c64xx
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-08-12 05:08:17 -0400
committerKukjin Kim <kgene.kim@samsung.com>2011-09-16 22:27:50 -0400
commit986afc98ce24901865828dab9ba876fd9be6beb2 (patch)
tree900dbcf9a153e9b863df1a0e9d29fdfa0dfaaf29 /arch/arm/mach-s3c64xx
parentb6fd41e29dea9c6753b1843a77e50433e6123bcb (diff)
ARM: S3C64XX: Hook up GPIO initiated DVS on Cragganmore
Allow us to ramp VDDARM quickly by using a GPIO to signal a voltage change instead of doing a register write. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-s3c64xx')
-rw-r--r--arch/arm/mach-s3c64xx/mach-crag6410.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c
index af0c2fe1ea37..5affb26a1985 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410.c
@@ -353,6 +353,12 @@ static struct pca953x_platform_data crag6410_pca_data = {
353 .irq_base = 0, 353 .irq_base = 0,
354}; 354};
355 355
356/* VDDARM is controlled by DVS1 connected to GPK(0) */
357static struct wm831x_buckv_pdata vddarm_pdata = {
358 .dvs_control_src = 1,
359 .dvs_gpio = S3C64XX_GPK(0),
360};
361
356static struct regulator_consumer_supply vddarm_consumers[] __initdata = { 362static struct regulator_consumer_supply vddarm_consumers[] __initdata = {
357 REGULATOR_SUPPLY("vddarm", NULL), 363 REGULATOR_SUPPLY("vddarm", NULL),
358}; 364};
@@ -368,6 +374,7 @@ static struct regulator_init_data vddarm __initdata = {
368 .num_consumer_supplies = ARRAY_SIZE(vddarm_consumers), 374 .num_consumer_supplies = ARRAY_SIZE(vddarm_consumers),
369 .consumer_supplies = vddarm_consumers, 375 .consumer_supplies = vddarm_consumers,
370 .supply_regulator = "WALLVDD", 376 .supply_regulator = "WALLVDD",
377 .driver_data = &vddarm_pdata,
371}; 378};
372 379
373static struct regulator_init_data vddint __initdata = { 380static struct regulator_init_data vddint __initdata = {
@@ -503,6 +510,8 @@ static struct wm831x_pdata crag_pmic_pdata __initdata = {
503 .backup = &banff_backup_pdata, 510 .backup = &banff_backup_pdata,
504 511
505 .gpio_defaults = { 512 .gpio_defaults = {
513 /* GPIO5: DVS1_REQ - CMOS, DBVDD, active high */
514 [4] = WM831X_GPN_DIR | WM831X_GPN_POL | WM831X_GPN_ENA | 0x8,
506 /* GPIO11: Touchscreen data - CMOS, DBVDD, active high*/ 515 /* GPIO11: Touchscreen data - CMOS, DBVDD, active high*/
507 [10] = WM831X_GPN_POL | WM831X_GPN_ENA | 0x6, 516 [10] = WM831X_GPN_POL | WM831X_GPN_ENA | 0x6,
508 /* GPIO12: Touchscreen pen down - CMOS, DBVDD, active high*/ 517 /* GPIO12: Touchscreen pen down - CMOS, DBVDD, active high*/