[U-Boot] [PATCH 2/2] Tegra: MMC: Add DT support to MMC driver forall T20 boards

Marc Dietrich marvin24 at gmx.de
Tue Feb 5 10:28:54 CET 2013


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 at 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




More information about the U-Boot mailing list