Message ID | 1376995992-20870-1-git-send-email-p.marczak@samsung.com |
---|---|
State | Changes Requested |
Delegated to: | Minkyu Kang |
Headers | show |
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@samsung.com> > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> > CC: Minkyu Kang <mk7.kang@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 >
Looks good to me. Acked-by: Jaehoon Chung <jh80.chung@samsung.com> On 08/28/2013 04:11 PM, Przemyslaw Marczak wrote: > 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@samsung.com> >> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> >> CC: Minkyu Kang <mk7.kang@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 >> > >
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