]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/meta-ti-glsdk.git/blob - recipes-kernel/linux/linux-omap-psp-2.6.32/0025-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch
netbase: automatically bring up usb0 on BeagleBoard xM
[glsdk/meta-ti-glsdk.git] / recipes-kernel / linux / linux-omap-psp-2.6.32 / 0025-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch
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
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(-)
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