From mboxrd@z Thu Jan 1 00:00:00 1970
From: Przemyslaw Marczak
Date: Wed, 28 Aug 2013 09:11:48 +0200
Subject: [U-Boot] [PATCH 1/3] arm:mmc:goni/exynos: Fix wrong mmc base
register devices offset.
In-Reply-To: <1376995992-20870-1-git-send-email-p.marczak@samsung.com>
References: <1376995992-20870-1-git-send-email-p.marczak@samsung.com>
Message-ID: <521DA2B4.8020406@samsung.com>
List-Id:
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
To: u-boot@lists.denx.de
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
> Signed-off-by: Kyungmin Park
> CC: Minkyu Kang
> ---
> 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