From patchwork Mon Mar 30 13:25:07 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Koen Kooi X-Patchwork-Id: 15132 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n2UDpABA002734 for ; Mon, 30 Mar 2009 13:51:11 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750873AbZC3NvK (ORCPT ); Mon, 30 Mar 2009 09:51:10 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751036AbZC3NvK (ORCPT ); Mon, 30 Mar 2009 09:51:10 -0400 Received: from [80.81.242.146] ([80.81.242.146]:55502 "EHLO amethyst.openembedded.net" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1750873AbZC3NvJ (ORCPT ); Mon, 30 Mar 2009 09:51:09 -0400 X-Greylist: delayed 1695 seconds by postgrey-1.27 at vger.kernel.org; Mon, 30 Mar 2009 09:51:09 EDT Received: by amethyst.openembedded.net (Postfix, from userid 1002) id F189F189510; Mon, 30 Mar 2009 15:25:07 +0200 (CEST) From: Koen Kooi To: linux-omap@vger.kernel.org Cc: Koen Kooi Subject: [PATCH] ARM: OMAP: board-ldp: add regulator info to get the microSD slot working again Date: Mon, 30 Mar 2009 15:25:07 +0200 Message-Id: <1238419507-14812-1-git-send-email-koen@beagleboard.org> X-Mailer: git-send-email 1.6.2 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org The ldp board was left behind when other boards got updated. The ldp info was copied from the beagleboard board file and s/beagle/ldp/g Signed-off-by: Koen Kooi --- arch/arm/mach-omap2/board-ldp.c | 55 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 55 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index 30926b0..faf62f8 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -450,7 +451,17 @@ static struct twl4030_script *twl4030_scripts[] __initdata = { &wrst_script, }; +static const struct twl4030_resconfig ldp_resconfig[] = { + /* disable regulators that u-boot left enabled; the + * devices' drivers should be managing these. + */ + { .resource = RES_VMMC1, }, + { .resource = RES_VSIM, }, + { 0, }, +}; + static struct twl4030_power_data sdp3430_t2scripts_data __initdata = { + .resource_config = ldp_resconfig, .scripts = twl4030_scripts, .size = ARRAY_SIZE(twl4030_scripts), }; @@ -474,6 +485,44 @@ static struct twl4030_madc_platform_data ldp_madc_data = { .irq_line = 1, }; +static struct regulator_consumer_supply ldp_vmmc1_supply = { + .supply = "vmmc", +}; + +static struct regulator_consumer_supply ldp_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 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, +}; + +/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */ +static struct regulator_init_data ldp_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 = &ldp_vsim_supply, +}; + static struct twl4030_platform_data ldp_twldata = { .irq_base = TWL4030_IRQ_BASE, .irq_end = TWL4030_IRQ_END, @@ -483,6 +532,8 @@ static struct twl4030_platform_data ldp_twldata = { .madc = &ldp_madc_data, .usb = &ldp_usb_data, .power = &sdp3430_t2scripts_data, + .vmmc1 = &ldp_vmmc1, + .vsim = &ldp_vsim, .gpio = &ldp_gpio_data, .keypad = &ldp_kp_twl4030_data, }; @@ -530,6 +581,10 @@ static void __init omap_ldp_init(void) omap_serial_init(); usb_musb_init(); twl4030_mmc_init(mmc); + /* link regulators to MMC adapters */ + ldp_vmmc1_supply.dev = mmc[0].dev; + ldp_vsim_supply.dev = mmc[0].dev; + } static void __init omap_ldp_map_io(void)