diff options
author | mokopatches <mokopatches@openmoko.org> | 2008-11-19 17:03:14 +0000 |
---|---|---|
committer | warmcat <andy@warmcat.com> | 2008-11-19 17:03:14 +0000 |
commit | 6ee27681c8bbeb331bfffabfe227e0f8a4f35cb1 (patch) | |
tree | 105ec60385c4a5db5905a7ff181d4fd6eabc174f /drivers/mfd/glamo/glamo-core.c | |
parent | 66dc9f9d0164aee9df0a637f01e8d88bbf3d893f (diff) |
glamo-mmc.patch
Diffstat (limited to 'drivers/mfd/glamo/glamo-core.c')
-rw-r--r-- | drivers/mfd/glamo/glamo-core.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/mfd/glamo/glamo-core.c b/drivers/mfd/glamo/glamo-core.c index acf545fbdb6..8497de281c1 100644 --- a/drivers/mfd/glamo/glamo-core.c +++ b/drivers/mfd/glamo/glamo-core.c @@ -440,7 +440,22 @@ int glamo_engine_disable(struct glamo_core *glamo, enum glamo_engine engine) { spin_lock(&glamo->lock); switch (engine) { - /* FIXME: Implementation */ + case GLAMO_ENGINE_MMC: + __reg_set_bit_mask(glamo, GLAMO_REG_CLOCK_MMC, 0, + GLAMO_CLOCK_MMC_EN_M9CLK | + GLAMO_CLOCK_MMC_EN_TCLK | + GLAMO_CLOCK_MMC_DG_M9CLK | + GLAMO_CLOCK_MMC_DG_TCLK); + __reg_set_bit_mask(glamo, GLAMO_REG_HOSTBUS(2), 0, + GLAMO_HOSTBUS2_MMIO_EN_MMC); + /* disable the TCLK divider clk input */ + __reg_set_bit_mask(glamo, GLAMO_REG_CLOCK_GEN5_1, 0, + GLAMO_CLOCK_GEN51_EN_DIV_TCLK); + /* good idea to hold the thing in reset when we power it off? */ +/* writew(readw(glamo->base + GLAMO_REG_CLOCK_MMC) | + GLAMO_CLOCK_MMC_RESET, glamo->base + GLAMO_REG_CLOCK_MMC); +*/ + break; default: break; } |