From fccc0fcaaae5154612f8259365d26d04f204859f Mon Sep 17 00:00:00 2001 From: Tom Rix Date: Sun, 28 Jun 2009 12:52:31 -0500 Subject: OMAP3 Move twl4030 mmc function Because twl4030 now has its own device files, move and rename twl4030_mmc_config. twl4030_mmc_config initializes the twl4030 power setting to the mmc device. Because it is in the twl4030 power domain, move it out of drivers/mmc/omap3_mmc.c and into drivers/power/twl4030.c. The function was renamed to twl4030_power_mmc_init because all the functions in this file are to have the format twl4030_power__ In this case the suffix is mmc_init so device : mmc action : init Signed-off-by: Tom Rix Acked-by: Jean-Christophe PLAGNIOL-VILLARD Acked-by: Heiko Schocher --- drivers/mmc/omap3_mmc.c | 13 ++----------- drivers/power/twl4030.c | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 11 deletions(-) (limited to 'drivers') diff --git a/drivers/mmc/omap3_mmc.c b/drivers/mmc/omap3_mmc.c index e90db7e..9e09434 100644 --- a/drivers/mmc/omap3_mmc.c +++ b/drivers/mmc/omap3_mmc.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -58,21 +59,11 @@ block_dev_desc_t *mmc_get_dev(int dev) return (block_dev_desc_t *) &mmc_blk_dev; } -void twl4030_mmc_config(void) -{ - unsigned char data; - - data = DEV_GRP_P1; - i2c_write(PWRMGT_ADDR_ID4, VMMC1_DEV_GRP, 1, &data, 1); - data = VMMC1_VSEL_30; - i2c_write(PWRMGT_ADDR_ID4, VMMC1_DEDICATED, 1, &data, 1); -} - unsigned char mmc_board_init(void) { t2_t *t2_base = (t2_t *)T2_BASE; - twl4030_mmc_config(); + twl4030_power_mmc_init(); writel(readl(&t2_base->pbias_lite) | PBIASLITEPWRDNZ1 | PBIASSPEEDCTRL0 | PBIASLITEPWRDNZ0, diff --git a/drivers/power/twl4030.c b/drivers/power/twl4030.c index c93b51f..eb066cb 100644 --- a/drivers/power/twl4030.c +++ b/drivers/power/twl4030.c @@ -98,3 +98,18 @@ void twl4030_power_init(void) TWL4030_PM_RECEIVER_VDAC_DEDICATED); } +#define VMMC1_VSEL_30 0x02 + +void twl4030_power_mmc_init(void) +{ + unsigned char byte; + + byte = DEV_GRP_P1; + twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, byte, + TWL4030_PM_RECEIVER_VMMC1_DEV_GRP); + + /* 3 Volts */ + byte = VMMC1_VSEL_30; + twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, byte, + TWL4030_PM_RECEIVER_VMMC1_DEDICATED); +} -- cgit v1.1