
Hi Tom,
Am Montag, 4. Februar 2013, 16:48:55 schrieb Tom Warren:
tegra_mmc_init() now uses DT info for bus width, WP/CD GPIOs, etc. Tested on Seaboard, fully functional.
Signed-off-by: Tom Warren twarren@nvidia.com
arch/arm/include/asm/arch-tegra/mmc.h | 2 +- arch/arm/include/asm/arch-tegra/tegra_mmc.h | 12 +- board/avionic-design/common/tamonten.c | 4 +- board/compal/paz00/paz00.c | 14 +- board/compulab/trimslice/trimslice.c | 10 +- board/nvidia/harmony/harmony.c | 12 +- board/nvidia/seaboard/seaboard.c | 14 +- board/nvidia/whistler/whistler.c | 4 +- board/toradex/colibri_t20_iris/colibri_t20_iris.c | 2 +- drivers/mmc/tegra_mmc.c | 186 ++++++++++++++------- include/fdtdec.h | 1 + lib/fdtdec.c | 1 + 12 files changed, 165 insertions(+), 97 deletions(-)
[...]
diff --git a/board/compal/paz00/paz00.c b/board/compal/paz00/paz00.c index 1447f47..5cee91a 100644 --- a/board/compal/paz00/paz00.c +++ b/board/compal/paz00/paz00.c @@ -55,18 +55,18 @@ static void pin_mux_mmc(void) /* this is a weak define that we are overriding */ int board_mmc_init(bd_t *bd) {
- debug("board_mmc_init called\n");
debug("%s called\n", __func__);
/* Enable muxes, etc. for SDMMC controllers */ pin_mux_mmc();
- debug("board_mmc_init: init eMMC\n");
- /* init dev 0, eMMC chip, with 8-bit bus */
- tegra_mmc_init(0, 8, -1, -1);
- debug("%s: init eMMC\n", __func__);
- /* init dev 0, eMMC chip */
- tegra_mmc_init(0);
This looks wrong because the sd is on sdmmc0
- debug("board_mmc_init: init SD slot\n");
- /* init dev 3, SD slot, with 4-bit bus */
- tegra_mmc_init(3, 4, GPIO_PV1, GPIO_PV5);
- debug("%s: init SD slot\n", __func__);
- /* init dev 3, SD slot */
- tegra_mmc_init(3);
and the emmc on sdmmc3. The DTS is correct.
Not your fault as it seems to be wrong in the original code already. I guess it didn't made large difference but may in the future. I wonder how to test this though.
Marc