Skip to content

Commit

Permalink
ARM: S5PV310: Fix on Secondary CPU startup
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Changhwan Youn authored and Kukjin Kim committed Aug 27, 2010
1 parent 3297c2e commit 766211e
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 2 deletions.
7 changes: 6 additions & 1 deletion arch/arm/mach-s5pv310/cpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,17 @@ static struct map_desc s5pv310_iodesc[] __initdata = {
.pfn = __phys_to_pfn(S5PV310_PA_L2CC),
.length = SZ_4K,
.type = MT_DEVICE,
}, {
.virtual = (unsigned long)S5P_VA_SYSRAM,
.pfn = __phys_to_pfn(S5PV310_PA_SYSRAM),
.length = SZ_4K,
.type = MT_DEVICE,
}, {
.virtual = (unsigned long)S5P_VA_CMU,
.pfn = __phys_to_pfn(S5PV310_PA_CMU),
.length = SZ_128K,
.type = MT_DEVICE,
}
},
};

static void s5pv310_idle(void)
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/mach-s5pv310/include/mach/map.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@

#include <plat/map-s5p.h>

#define S5PV310_PA_SYSRAM (0x02025000)

#define S5PV310_PA_CHIPID (0x10000000)
#define S5P_PA_CHIPID S5PV310_PA_CHIPID

Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-s5pv310/platsmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,6 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
* until it receives a soft interrupt, and then the
* secondary CPU branches to this address.
*/
__raw_writel(BSYM(virt_to_phys(s5pv310_secondary_startup)), S5P_INFORM0);
__raw_writel(BSYM(virt_to_phys(s5pv310_secondary_startup)), S5P_VA_SYSRAM);
}
}
1 change: 1 addition & 0 deletions arch/arm/plat-s5p/include/plat/map-s5p.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#define S5P_VA_GPIO S3C_ADDR(0x00500000)
#define S5P_VA_SYSTIMER S3C_ADDR(0x01200000)
#define S5P_VA_SROMC S3C_ADDR(0x01100000)
#define S5P_VA_SYSRAM S3C_ADDR(0x01180000)

#define S5P_VA_COMBINER_BASE S3C_ADDR(0x00600000)
#define S5P_VA_COMBINER(x) (S5P_VA_COMBINER_BASE + ((x) >> 2) * 0x10)
Expand Down

0 comments on commit 766211e

Please sign in to comment.