mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-09-19 22:03:15 +03:00
75 lines
2.5 KiB
Diff
75 lines
2.5 KiB
Diff
|
From 0dd4b9a534db9bef8f2901c00ee58b00e14a49df Mon Sep 17 00:00:00 2001
|
||
|
From: Andy Green <andy@openmoko.com>
|
||
|
Date: Wed, 30 Jul 2008 14:36:42 +0100
|
||
|
Subject: [PATCH] fix-allow-full-sd-voltage-range-selection.patch
|
||
|
|
||
|
Until now we just drove the SD Card at 3.3V all the time. But in
|
||
|
fact we can do better, and use a voltage negotiated with the
|
||
|
SD Card itself.
|
||
|
|
||
|
With the shipping 512MB Sandisk SD Card, 2.7V is negotiated which
|
||
|
gives 1.7dBm reduction in power on all the SD Card lines and should
|
||
|
further reduce GPS perturbation during SD Card usage.
|
||
|
|
||
|
Signed-off-by: Andy Green <andy@openmoko.com>
|
||
|
---
|
||
|
arch/arm/mach-s3c2440/mach-gta02.c | 10 ++++------
|
||
|
drivers/mfd/glamo/glamo-core.c | 13 ++++++++++++-
|
||
|
2 files changed, 16 insertions(+), 7 deletions(-)
|
||
|
|
||
|
diff --git a/arch/arm/mach-s3c2440/mach-gta02.c b/arch/arm/mach-s3c2440/mach-gta02.c
|
||
|
index 1fcd3fd..382837d 100644
|
||
|
--- a/arch/arm/mach-s3c2440/mach-gta02.c
|
||
|
+++ b/arch/arm/mach-s3c2440/mach-gta02.c
|
||
|
@@ -604,7 +604,7 @@ static struct pcf50633_platform_data gta02_pcf_pdata = {
|
||
|
[PCF50633_REGULATOR_HCLDO] = {
|
||
|
.name = "sd_3v3",
|
||
|
.voltage = {
|
||
|
- .init = 3300,
|
||
|
+ .init = 2000,
|
||
|
.max = 3300,
|
||
|
},
|
||
|
},
|
||
|
@@ -1378,11 +1378,9 @@ gta02_glamo_mmc_set_power(unsigned char power_mode, unsigned short vdd)
|
||
|
return;
|
||
|
}
|
||
|
/* select and set the voltage */
|
||
|
- if (vdd > 7) {
|
||
|
- mv += 300 + 100 * (vdd - 8);
|
||
|
- if (mv > 3500)
|
||
|
- mv = 3500;
|
||
|
- }
|
||
|
+ if (vdd > 7)
|
||
|
+ mv += 350 + 100 * (vdd - 8);
|
||
|
+ printk(KERN_INFO "SD power -> %dmV\n", mv);
|
||
|
pcf50633_voltage_set(pcf50633_global,
|
||
|
PCF50633_REGULATOR_HCLDO, mv);
|
||
|
pcf50633_onoff_set(pcf50633_global,
|
||
|
diff --git a/drivers/mfd/glamo/glamo-core.c b/drivers/mfd/glamo/glamo-core.c
|
||
|
index ee33901..cb9b056 100644
|
||
|
--- a/drivers/mfd/glamo/glamo-core.c
|
||
|
+++ b/drivers/mfd/glamo/glamo-core.c
|
||
|
@@ -270,7 +270,18 @@ static struct platform_device glamo_mmc_dev = {
|
||
|
struct glamo_mci_pdata glamo_mci_def_pdata = {
|
||
|
.gpio_detect = 0,
|
||
|
.glamo_set_mci_power = NULL, /* filled in from MFD platform data */
|
||
|
- .ocr_avail = MMC_VDD_32_33,
|
||
|
+ .ocr_avail = MMC_VDD_20_21 |
|
||
|
+ MMC_VDD_21_22 |
|
||
|
+ MMC_VDD_22_23 |
|
||
|
+ MMC_VDD_23_24 |
|
||
|
+ MMC_VDD_24_25 |
|
||
|
+ MMC_VDD_25_26 |
|
||
|
+ MMC_VDD_26_27 |
|
||
|
+ MMC_VDD_27_28 |
|
||
|
+ MMC_VDD_28_29 |
|
||
|
+ MMC_VDD_29_30 |
|
||
|
+ MMC_VDD_30_31 |
|
||
|
+ MMC_VDD_32_33,
|
||
|
.glamo_irq_is_wired = NULL, /* filled in from MFD platform data */
|
||
|
.mci_suspending = NULL, /* filled in from MFD platform data */
|
||
|
.mci_all_dependencies_resumed = NULL, /* filled in from MFD platform data */
|
||
|
--
|
||
|
1.5.6.3
|
||
|
|