Commit 0445ded6 authored by Gaku Inami's avatar Gaku Inami Committed by Simon Horman
Browse files

ARM: shmobile: r8a7790 CA7-SCU enablement



Power on CA7 SCU in case of booting from a CA15 core.

Signed-off-by: default avatarGaku Inami <gaku.inami.xw@bp.renesas.com>
[damm@opensource.se: Converted to use broken out SYSC code]
Signed-off-by: default avatarMagnus Damm <damm@opensource.se>
Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
parent a48f1655
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@
#include <linux/io.h>
#include <asm/smp_plat.h>
#include <mach/common.h>
#include <mach/pm-rcar.h>
#include <mach/r8a7790.h>

#define RST		0xe6160000
#define CA15BAR		0x0020
@@ -27,6 +29,11 @@
#define CA7RESCNT	0x0044
#define MERAM		0xe8080000

static struct rcar_sysc_ch r8a7790_ca7_scu = {
	.chan_offs = 0x100, /* PWRSR3 .. PWRER3 */
	.isr_bit = 21, /* CA7-SCU */
};

static void __init r8a7790_smp_prepare_cpus(unsigned int max_cpus)
{
	void __iomem *p;
@@ -54,6 +61,10 @@ static void __init r8a7790_smp_prepare_cpus(unsigned int max_cpus)
	writel_relaxed((readl_relaxed(p + CA7RESCNT) & ~0x0f) | 0x5a5a0000,
		       p + CA7RESCNT);
	iounmap(p);

	/* turn on power to SCU */
	r8a7790_pm_init();
	rcar_sysc_power_up(&r8a7790_ca7_scu);
}

struct smp_operations r8a7790_smp_ops __initdata = {