[U-Boot] [PATCH 2/2] mmc: sunxi: run calibration on A64

Maxime Ripard maxime.ripard at bootlin.com
Wed May 2 12:09:19 UTC 2018


On Sat, Apr 28, 2018 at 02:16:28PM -0700, Vasily Khoruzhick wrote:
> Along with using new mode it fixes eMMC instability on Pinebook
> 
> Signed-off-by: Vasily Khoruzhick <anarsoul at gmail.com>
> ---
>  arch/arm/include/asm/arch-sunxi/mmc.h | 6 +++++-
>  drivers/mmc/sunxi_mmc.c               | 6 ++++++
>  2 files changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/include/asm/arch-sunxi/mmc.h b/arch/arm/include/asm/arch-sunxi/mmc.h
> index 69f737f3bf..8575b393e5 100644
> --- a/arch/arm/include/asm/arch-sunxi/mmc.h
> +++ b/arch/arm/include/asm/arch-sunxi/mmc.h
> @@ -47,7 +47,9 @@ struct sunxi_mmc {
>  	u32 cbda;		/* 0x94 */
>  	u32 res2[26];
>  #ifdef CONFIG_SUNXI_GEN_SUN6I
> -	u32 res3[64];
> +	u32 res3[17];
> +	u32 samp_dl;
> +	u32 res4[46];
>  #endif
>  	u32 fifo;		/* 0x100 / 0x200 FIFO access address */
>  };
> @@ -131,5 +133,7 @@ struct sunxi_mmc {
>  #define SUNXI_MMC_COMMON_CLK_GATE		(1 << 16)
>  #define SUNXI_MMC_COMMON_RESET			(1 << 18)
>  
> +#define SUNXI_MMC_CAL_DL_SW_EN		(0x1 << 7)
> +
>  struct mmc *sunxi_mmc_init(int sdc_no);
>  #endif /* _SUNXI_MMC_H */
> diff --git a/drivers/mmc/sunxi_mmc.c b/drivers/mmc/sunxi_mmc.c
> index 06b0fd491c..9e7c42c571 100644
> --- a/drivers/mmc/sunxi_mmc.c
> +++ b/drivers/mmc/sunxi_mmc.c
> @@ -227,6 +227,12 @@ static int mmc_config_clock(struct sunxi_mmc_priv *priv, struct mmc *mmc)
>  	rval &= ~SUNXI_MMC_CLK_DIVIDER_MASK;
>  	writel(rval, &priv->reg->clkcr);
>  
> +#ifdef CONFIG_MACH_SUN50I
> +	/* Run calibration on A64 */

I guess we could improve the comment here. This is needed only on the
A64 eMMC controller, and we have to have a delay of zero before
starting the calibration. The Allwinner BSP sets a delay only in the
case of using in HS400, that is not supported in U-Boot (or Linux, for
that matter).

Maxime

-- 
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180502/acb153bf/attachment.sig>


More information about the U-Boot mailing list