
Stephen,
On Tue, Mar 12, 2013 at 10:54 AM, Stephen Warren swarren@wwwdotorg.org wrote:
On 03/12/2013 10:17 AM, Tom Warren wrote:
T114 requires SD bus power-rail bringup for the SDIO card on SDMMC3.
diff --git a/board/nvidia/dalmore/dalmore.c b/board/nvidia/dalmore/dalmore.c
+#if defined(CONFIG_TEGRA_MMC)
It always is for Dalmore, right?
Yep, but I always like to provide the means to disable a feature (whether it be SPI, or MMC, or USB) so you can build a stripped-down or de-featured version for testing. Having said that, I haven't tested lately whether T114 (or T20 or T30) will build OK w/MMC undefined/removed.
+void board_sdmmc_voltage_init(void)
/* TPS65913: LDO9_VOLTAGE = 3.3V */
data_buffer[0] = 0x31;
reg = 0x61;
for (i = 0; i < MAX_I2C_RETRY; ++i) {
ret = i2c_write(PMU_I2C_ADDRESS, reg, 1, data_buffer, 1);
if (ret) {
udelay(100);
printf("%s: PMU i2c_write %02X<-%02X returned %d\n",
__func__, reg, data_buffer[0], ret);
}
}
Is there actually a need to retry these transactions; is there any evidence they're expected to fail? Hopefully the HW isn't flaky like that.
This is how it was done in the original internal U-Boot code I got the I2C writes from (also done this way on T30). I did add the printf error writes, though, when I was having a PWR_I2C/I2C5/dev 0 problem. I think Whistler does something similar.
AFAIK, the kernel driver for the PMIC doesn't retry these if they fail. Hopefully it doesn't need to start doing so.