[U-Boot] [PATCH V2 01/13] mmc: tegra: support Tegra124

Pantelis Antoniou panto at antoniou-consulting.com
Fri Jan 24 14:56:22 CET 2014


Hi Stephen,

Looks fine to me..

On Jan 24, 2014, at 2:42 AM, Stephen Warren wrote:

> From: Stephen Warren <swarren at nvidia.com>
> 
> Tegra124's MMC controller is very similar to earlier SoC generations,
> and can be supported by the same driver.
> 
> However, there are some non-backwards-compatible HW differences, and
> hence a new DT compatible value must be used to describe the HW. This
> patch updates the driver to support that new compatible value.
> 
> That said, the HW differences are only relevant when enabling certain
> high-performance transfer modes. Since the driver is currently very
> simple and doesn't enable those modes, we don't actually need to address
> any of these HW differences in the code yet, hence the simple nature of
> this patch.
> 
> Cc: Pantelis Antoniou <panto at antoniou-consulting.com>
> Signed-off-by: Stephen Warren <swarren at nvidia.com>
> ---
> v2: New patch.
> 
> This patch is needed for MMC support on Tegra124 at run-time, but not
> strictly required at compile-time. So, it can either go into the MMC
> tree and all get merged together in the main U-Boot repo, or the MMC
> maintainer can ack it to go through the Tegra tree with the rest of
> the changes.
> ---
> drivers/mmc/tegra_mmc.c | 9 +++++++++
> include/fdtdec.h        | 1 +
> lib/fdtdec.c            | 1 +
> 3 files changed, 11 insertions(+)
> 
> diff --git a/drivers/mmc/tegra_mmc.c b/drivers/mmc/tegra_mmc.c
> index e1817e24f6d4..3d1ce1263c82 100644
> --- a/drivers/mmc/tegra_mmc.c
> +++ b/drivers/mmc/tegra_mmc.c
> @@ -668,6 +668,15 @@ void tegra_mmc_init(void)
> 	const void *blob = gd->fdt_blob;
> 	debug("%s entry\n", __func__);
> 
> +	/* See if any Tegra124 MMC controllers are present */
> +	count = fdtdec_find_aliases_for_id(blob, "sdhci",
> +		COMPAT_NVIDIA_TEGRA124_SDMMC, node_list, MAX_HOSTS);
> +	debug("%s: count of Tegra124 sdhci nodes is %d\n", __func__, count);
> +	if (process_nodes(blob, node_list, count)) {
> +		printf("%s: Error processing T30 mmc node(s)!\n", __func__);
> +		return;
> +	}
> +
> 	/* See if any Tegra30 MMC controllers are present */
> 	count = fdtdec_find_aliases_for_id(blob, "sdhci",
> 		COMPAT_NVIDIA_TEGRA30_SDMMC, node_list, MAX_HOSTS);
> diff --git a/include/fdtdec.h b/include/fdtdec.h
> index 433d6a7c0256..19bab7944817 100644
> --- a/include/fdtdec.h
> +++ b/include/fdtdec.h
> @@ -59,6 +59,7 @@ enum fdt_compat_id {
> 	COMPAT_NVIDIA_TEGRA20_NAND,	/* Tegra2 NAND controller */
> 	COMPAT_NVIDIA_TEGRA20_PWM,	/* Tegra 2 PWM controller */
> 	COMPAT_NVIDIA_TEGRA20_DC,	/* Tegra 2 Display controller */
> +	COMPAT_NVIDIA_TEGRA124_SDMMC,	/* Tegra124 SDMMC controller */
> 	COMPAT_NVIDIA_TEGRA30_SDMMC,	/* Tegra30 SDMMC controller */
> 	COMPAT_NVIDIA_TEGRA20_SDMMC,	/* Tegra20 SDMMC controller */
> 	COMPAT_NVIDIA_TEGRA20_SFLASH,	/* Tegra 2 SPI flash controller */
> diff --git a/lib/fdtdec.c b/lib/fdtdec.c
> index 207314fa72fb..1fecab3fbc30 100644
> --- a/lib/fdtdec.c
> +++ b/lib/fdtdec.c
> @@ -32,6 +32,7 @@ static const char * const compat_names[COMPAT_COUNT] = {
> 	COMPAT(NVIDIA_TEGRA20_NAND, "nvidia,tegra20-nand"),
> 	COMPAT(NVIDIA_TEGRA20_PWM, "nvidia,tegra20-pwm"),
> 	COMPAT(NVIDIA_TEGRA20_DC, "nvidia,tegra20-dc"),
> +	COMPAT(NVIDIA_TEGRA124_SDMMC, "nvidia,tegra124-sdhci"),
> 	COMPAT(NVIDIA_TEGRA30_SDMMC, "nvidia,tegra30-sdhci"),
> 	COMPAT(NVIDIA_TEGRA20_SDMMC, "nvidia,tegra20-sdhci"),
> 	COMPAT(NVIDIA_TEGRA20_SFLASH, "nvidia,tegra20-sflash"),
> -- 
> 1.8.1.5
> 

Acked-by: Pantelis Antoniou <panto at antoniou-consulting.com>



More information about the U-Boot mailing list