|
@@ -42,11 +42,6 @@ static struct map_desc exynos4_iodesc[] __initdata = {
|
|
|
.pfn = __phys_to_pfn(EXYNOS4_PA_SYSTIMER),
|
|
|
.length = SZ_4K,
|
|
|
.type = MT_DEVICE,
|
|
|
- }, {
|
|
|
- .virtual = (unsigned long)S5P_VA_SYSRAM,
|
|
|
- .pfn = __phys_to_pfn(EXYNOS4_PA_SYSRAM),
|
|
|
- .length = SZ_4K,
|
|
|
- .type = MT_DEVICE,
|
|
|
}, {
|
|
|
.virtual = (unsigned long)S5P_VA_CMU,
|
|
|
.pfn = __phys_to_pfn(EXYNOS4_PA_CMU),
|
|
@@ -120,6 +115,24 @@ static struct map_desc exynos4_iodesc[] __initdata = {
|
|
|
},
|
|
|
};
|
|
|
|
|
|
+static struct map_desc exynos4_iodesc0[] __initdata = {
|
|
|
+ {
|
|
|
+ .virtual = (unsigned long)S5P_VA_SYSRAM,
|
|
|
+ .pfn = __phys_to_pfn(EXYNOS4_PA_SYSRAM0),
|
|
|
+ .length = SZ_4K,
|
|
|
+ .type = MT_DEVICE,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct map_desc exynos4_iodesc1[] __initdata = {
|
|
|
+ {
|
|
|
+ .virtual = (unsigned long)S5P_VA_SYSRAM,
|
|
|
+ .pfn = __phys_to_pfn(EXYNOS4_PA_SYSRAM1),
|
|
|
+ .length = SZ_4K,
|
|
|
+ .type = MT_DEVICE,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
static void exynos4_idle(void)
|
|
|
{
|
|
|
if (!need_resched())
|
|
@@ -137,6 +150,11 @@ void __init exynos4_map_io(void)
|
|
|
{
|
|
|
iotable_init(exynos4_iodesc, ARRAY_SIZE(exynos4_iodesc));
|
|
|
|
|
|
+ if (soc_is_exynos4210() && samsung_rev() == EXYNOS4210_REV_0)
|
|
|
+ iotable_init(exynos4_iodesc0, ARRAY_SIZE(exynos4_iodesc0));
|
|
|
+ else
|
|
|
+ iotable_init(exynos4_iodesc1, ARRAY_SIZE(exynos4_iodesc1));
|
|
|
+
|
|
|
/* initialize device information early */
|
|
|
exynos4_default_sdhci0();
|
|
|
exynos4_default_sdhci1();
|