ARM: ux500: get SCU base from device tree
The SMP startup/shutdown code relied on a static SCU base address, let's get this from the device tree instead. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
80757f2335
commit
58202033fa
|
@ -16,6 +16,8 @@
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <linux/smp.h>
|
#include <linux/smp.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
#include <linux/of.h>
|
||||||
|
#include <linux/of_address.h>
|
||||||
|
|
||||||
#include <asm/cacheflush.h>
|
#include <asm/cacheflush.h>
|
||||||
#include <asm/smp_plat.h>
|
#include <asm/smp_plat.h>
|
||||||
|
@ -122,8 +124,13 @@ static void __init wakeup_secondary(void)
|
||||||
static void __init ux500_smp_init_cpus(void)
|
static void __init ux500_smp_init_cpus(void)
|
||||||
{
|
{
|
||||||
unsigned int i, ncores;
|
unsigned int i, ncores;
|
||||||
|
struct device_node *np;
|
||||||
|
|
||||||
scu_base = ioremap(U8500_SCU_BASE, 0x100);
|
np = of_find_compatible_node(NULL, NULL, "arm,cortex-a9-scu");
|
||||||
|
scu_base = of_iomap(np, 0);
|
||||||
|
of_node_put(np);
|
||||||
|
if (!scu_base)
|
||||||
|
return;
|
||||||
backupram = ioremap(U8500_BACKUPRAM0_BASE, SZ_8K);
|
backupram = ioremap(U8500_BACKUPRAM0_BASE, SZ_8K);
|
||||||
ncores = scu_get_core_count(scu_base);
|
ncores = scu_get_core_count(scu_base);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue