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