Hi,
On Tue, May 29, 2012 at 05:47:32AM -0700, Tony Lindgren wrote:
* Felipe Balbi [off-list ref] [120529 00:46]:
quoted
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