Skip to content

Commit 766211e

Browse files
Changhwan Younkgene
authored andcommitted
ARM: S5PV310: Fix on Secondary CPU startup
Following occurs on boot message without this patch. CPU1: processor failed to boot Brought up 1 CPUs SMP: Total of 1 processors activated... This patch adds SYSRAM mapping for fixing Secondary CPU startup. CPU1: Booted secondary processor Brought up 2 CPUs SMP: Total of 2 processors activated... Signed-off-by: Changhwan Youn <chaos.youn@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
1 parent 3297c2e commit 766211e

File tree

4 files changed

+10
-2
lines changed

4 files changed

+10
-2
lines changed

arch/arm/mach-s5pv310/cpu.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,17 @@ static struct map_desc s5pv310_iodesc[] __initdata = {
4545
.pfn = __phys_to_pfn(S5PV310_PA_L2CC),
4646
.length = SZ_4K,
4747
.type = MT_DEVICE,
48+
}, {
49+
.virtual = (unsigned long)S5P_VA_SYSRAM,
50+
.pfn = __phys_to_pfn(S5PV310_PA_SYSRAM),
51+
.length = SZ_4K,
52+
.type = MT_DEVICE,
4853
}, {
4954
.virtual = (unsigned long)S5P_VA_CMU,
5055
.pfn = __phys_to_pfn(S5PV310_PA_CMU),
5156
.length = SZ_128K,
5257
.type = MT_DEVICE,
53-
}
58+
},
5459
};
5560

5661
static void s5pv310_idle(void)

arch/arm/mach-s5pv310/include/mach/map.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323

2424
#include <plat/map-s5p.h>
2525

26+
#define S5PV310_PA_SYSRAM (0x02025000)
27+
2628
#define S5PV310_PA_CHIPID (0x10000000)
2729
#define S5P_PA_CHIPID S5PV310_PA_CHIPID
2830

arch/arm/mach-s5pv310/platsmp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,6 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
187187
* until it receives a soft interrupt, and then the
188188
* secondary CPU branches to this address.
189189
*/
190-
__raw_writel(BSYM(virt_to_phys(s5pv310_secondary_startup)), S5P_INFORM0);
190+
__raw_writel(BSYM(virt_to_phys(s5pv310_secondary_startup)), S5P_VA_SYSRAM);
191191
}
192192
}

arch/arm/plat-s5p/include/plat/map-s5p.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#define S5P_VA_GPIO S3C_ADDR(0x00500000)
1818
#define S5P_VA_SYSTIMER S3C_ADDR(0x01200000)
1919
#define S5P_VA_SROMC S3C_ADDR(0x01100000)
20+
#define S5P_VA_SYSRAM S3C_ADDR(0x01180000)
2021

2122
#define S5P_VA_COMBINER_BASE S3C_ADDR(0x00600000)
2223
#define S5P_VA_COMBINER(x) (S5P_VA_COMBINER_BASE + ((x) >> 2) * 0x10)

0 commit comments

Comments
 (0)