diff options
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0025-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch')
-rw-r--r-- | extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0025-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0025-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch b/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0025-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch new file mode 100644 index 00000000..78666fb4 --- /dev/null +++ b/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0025-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch | |||
@@ -0,0 +1,47 @@ | |||
1 | From 297f577635fe0182e596112c33b213fd22b4efa7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Steve Sakoman <steve@sakoman.com> | ||
3 | Date: Sun, 24 Jan 2010 09:33:56 -0800 | ||
4 | Subject: [PATCH 25/45] ARM: OMAP2: mmc-twl4030: move clock input selection prior to vcc test | ||
5 | |||
6 | otherwise it is not executed on systems that use non-twl regulators | ||
7 | --- | ||
8 | arch/arm/mach-omap2/mmc-twl4030.c | 16 ++++++++-------- | ||
9 | 1 files changed, 8 insertions(+), 8 deletions(-) | ||
10 | |||
11 | diff --git a/arch/arm/mach-omap2/mmc-twl4030.c b/arch/arm/mach-omap2/mmc-twl4030.c | ||
12 | index 0c3c72d..dbdafb9 100644 | ||
13 | --- a/arch/arm/mach-omap2/mmc-twl4030.c | ||
14 | +++ b/arch/arm/mach-omap2/mmc-twl4030.c | ||
15 | @@ -302,6 +302,14 @@ static int twl_mmc23_set_power(struct device *dev, int slot, int power_on, int v | ||
16 | if (c == NULL) | ||
17 | return -ENODEV; | ||
18 | |||
19 | + if (mmc->slots[0].internal_clock) { | ||
20 | + u32 reg; | ||
21 | + | ||
22 | + reg = omap_ctrl_readl(control_devconf1_offset); | ||
23 | + reg |= OMAP2_MMCSDIO2ADPCLKISEL; | ||
24 | + omap_ctrl_writel(reg, control_devconf1_offset); | ||
25 | + } | ||
26 | + | ||
27 | /* If we don't see a Vcc regulator, assume it's a fixed | ||
28 | * voltage always-on regulator. | ||
29 | */ | ||
30 | @@ -322,14 +330,6 @@ static int twl_mmc23_set_power(struct device *dev, int slot, int power_on, int v | ||
31 | * chips/cards need an interface voltage rail too. | ||
32 | */ | ||
33 | if (power_on) { | ||
34 | - /* only MMC2 supports a CLKIN */ | ||
35 | - if (mmc->slots[0].internal_clock) { | ||
36 | - u32 reg; | ||
37 | - | ||
38 | - reg = omap_ctrl_readl(control_devconf1_offset); | ||
39 | - reg |= OMAP2_MMCSDIO2ADPCLKISEL; | ||
40 | - omap_ctrl_writel(reg, control_devconf1_offset); | ||
41 | - } | ||
42 | ret = mmc_regulator_set_ocr(c->vcc, vdd); | ||
43 | /* enable interface voltage rail, if needed */ | ||
44 | if (ret == 0 && c->vcc_aux) { | ||
45 | -- | ||
46 | 1.6.6.1 | ||
47 | |||