Hi, On Tue, May 29, 2012 at 05:47:32AM -0700, Tony Lindgren wrote: > * Felipe Balbi <balbi@xxxxxx> [120529 00:46]: > > > > Can you enable debugging on menelaus so we see what the driver is doing ? > > > > I believe that to change the VMMC's supply voltage you need to turn off > > the regulator, meaning LDO_CTRL7[1:0] = 0b00. > > Looks like it's some kind of race between the slots that now gets triggered > in the omap driver. > > Commenting out the second slot in the board file fixes things. I tried adding > a mutex to protect the sequence between POWER_UP and POWER_ON, but no luck yet. > > Also adding printk statements here and there makes it work again. does this help ? diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c index 518091c..5a224fc 100644 --- a/arch/arm/mach-omap2/board-n8x0.c +++ b/arch/arm/mach-omap2/board-n8x0.c @@ -397,8 +397,8 @@ static int n8x0_mmc_late_init(struct device *dev) if (r < 0) return r; - n8x0_mmc_set_power(dev, 0, MMC_POWER_ON, 16); /* MMC_VDD_28_29 */ - n8x0_mmc_set_power(dev, 1, MMC_POWER_ON, 16); +// n8x0_mmc_set_power(dev, 0, MMC_POWER_ON, 16); /* MMC_VDD_28_29 */ +// n8x0_mmc_set_power(dev, 1, MMC_POWER_ON, 16); r = menelaus_set_mmc_slot(1, 1, 0, 1); if (r < 0) -- balbi
Attachment:
signature.asc
Description: Digital signature