diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-08-12 05:08:17 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2011-09-16 22:27:50 -0400 |
commit | 986afc98ce24901865828dab9ba876fd9be6beb2 (patch) | |
tree | 900dbcf9a153e9b863df1a0e9d29fdfa0dfaaf29 /arch/arm/mach-s3c64xx/mach-crag6410.c | |
parent | b6fd41e29dea9c6753b1843a77e50433e6123bcb (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/mach-crag6410.c')
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-crag6410.c | 9 |
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) */ | ||
357 | static struct wm831x_buckv_pdata vddarm_pdata = { | ||
358 | .dvs_control_src = 1, | ||
359 | .dvs_gpio = S3C64XX_GPK(0), | ||
360 | }; | ||
361 | |||
356 | static struct regulator_consumer_supply vddarm_consumers[] __initdata = { | 362 | static 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 | ||
373 | static struct regulator_init_data vddint __initdata = { | 380 | static 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*/ |