diff options
Diffstat (limited to 'recipes/kexecboot/linux-kexecboot-2.6.29/0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch')
-rw-r--r-- | recipes/kexecboot/linux-kexecboot-2.6.29/0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/recipes/kexecboot/linux-kexecboot-2.6.29/0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch b/recipes/kexecboot/linux-kexecboot-2.6.29/0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch new file mode 100644 index 0000000000..49045f7bb1 --- /dev/null +++ b/recipes/kexecboot/linux-kexecboot-2.6.29/0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch @@ -0,0 +1,90 @@ +From 7efa7cc5b807cb840c62b5bf54bf47181c9b95a6 Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@openembedded.org> +Date: Mon, 30 Mar 2009 15:21:37 +0200 +Subject: [PATCH v2] ARM: OMAP: board-ldp: add regulator info to get the microSD slot working again + +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 + +Changes since v1: + * dropped vsim portion since only 4 pins are hooked up + +Signed-off-by: Koen Kooi <koen@beagleboard.org> +--- + arch/arm/mach-omap2/board-ldp.c | 32 ++++++++++++++++++++++++++++++++ + 1 files changed, 32 insertions(+), 0 deletions(-) + +diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c +index 30926b0..19a5c15 100644 +--- a/arch/arm/mach-omap2/board-ldp.c ++++ b/arch/arm/mach-omap2/board-ldp.c +@@ -22,6 +22,7 @@ + #include <linux/clk.h> + #include <linux/spi/spi.h> + #include <linux/spi/ads7846.h> ++#include <linux/regulator/machine.h> + #include <linux/i2c/twl4030.h> + + #include <mach/hardware.h> +@@ -450,7 +451,16 @@ 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, }, ++ { 0, }, ++}; ++ + static struct twl4030_power_data sdp3430_t2scripts_data __initdata = { ++ .resource_config = ldp_resconfig, + .scripts = twl4030_scripts, + .size = ARRAY_SIZE(twl4030_scripts), + }; +@@ -474,6 +484,25 @@ 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, +@@ -483,6 +512,7 @@ static struct twl4030_platform_data ldp_twldata = { + .madc = &ldp_madc_data, + .usb = &ldp_usb_data, + .power = &sdp3430_t2scripts_data, ++ .vmmc1 = &ldp_vmmc1, + .gpio = &ldp_gpio_data, + .keypad = &ldp_kp_twl4030_data, + }; +@@ -530,6 +560,8 @@ 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; + } + + static void __init omap_ldp_map_io(void) +-- +1.6.2 + |