[U-Boot] [PATCH] fsl_esdhc: Fix esdhc disabled problem on some platforms

Anton Vorontsov avorontsov at mvista.com
Tue Dec 28 16:54:27 CET 2010


On Tue, Dec 28, 2010 at 02:40:30PM +0800, Chenhui Zhao wrote:
> Some platform's esdhc pins don't share with other function.
> The eSDHC shouldn't be disabled, even if "esdhc" isn't defined
> in hwconfig env variable.
> 
> Use CONFIG_FSL_ESDHC_PIN_MUX to fix this problem.
> 
> The problem was introduced by this commit:

I would not say 'the problem was introduced'. ;-) Back in 2009
all platforms w/ eSDHC were using muxed eSDHC pins, so disabling
eSDHC was a sane choice.

Anyway, the patch looks mostly OK. One comment below though.

> commit b33433a63fe08c9e723ea15a7c7c7143bf527c6d
> Author: Anton Vorontsov <avorontsov at ru.mvista.com>
> Date:   Wed Jun 10 00:25:29 2009 +0400
> 
>     fsl_esdhc: Add device tree fixups
> 
> Signed-off-by: Chenhui Zhao <b26998 at freescale.com>
> Signed-off-by: Li Yang <leoli at freescale.com>
> ---
>  drivers/mmc/fsl_esdhc.c       |    2 ++
>  include/configs/MPC837XEMDS.h |    1 +
>  include/configs/MPC837XERDB.h |    1 +
>  include/configs/MPC8569MDS.h  |    1 +
>  4 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c
> index cd78714..4c8caa9 100644
> --- a/drivers/mmc/fsl_esdhc.c
> +++ b/drivers/mmc/fsl_esdhc.c
> @@ -527,10 +527,12 @@ void fdt_fixup_esdhc(void *blob, bd_t *bd)
>  	const char *compat = "fsl,esdhc";
>  	const char *status = "okay";
>  
> +#ifdef CONFIG_FSL_ESDHC_PIN_MUX
>  	if (!hwconfig("esdhc")) {
>  		status = "disabled";
>  		goto out;

Wouldn't gcc complain about unused "out" label?

>  	}
> +#endif
>  
>  	do_fixup_by_compat_u32(blob, compat, "clock-frequency",
>  			       gd->sdhc_clk, 1);

Thanks,

-- 
Anton Vorontsov
Email: cbouatmailru at gmail.com


More information about the U-Boot mailing list