diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-s3c2442/mach-gta02.c | 54 |
1 files changed, 50 insertions, 4 deletions
diff --git a/arch/arm/mach-s3c2442/mach-gta02.c b/arch/arm/mach-s3c2442/mach-gta02.c index 422ac20d5c1..ffb7d74eb80 100644 --- a/arch/arm/mach-s3c2442/mach-gta02.c +++ b/arch/arm/mach-s3c2442/mach-gta02.c @@ -277,6 +277,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. @@ -398,6 +414,32 @@ static char *gta02_batteries[] = { "battery", }; +static struct regulator_consumer_supply ldo4_consumers[] = { + { + .dev = >a02_pm_bt_dev.dev, + .supply = "BT_3V2", + }, +}; + +static struct regulator_consumer_supply ldo5_consumers[] = { + { + .dev = >a02_pm_gps_dev.dev, + .supply = "RF_3V", + }, +}; + +static struct regulator_consumer_supply hcldo_consumers[] = { + { + .dev = >a02_glamo_dev.dev, + .supply = "SD_3V3", + }, +}; + +static struct regulator_consumer_supply ldo6_consumers[] = { + REGULATOR_SUPPLY("VDC", "spi2.0"), + REGULATOR_SUPPLY("VDDIO", "spi2.0"), +}; + struct pcf50633_platform_data gta02_pcf_pdata = { .resumers = { [0] = PCF50633_INT1_USBINS | @@ -454,6 +496,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 = { @@ -489,6 +533,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 = { @@ -500,6 +546,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 = { @@ -507,6 +555,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 = { @@ -613,8 +663,6 @@ static struct s3c2410_udc_mach_info gta02_udc_cfg = { }; - - static void gta02_bl_set_intensity(int intensity) { struct pcf50633 *pcf = gta02_pcf; @@ -676,8 +724,6 @@ static struct platform_device gta02_bl_dev = { }, }; - - /* USB */ static struct s3c2410_hcd_info gta02_usb_info = { .port[0] = { |