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.marc...@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.p...@samsung.com>
CC: Minkyu Kang <mk7.k...@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
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to