[U-Boot] [PATCH 1/3] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset.

Przemyslaw Marczak p.marczak at samsung.com
Wed Aug 28 09:11:48 CEST 2013


Hi Minkyu,

 > On s5pc1xx mmc devices offset is multiply of 0x100000,
> wrong value was 0x10000. Register offset always points
> to mmc 0 before this change.
>
> Add macro definition of mmc dev register offset to s5pc1xx and
> exynos mmc.

Could you review this patch, please?

>
> Signed-off-by: Przemyslaw Marczak <p.marczak at samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
> CC: Minkyu Kang <mk7.kang at samsung.com>
> ---
>   arch/arm/include/asm/arch-exynos/mmc.h  |    6 +++++-
>   arch/arm/include/asm/arch-s5pc1xx/mmc.h |    6 +++++-
>   2 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/include/asm/arch-exynos/mmc.h b/arch/arm/include/asm/arch-exynos/mmc.h
> index 96610b8..98312d1 100644
> --- a/arch/arm/include/asm/arch-exynos/mmc.h
> +++ b/arch/arm/include/asm/arch-exynos/mmc.h
> @@ -8,6 +8,8 @@
>   #ifndef __ASM_ARCH_MMC_H_
>   #define __ASM_ARCH_MMC_H_
>
> +#define S5P_MMC_DEV_OFFSET	0x10000
> +
>   #define SDHCI_CONTROL2		0x80
>   #define SDHCI_CONTROL3		0x84
>   #define SDHCI_CONTROL4		0x8C
> @@ -55,7 +57,9 @@ int s5p_sdhci_init(u32 regbase, int index, int bus_width);
>
>   static inline unsigned int s5p_mmc_init(int index, int bus_width)
>   {
> -	unsigned int base = samsung_get_base_mmc() + (0x10000 * index);
> +	unsigned int base = samsung_get_base_mmc() +
> +				(S5P_MMC_DEV_OFFSET * index);
> +
>   	return s5p_sdhci_init(base, index, bus_width);
>   }
>   #endif
> diff --git a/arch/arm/include/asm/arch-s5pc1xx/mmc.h b/arch/arm/include/asm/arch-s5pc1xx/mmc.h
> index 96610b8..55ff10b 100644
> --- a/arch/arm/include/asm/arch-s5pc1xx/mmc.h
> +++ b/arch/arm/include/asm/arch-s5pc1xx/mmc.h
> @@ -8,6 +8,8 @@
>   #ifndef __ASM_ARCH_MMC_H_
>   #define __ASM_ARCH_MMC_H_
>
> +#define S5P_MMC_DEV_OFFSET	0x100000
> +
>   #define SDHCI_CONTROL2		0x80
>   #define SDHCI_CONTROL3		0x84
>   #define SDHCI_CONTROL4		0x8C
> @@ -55,7 +57,9 @@ int s5p_sdhci_init(u32 regbase, int index, int bus_width);
>
>   static inline unsigned int s5p_mmc_init(int index, int bus_width)
>   {
> -	unsigned int base = samsung_get_base_mmc() + (0x10000 * index);
> +	unsigned int base = samsung_get_base_mmc() +
> +				 (S5P_MMC_DEV_OFFSET * index);
> +
>   	return s5p_sdhci_init(base, index, bus_width);
>   }
>   #endif
>


-- 
Best Regards
Przemyslaw Marczak

SRPOL | Linux Platform Group


More information about the U-Boot mailing list