diff options
| -rw-r--r-- | drivers/mmc/omap3_mmc.c | 13 | ||||
| -rw-r--r-- | drivers/power/twl4030.c | 15 | ||||
| -rw-r--r-- | include/configs/omap3_evm.h | 5 | ||||
| -rw-r--r-- | include/twl4030.h | 3 | 
4 files changed, 25 insertions, 11 deletions
| diff --git a/drivers/mmc/omap3_mmc.c b/drivers/mmc/omap3_mmc.c index e90db7ee3..9e09434c1 100644 --- a/drivers/mmc/omap3_mmc.c +++ b/drivers/mmc/omap3_mmc.c @@ -28,6 +28,7 @@  #include <mmc.h>  #include <part.h>  #include <i2c.h> +#include <twl4030.h>  #include <asm/io.h>  #include <asm/arch/mmc.h> @@ -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 c93b51f69..eb066cb58 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); +} diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h index 3d9d72caf..809198b0f 100644 --- a/include/configs/omap3_evm.h +++ b/include/configs/omap3_evm.h @@ -128,6 +128,11 @@  #define CONFIG_DRIVER_OMAP34XX_I2C	1  /* + * TWL4030 + */ +#define CONFIG_TWL4030_POWER		1 + +/*   * Board NAND Info.   */  #define CONFIG_SYS_NAND_ADDR		NAND_BASE	/* physical address */ diff --git a/include/twl4030.h b/include/twl4030.h index eb27ec5b2..f260ecb8b 100644 --- a/include/twl4030.h +++ b/include/twl4030.h @@ -390,6 +390,9 @@ static inline int twl4030_i2c_read_u8(u8 chip_no, u8 *val, u8 reg)  void twl4030_power_reset_init(void);  /* For initializing power device */  void twl4030_power_init(void); +/* For initializing mmc power */ +void twl4030_power_mmc_init(void); +  /*   * LED   */ |