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

Lucas Stach dev at lynxeye.de
Mon Feb 11 18:33:52 CET 2013


Am Montag, den 11.02.2013, 10:17 -0700 schrieb Tom Warren:
> tegra_mmc_init() now parses the DT info for bus width, WP/CD GPIOs, etc.
> Tested on Seaboard, fully functional.
> 
> Tamonten boards (medcom-wide, plutux, and tec) use a different/new
> dtsi file w/common settings.
> 
> Signed-off-by: Tom Warren <twarren at nvidia.com>
> ---
> v2:
> - all boards now call tegra_mmc_init once, w/no params
> - count MMC controllers, not aliases
> - AD boards (medcom/plutux/tec) use common tegra20-tamonten.dtsi
> 
>  arch/arm/include/asm/arch-tegra/mmc.h             |    2 +-
>  arch/arm/include/asm/arch-tegra/tegra_mmc.h       |   13 +-
>  board/avionic-design/common/tamonten.c            |    4 +-
>  board/compal/paz00/paz00.c                        |   11 +-
>  board/compulab/trimslice/trimslice.c              |    9 +-
>  board/nvidia/harmony/harmony.c                    |   11 +-
>  board/nvidia/seaboard/seaboard.c                  |   11 +-
>  board/nvidia/whistler/whistler.c                  |    7 +-
>  board/toradex/colibri_t20_iris/colibri_t20_iris.c |    2 +-
>  drivers/mmc/tegra_mmc.c                           |  259 +++++++++++++--------
>  include/configs/medcom-wide.h                     |    2 +
>  include/configs/plutux.h                          |    2 +
>  include/configs/tec.h                             |    2 +
>  include/fdtdec.h                                  |    1 +
>  lib/fdtdec.c                                      |    1 +
>  15 files changed, 197 insertions(+), 140 deletions(-)
> 
[...]
> diff --git a/board/nvidia/harmony/harmony.c b/board/nvidia/harmony/harmony.c
> index 93430ed..fba06c2 100644
> --- a/board/nvidia/harmony/harmony.c
> +++ b/board/nvidia/harmony/harmony.c
> @@ -58,18 +58,13 @@ 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 SD slot J26\n");
> -	/* init dev 0, SD slot J26, with 8-bit bus */
> -	tegra_mmc_init(0, 8, GPIO_PI6, GPIO_PH2);
> -
> -	debug("board_mmc_init: init SD slot J5\n");
> -	/* init dev 2, SD slot J5, with 4-bit bus */
> -	tegra_mmc_init(2, 4, GPIO_PT3, GPIO_PI5);
> +	debug("%s: init MMC devs\n", __func__);
> +	tegra_mmc_init();
>  
tegra_mmc_init should not be called from every individual board file,
but from the common nvidia tegra board file. Only the pinmux should stay
in the individual board code, same thing as was done to all the other
functions like NAND and USB.
>  	return 0;
>  }
[...]

Regards,
Lucas



More information about the U-Boot mailing list