From patchwork Tue Mar 2 10:30:00 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Aggarwal, Anuj" X-Patchwork-Id: 83169 X-Patchwork-Delegate: tony@atomide.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o22AUCsC021298 for ; Tue, 2 Mar 2010 10:30:13 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752237Ab0CBKaM (ORCPT ); Tue, 2 Mar 2010 05:30:12 -0500 Received: from bear.ext.ti.com ([192.94.94.41]:38909 "EHLO bear.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752163Ab0CBKaK (ORCPT ); Tue, 2 Mar 2010 05:30:10 -0500 Received: from dbdp31.itg.ti.com ([172.24.170.98]) by bear.ext.ti.com (8.13.7/8.13.7) with ESMTP id o22AU1oQ025645 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 2 Mar 2010 04:30:03 -0600 Received: from psplinux050.india.ti.com (localhost [127.0.0.1]) by dbdp31.itg.ti.com (8.13.8/8.13.8) with ESMTP id o22AU0GA028613; Tue, 2 Mar 2010 16:00:00 +0530 (IST) Received: from psplinux050.india.ti.com (localhost [127.0.0.1]) by psplinux050.india.ti.com (8.13.1/8.13.1) with ESMTP id o22AU09Y003311; Tue, 2 Mar 2010 16:00:00 +0530 Received: (from a0393534@localhost) by psplinux050.india.ti.com (8.13.1/8.13.1/Submit) id o22AU07E003308; Tue, 2 Mar 2010 16:00:00 +0530 From: Anuj Aggarwal To: tony@atomide.com Cc: linux-omap@vger.kernel.org, broonie@opensource.wolfsonmicro.com, lrg@slimlogic.co.uk, Anuj Aggarwal Subject: [PATCHv3 4/4] Regulator: OMAP: Use common regulator supplies and init data structs Date: Tue, 2 Mar 2010 16:00:00 +0530 Message-Id: <1267525800-3264-1-git-send-email-anuj.aggarwal@ti.com> X-Mailer: git-send-email 1.6.2.4 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Tue, 02 Mar 2010 10:30:13 +0000 (UTC) diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c index f312b15..e414371 100644 --- a/arch/arm/mach-omap2/board-3430sdp.c +++ b/arch/arm/mach-omap2/board-3430sdp.c @@ -47,6 +47,7 @@ #include "sdram-qimonda-hyb18m512160af-6.h" #include "hsmmc.h" #include "pm.h" +#include "twl4030-pmic.h" #define CONFIG_DISABLE_HFCLK 1 @@ -365,18 +366,6 @@ static struct omap2_hsmmc_info mmc[] = { {} /* Terminator */ }; -static struct regulator_consumer_supply sdp3430_vmmc1_supply = { - .supply = "vmmc", -}; - -static struct regulator_consumer_supply sdp3430_vsim_supply = { - .supply = "vmmc_aux", -}; - -static struct regulator_consumer_supply sdp3430_vmmc2_supply = { - .supply = "vmmc", -}; - static int sdp3430_twl_gpio_setup(struct device *dev, unsigned gpio, unsigned ngpio) { @@ -390,9 +379,9 @@ static int sdp3430_twl_gpio_setup(struct device *dev, /* link regulators to MMC adapters ... we "know" the * regulators will be set up only *after* we return. */ - sdp3430_vmmc1_supply.dev = mmc[0].dev; - sdp3430_vsim_supply.dev = mmc[0].dev; - sdp3430_vmmc2_supply.dev = mmc[1].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; + twl4030_vsim_supply.dev = mmc[0].dev; + twl4030_vmmc2_supply.dev = mmc[1].dev; /* gpio + 7 is "sub_lcd_en_bkl" (output/PWM1) */ gpio_request(gpio + 7, "sub_lcd_en_bkl"); @@ -422,108 +411,6 @@ static struct twl4030_madc_platform_data sdp3430_madc_data = { .irq_line = 1, }; -/* - * Apply all the fixed voltages since most versions of U-Boot - * don't bother with that initialization. - */ - -/* VAUX1 for mainboard (irda and sub-lcd) */ -static struct regulator_init_data sdp3430_vaux1 = { - .constraints = { - .min_uV = 2800000, - .max_uV = 2800000, - .apply_uV = true, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, -}; - -/* VAUX2 for camera module */ -static struct regulator_init_data sdp3430_vaux2 = { - .constraints = { - .min_uV = 2800000, - .max_uV = 2800000, - .apply_uV = true, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, -}; - -/* VAUX3 for LCD board */ -static struct regulator_init_data sdp3430_vaux3 = { - .constraints = { - .min_uV = 2800000, - .max_uV = 2800000, - .apply_uV = true, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, -}; - -/* VAUX4 for OMAP VDD_CSI2 (camera) */ -static struct regulator_init_data sdp3430_vaux4 = { - .constraints = { - .min_uV = 1800000, - .max_uV = 1800000, - .apply_uV = true, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, -}; - -/* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */ -static struct regulator_init_data sdp3430_vmmc1 = { - .constraints = { - .min_uV = 1850000, - .max_uV = 3150000, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE - | REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &sdp3430_vmmc1_supply, -}; - -/* VMMC2 for MMC2 card */ -static struct regulator_init_data sdp3430_vmmc2 = { - .constraints = { - .min_uV = 1850000, - .max_uV = 1850000, - .apply_uV = true, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &sdp3430_vmmc2_supply, -}; - -/* VSIM for OMAP VDD_MMC1A (i/o for DAT4..DAT7) */ -static struct regulator_init_data sdp3430_vsim = { - .constraints = { - .min_uV = 1800000, - .max_uV = 3000000, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE - | REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &sdp3430_vsim_supply, -}; - /* VDAC for DSS driving S-Video */ static struct regulator_init_data sdp3430_vdac = { .constraints = { @@ -587,13 +474,13 @@ static struct twl4030_platform_data sdp3430_twldata = { .usb = &sdp3430_usb_data, .codec = &sdp3430_codec, - .vaux1 = &sdp3430_vaux1, - .vaux2 = &sdp3430_vaux2, - .vaux3 = &sdp3430_vaux3, - .vaux4 = &sdp3430_vaux4, - .vmmc1 = &sdp3430_vmmc1, - .vmmc2 = &sdp3430_vmmc2, - .vsim = &sdp3430_vsim, + .vaux1 = &twl4030_vaux1_data, + .vaux2 = &twl4030_vaux2_data, + .vaux3 = &twl4030_vaux3_data, + .vaux4 = &twl4030_vaux4_data, + .vmmc1 = &twl4030_vmmc1_data, + .vmmc2 = &twl4030_vmmc2_data, + .vsim = &twl4030_vsim_data, .vdac = &sdp3430_vdac, .vpll2 = &sdp3430_vpll2, }; diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c index afa77ca..051c931 100644 --- a/arch/arm/mach-omap2/board-cm-t35.c +++ b/arch/arm/mach-omap2/board-cm-t35.c @@ -51,6 +51,7 @@ #include "mux.h" #include "sdram-micron-mt46h32m32lf-6.h" #include "hsmmc.h" +#include "twl4030-pmic.h" #define CM_T35_GPIO_PENDOWN 57 @@ -494,14 +495,6 @@ out: return; } -static struct regulator_consumer_supply cm_t35_vmmc1_supply = { - .supply = "vmmc", -}; - -static struct regulator_consumer_supply cm_t35_vsim_supply = { - .supply = "vmmc_aux", -}; - static struct regulator_consumer_supply cm_t35_vdac_supply = { .supply = "vdda_dac", .dev = &cm_t35_dss_device.dev, @@ -512,36 +505,6 @@ static struct regulator_consumer_supply cm_t35_vdvi_supply = { .dev = &cm_t35_dss_device.dev, }; -/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ -static struct regulator_init_data cm_t35_vmmc1 = { - .constraints = { - .min_uV = 1850000, - .max_uV = 3150000, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE - | REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &cm_t35_vmmc1_supply, -}; - -/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */ -static struct regulator_init_data cm_t35_vsim = { - .constraints = { - .min_uV = 1800000, - .max_uV = 3000000, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE - | REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &cm_t35_vsim_supply, -}; - /* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ static struct regulator_init_data cm_t35_vdac = { .constraints = { @@ -645,8 +608,8 @@ static int cm_t35_twl_gpio_setup(struct device *dev, unsigned gpio, omap2_hsmmc_init(mmc); /* link regulators to MMC adapters */ - cm_t35_vmmc1_supply.dev = mmc[0].dev; - cm_t35_vsim_supply.dev = mmc[0].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; + twl4030_vsim_supply.dev = mmc[0].dev; /* setup USB with proper PHY reset GPIOs */ ehci_pdata.reset_gpio_port[0] = gpio + 6; @@ -672,8 +635,8 @@ static struct twl4030_platform_data cm_t35_twldata = { .keypad = &cm_t35_kp_data, .usb = &cm_t35_usb_data, .gpio = &cm_t35_gpio_data, - .vmmc1 = &cm_t35_vmmc1, - .vsim = &cm_t35_vsim, + .vmmc1 = &twl4030_vmmc1_data, + .vsim = &twl4030_vsim_data, .vdac = &cm_t35_vdac, .vpll2 = &cm_t35_vpll2, }; diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c index 9958987..514697c 100644 --- a/arch/arm/mach-omap2/board-igep0020.c +++ b/arch/arm/mach-omap2/board-igep0020.c @@ -35,6 +35,7 @@ #include "mux.h" #include "hsmmc.h" #include "sdram-numonyx-m65kxxxxam.h" +#include "twl4030-pmic.h" #define IGEP2_SMSC911X_CS 5 #define IGEP2_SMSC911X_GPIO 176 @@ -208,29 +209,10 @@ static inline void __init igep2_init_smsc911x(void) { } static struct omap_board_config_kernel igep2_config[] __initdata = { }; -static struct regulator_consumer_supply igep2_vmmc1_supply = { - .supply = "vmmc", -}; - static struct regulator_consumer_supply igep2_vmmc2_supply = { .supply = "vmmc", }; -/* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */ -static struct regulator_init_data igep2_vmmc1 = { - .constraints = { - .min_uV = 1850000, - .max_uV = 3150000, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE - | REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &igep2_vmmc1_supply, -}; - /* VMMC2 for OMAP VDD_MMC2 (i/o) and MMC2 WIFI */ static struct regulator_init_data igep2_vmmc2 = { .constraints = { @@ -272,7 +254,7 @@ static int igep2_twl_gpio_setup(struct device *dev, /* link regulators to MMC adapters ... we "know" the * regulators will be set up only *after* we return. */ - igep2_vmmc1_supply.dev = mmc[0].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; igep2_vmmc2_supply.dev = mmc[1].dev; return 0; @@ -411,7 +393,7 @@ static struct twl4030_platform_data igep2_twldata = { .usb = &igep2_usb_data, .codec = &igep2_codec_data, .gpio = &igep2_gpio_data, - .vmmc1 = &igep2_vmmc1, + .vmmc1 = &twl4030_vmmc1_data, .vmmc2 = &igep2_vmmc2, .vpll2 = &igep2_vpll2, diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index 5fcb52e..ed0154e 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c @@ -45,6 +45,7 @@ #include "mux.h" #include "hsmmc.h" +#include "twl4030-pmic.h" #define LDP_SMSC911X_CS 1 #define LDP_SMSC911X_GPIO 152 @@ -310,25 +311,6 @@ static struct twl4030_madc_platform_data ldp_madc_data = { .irq_line = 1, }; -static struct regulator_consumer_supply ldp_vmmc1_supply = { - .supply = "vmmc", -}; - -/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ -static struct regulator_init_data ldp_vmmc1 = { - .constraints = { - .min_uV = 1850000, - .max_uV = 3150000, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE - | REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &ldp_vmmc1_supply, -}; - static struct twl4030_platform_data ldp_twldata = { .irq_base = TWL4030_IRQ_BASE, .irq_end = TWL4030_IRQ_END, @@ -336,7 +318,7 @@ static struct twl4030_platform_data ldp_twldata = { /* platform_data for children goes here */ .madc = &ldp_madc_data, .usb = &ldp_usb_data, - .vmmc1 = &ldp_vmmc1, + .vmmc1 = &twl4030_vmmc1_data, .gpio = &ldp_gpio_data, .keypad = &ldp_kp_twl4030_data, }; @@ -404,7 +386,7 @@ static void __init omap_ldp_init(void) omap2_hsmmc_init(mmc); /* link regulators to MMC adapters */ - ldp_vmmc1_supply.dev = mmc[0].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; } static void __init omap_ldp_map_io(void) diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 6eb77e1..464bd14 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c @@ -46,6 +46,7 @@ #include "mux.h" #include "hsmmc.h" +#include "twl4030-pmic.h" #define GPMC_CS0_BASE 0x60 #define GPMC_CS_SIZE 0x30 @@ -126,14 +127,6 @@ static struct omap_lcd_config omap3_beagle_lcd_config __initdata = { .ctrl_name = "internal", }; -static struct regulator_consumer_supply beagle_vmmc1_supply = { - .supply = "vmmc", -}; - -static struct regulator_consumer_supply beagle_vsim_supply = { - .supply = "vmmc_aux", -}; - static struct gpio_led gpio_leds[]; static int beagle_twl_gpio_setup(struct device *dev, @@ -150,8 +143,8 @@ static int beagle_twl_gpio_setup(struct device *dev, omap2_hsmmc_init(mmc); /* link regulators to MMC adapters */ - beagle_vmmc1_supply.dev = mmc[0].dev; - beagle_vsim_supply.dev = mmc[0].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; + twl4030_vsim_supply.dev = mmc[0].dev; /* REVISIT: need ehci-omap hooks for external VBUS * power switch and overcurrent detect @@ -191,36 +184,6 @@ static struct regulator_consumer_supply beagle_vdvi_supply = { .dev = &omap3_beagle_lcd_device.dev, }; -/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ -static struct regulator_init_data beagle_vmmc1 = { - .constraints = { - .min_uV = 1850000, - .max_uV = 3150000, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE - | REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &beagle_vmmc1_supply, -}; - -/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */ -static struct regulator_init_data beagle_vsim = { - .constraints = { - .min_uV = 1800000, - .max_uV = 3000000, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE - | REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &beagle_vsim_supply, -}; - /* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ static struct regulator_init_data beagle_vdac = { .constraints = { @@ -271,8 +234,8 @@ static struct twl4030_platform_data beagle_twldata = { .usb = &beagle_usb_data, .gpio = &beagle_gpio_data, .codec = &beagle_codec_data, - .vmmc1 = &beagle_vmmc1, - .vsim = &beagle_vsim, + .vmmc1 = &twl4030_vmmc1_data, + .vsim = &twl4030_vsim_data, .vdac = &beagle_vdac, .vpll2 = &beagle_vpll2, }; diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index d6bc88c..61fb896 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c @@ -46,6 +46,7 @@ #include "mux.h" #include "sdram-micron-mt46h32m32lf-6.h" #include "hsmmc.h" +#include "twl4030-pmic.h" #define OMAP3_EVM_TS_GPIO 175 #define OMAP3_EVM_EHCI_VBUS 22 @@ -329,44 +330,6 @@ static struct platform_device omap3_evm_dss_device = { }, }; -static struct regulator_consumer_supply omap3evm_vmmc1_supply = { - .supply = "vmmc", -}; - -static struct regulator_consumer_supply omap3evm_vsim_supply = { - .supply = "vmmc_aux", -}; - -/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ -static struct regulator_init_data omap3evm_vmmc1 = { - .constraints = { - .min_uV = 1850000, - .max_uV = 3150000, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE - | REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &omap3evm_vmmc1_supply, -}; - -/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */ -static struct regulator_init_data omap3evm_vsim = { - .constraints = { - .min_uV = 1800000, - .max_uV = 3000000, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE - | REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &omap3evm_vsim_supply, -}; - static struct omap2_hsmmc_info mmc[] = { { .mmc = 1, @@ -410,8 +373,8 @@ static int omap3evm_twl_gpio_setup(struct device *dev, omap2_hsmmc_init(mmc); /* link regulators to MMC adapters */ - omap3evm_vmmc1_supply.dev = mmc[0].dev; - omap3evm_vsim_supply.dev = mmc[0].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; + twl4030_vsim_supply.dev = mmc[0].dev; /* * Most GPIOs are for USB OTG. Some are mostly sent to @@ -563,8 +526,8 @@ static int __init omap3_evm_i2c_init(void) * REVISIT: These entries can be set in omap3evm_twl_data * after a merge with MFD tree */ - omap3evm_twldata.vmmc1 = &omap3evm_vmmc1; - omap3evm_twldata.vsim = &omap3evm_vsim; + omap3evm_twldata.vmmc1 = &twl4030_vmmc1_data; + omap3evm_twldata.vsim = &twl4030_vsim_data; omap_register_i2c_bus(1, 2600, omap3evm_i2c_boardinfo, ARRAY_SIZE(omap3evm_i2c_boardinfo)); diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c index 3943d0f..2388198 100644 --- a/arch/arm/mach-omap2/board-omap3touchbook.c +++ b/arch/arm/mach-omap2/board-omap3touchbook.c @@ -51,6 +51,7 @@ #include "mux.h" #include "hsmmc.h" +#include "twl4030-pmic.h" #include @@ -140,14 +141,6 @@ static struct omap_lcd_config omap3_touchbook_lcd_config __initdata = { .ctrl_name = "internal", }; -static struct regulator_consumer_supply touchbook_vmmc1_supply = { - .supply = "vmmc", -}; - -static struct regulator_consumer_supply touchbook_vsim_supply = { - .supply = "vmmc_aux", -}; - static struct gpio_led gpio_leds[]; static int touchbook_twl_gpio_setup(struct device *dev, @@ -164,8 +157,8 @@ static int touchbook_twl_gpio_setup(struct device *dev, omap2_hsmmc_init(mmc); /* link regulators to MMC adapters */ - touchbook_vmmc1_supply.dev = mmc[0].dev; - touchbook_vsim_supply.dev = mmc[0].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; + twl4030_vsim_supply.dev = mmc[0].dev; /* REVISIT: need ehci-omap hooks for external VBUS * power switch and overcurrent detect @@ -205,36 +198,6 @@ static struct regulator_consumer_supply touchbook_vdvi_supply = { .dev = &omap3_touchbook_lcd_device.dev, }; -/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ -static struct regulator_init_data touchbook_vmmc1 = { - .constraints = { - .min_uV = 1850000, - .max_uV = 3150000, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE - | REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &touchbook_vmmc1_supply, -}; - -/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */ -static struct regulator_init_data touchbook_vsim = { - .constraints = { - .min_uV = 1800000, - .max_uV = 3000000, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE - | REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &touchbook_vsim_supply, -}; - /* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ static struct regulator_init_data touchbook_vdac = { .constraints = { @@ -285,8 +248,8 @@ static struct twl4030_platform_data touchbook_twldata = { .usb = &touchbook_usb_data, .gpio = &touchbook_gpio_data, .codec = &touchbook_codec_data, - .vmmc1 = &touchbook_vmmc1, - .vsim = &touchbook_vsim, + .vmmc1 = &twl4030_vmmc1_data, + .vsim = &twl4030_vsim_data, .vdac = &touchbook_vdac, .vpll2 = &touchbook_vpll2, }; diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index 50872a4..4707695 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c @@ -49,6 +49,7 @@ #include "mux.h" #include "sdram-micron-mt46h32m32lf-6.h" #include "hsmmc.h" +#include "twl4030-pmic.h" #define OVERO_GPIO_BT_XGATE 15 #define OVERO_GPIO_W2W_NRESET 16 @@ -290,16 +291,12 @@ static struct omap2_hsmmc_info mmc[] = { {} /* Terminator */ }; -static struct regulator_consumer_supply overo_vmmc1_supply = { - .supply = "vmmc", -}; - static int overo_twl_gpio_setup(struct device *dev, unsigned gpio, unsigned ngpio) { omap2_hsmmc_init(mmc); - overo_vmmc1_supply.dev = mmc[0].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; return 0; } @@ -315,20 +312,6 @@ static struct twl4030_usb_data overo_usb_data = { .usb_mode = T2_USB_MODE_ULPI, }; -static struct regulator_init_data overo_vmmc1 = { - .constraints = { - .min_uV = 1850000, - .max_uV = 3150000, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE - | REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &overo_vmmc1_supply, -}; - static struct twl4030_codec_audio_data overo_audio_data = { .audio_mclk = 26000000, }; @@ -346,7 +329,7 @@ static struct twl4030_platform_data overo_twldata = { .gpio = &overo_gpio_data, .usb = &overo_usb_data, .codec = &overo_codec_data, - .vmmc1 = &overo_vmmc1, + .vmmc1 = &twl4030_vmmc1_data, }; static struct i2c_board_info __initdata overo_i2c_boardinfo[] = { diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c index ca95d8d..3796a92 100755 --- a/arch/arm/mach-omap2/board-zoom-peripherals.c +++ b/arch/arm/mach-omap2/board-zoom-peripherals.c @@ -26,6 +26,7 @@ #include "mux.h" #include "hsmmc.h" +#include "twl4030-pmic.h" /* Zoom2 has Qwerty keyboard*/ static int board_keymap[] = { @@ -94,63 +95,6 @@ static struct twl4030_keypad_data zoom_kp_twl4030_data = { .rep = 1, }; -static struct regulator_consumer_supply zoom_vmmc1_supply = { - .supply = "vmmc", -}; - -static struct regulator_consumer_supply zoom_vsim_supply = { - .supply = "vmmc_aux", -}; - -static struct regulator_consumer_supply zoom_vmmc2_supply = { - .supply = "vmmc", -}; - -/* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */ -static struct regulator_init_data zoom_vmmc1 = { - .constraints = { - .min_uV = 1850000, - .max_uV = 3150000, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE - | REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &zoom_vmmc1_supply, -}; - -/* VMMC2 for MMC2 card */ -static struct regulator_init_data zoom_vmmc2 = { - .constraints = { - .min_uV = 1850000, - .max_uV = 1850000, - .apply_uV = true, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &zoom_vmmc2_supply, -}; - -/* VSIM for OMAP VDD_MMC1A (i/o for DAT4..DAT7) */ -static struct regulator_init_data zoom_vsim = { - .constraints = { - .min_uV = 1800000, - .max_uV = 3000000, - .valid_modes_mask = REGULATOR_MODE_NORMAL - | REGULATOR_MODE_STANDBY, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE - | REGULATOR_CHANGE_MODE - | REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = 1, - .consumer_supplies = &zoom_vsim_supply, -}; - static struct omap2_hsmmc_info mmc[] __initdata = { { .name = "external", @@ -181,9 +125,9 @@ static int zoom_twl_gpio_setup(struct device *dev, /* link regulators to MMC adapters ... we "know" the * regulators will be set up only *after* we return. */ - zoom_vmmc1_supply.dev = mmc[0].dev; - zoom_vsim_supply.dev = mmc[0].dev; - zoom_vmmc2_supply.dev = mmc[1].dev; + twl4030_vmmc1_supply.dev = mmc[0].dev; + twl4030_vsim_supply.dev = mmc[0].dev; + twl4030_vmmc2_supply.dev = mmc[1].dev; return 0; } @@ -240,10 +184,9 @@ static struct twl4030_platform_data zoom_twldata = { .gpio = &zoom_gpio_data, .keypad = &zoom_kp_twl4030_data, .codec = &zoom_codec_data, - .vmmc1 = &zoom_vmmc1, - .vmmc2 = &zoom_vmmc2, - .vsim = &zoom_vsim, - + .vmmc1 = &twl4030_vmmc1_data, + .vmmc2 = &twl4030_vmmc2_data, + .vsim = &twl4030_vsim_data, }; static struct i2c_board_info __initdata zoom_i2c_boardinfo[] = {