aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-s3c2442
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2009-10-05 17:03:59 +0200
committerLars-Peter Clausen <lars@metafoo.de>2009-10-08 20:29:14 +0200
commit5507d96f7895ca5031ebf92ef1e423cb88c0c43b (patch)
tree87c7af07bff293541028fa1df22c906a4a6faf1a /arch/arm/mach-s3c2442
parentc540ffc328edc51deb17906861a1626a308f85f6 (diff)
gta02: Add power supply consumers.
Diffstat (limited to 'arch/arm/mach-s3c2442')
-rw-r--r--arch/arm/mach-s3c2442/mach-gta02.c78
1 files changed, 58 insertions, 20 deletions
diff --git a/arch/arm/mach-s3c2442/mach-gta02.c b/arch/arm/mach-s3c2442/mach-gta02.c
index 3eff24bdd04..6ddd177f51a 100644
--- a/arch/arm/mach-s3c2442/mach-gta02.c
+++ b/arch/arm/mach-s3c2442/mach-gta02.c
@@ -288,6 +288,22 @@ static struct platform_device gta02_glamo_dev = {
},
};
+static struct platform_device gta02_pm_gps_dev = {
+ .name = "gta02-pm-gps",
+};
+
+static struct platform_device gta02_pm_bt_dev = {
+ .name = "gta02-pm-bt",
+};
+
+static struct platform_device gta02_pm_gsm_dev = {
+ .name = "gta02-pm-gsm",
+};
+
+static struct platform_device gta02_pm_wlan_dev = {
+ .name = "gta02-pm-wlan",
+};
+
#ifdef CONFIG_CHARGER_PCF50633
/*
* On GTA02 the 1A charger features a 48K resistor to 0V on the ID pin.
@@ -409,6 +425,40 @@ static char *gta02_batteries[] = {
"battery",
};
+static struct regulator_consumer_supply ldo4_consumers[] = {
+ {
+ .dev = &gta02_pm_bt_dev.dev,
+ .supply = "BT_3V2",
+ },
+};
+
+static struct regulator_consumer_supply ldo5_consumers[] = {
+ {
+ .dev = &gta02_pm_gps_dev.dev,
+ .supply = "RF_3V",
+ },
+};
+
+static struct regulator_consumer_supply hcldo_consumers[] = {
+ {
+ .dev = &gta02_glamo_dev.dev,
+ .supply = "SD_3V3",
+ },
+};
+
+#if 0
+/* This will come with 2.6.32. Don't forget to uncomment it then. */
+static struct regulator_consumer_supply ldo6_consumers[] = {
+ REGULATOR_SUPPLY("VDC", "jbt6k74"),
+ REGULATOR_SUPPLY("VDDIO", "jbt6k74"),
+};
+#else
+static struct regulator_consumer_supply ldo6_consumers[] = {
+ { .supply = "VDC", },
+ { .supply = "VDDIO", },
+};
+#endif
+
struct pcf50633_platform_data gta02_pcf_pdata = {
.resumers = {
[0] = PCF50633_INT1_USBINS |
@@ -465,6 +515,8 @@ struct pcf50633_platform_data gta02_pcf_pdata = {
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
.always_on = 1,
},
+ .num_consumer_supplies = ARRAY_SIZE(hcldo_consumers),
+ .consumer_supplies = hcldo_consumers,
},
[PCF50633_REGULATOR_LDO1] = {
.constraints = {
@@ -500,6 +552,8 @@ struct pcf50633_platform_data gta02_pcf_pdata = {
.valid_modes_mask = REGULATOR_MODE_NORMAL,
.apply_uV = 1,
},
+ .num_consumer_supplies = ARRAY_SIZE(ldo4_consumers),
+ .consumer_supplies = ldo4_consumers,
},
[PCF50633_REGULATOR_LDO5] = {
.constraints = {
@@ -511,6 +565,8 @@ struct pcf50633_platform_data gta02_pcf_pdata = {
.enabled = 1,
},
},
+ .num_consumer_supplies = ARRAY_SIZE(ldo5_consumers),
+ .consumer_supplies = ldo5_consumers,
},
[PCF50633_REGULATOR_LDO6] = {
.constraints = {
@@ -518,6 +574,8 @@ struct pcf50633_platform_data gta02_pcf_pdata = {
.max_uV = 3000000,
.valid_modes_mask = REGULATOR_MODE_NORMAL,
},
+ .num_consumer_supplies = ARRAY_SIZE(ldo6_consumers),
+ .consumer_supplies = ldo6_consumers,
},
[PCF50633_REGULATOR_MEMLDO] = {
.constraints = {
@@ -630,8 +688,6 @@ static struct s3c2410_udc_mach_info gta02_udc_cfg = {
};
-
-
static void gta02_bl_set_intensity(int intensity)
{
struct pcf50633 *pcf = gta02_pcf;
@@ -693,8 +749,6 @@ static struct platform_device gta02_bl_dev = {
},
};
-
-
/* USB */
static struct s3c2410_hcd_info gta02_usb_info = {
.port[0] = {
@@ -765,22 +819,6 @@ static struct platform_device gta02_leds_device = {
},
};
-static struct platform_device gta02_pm_gps_dev = {
- .name = "gta02-pm-gps",
-};
-
-static struct platform_device gta02_pm_bt_dev = {
- .name = "gta02-pm-bt",
-};
-
-static struct platform_device gta02_pm_gsm_dev = {
- .name = "gta02-pm-gsm",
-};
-
-static struct platform_device gta02_pm_wlan_dev = {
- .name = "gta02-pm-wlan",
-};
-
/* JBT6k74 display controller */
static void gta02_jbt6k74_probe_completed(struct device *dev)
{