mirror of
https://github.com/torvalds/linux.git
synced 2024-12-24 11:51:27 +00:00
e87d10b29f
* Suspend on non-SMP update for r8a7790 * Move r8a7791.h out of mach directory. This is part of a multi-stage effort to move headers out of that directory. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJTsf7FAAoJENfPZGlqN0++d2IP/jzdPy6gazqzLaGDvdwxpF/i hnJrcrfez5grzzfuYn/2MY3W1eeMc3I9JTs9lUhQOZzdvRRvA4Ghn7yvfZNFaCsO zML5jTdo1X4+h+LiIhEyUt23AZuhG7rk6cQ2RCTvGllLvqaJwvV3aIHl6MmfUkUm KeS4PqLwq8bFcgP0pxI5BHDfTEZ9A2OQNnDjJ9JD6hHlqKGBDYkj1SVDcVXJOezA Mjv5nWpmoIbYs9wgswY+fIlYPUO/ZJ3X4aycydqQGX0Uj1L/9vBU1caDZ88/jIRE NyiRKK5AOvmnxSHE4puq5g7eSAyJRLZ9BW88h6aB7YXkoEljgkiQ2tInp5sWVwHg lw1PumVhvbMQjsWh09Wvt80Pdfkahh8oe8keaTNVvmq/7ikAovcGd5jyvLnqb54r l1U4YWk+ihBwLviuu1tdM43hiDd5DAnfmH0Qw7VQWvAIFie7ACsrN7EFXO4iLDUm 1EAkmJsLrG70YzCc6DspOOUbBIs/Y4Znl0kmurkwSdgEJlFs9w8XOGuayxCUg5Cq 7PbgZw7PZWwzJ4DQXz88+yK4QzqhhMlFZrmBZjiwWO6V5XAaY0vxmqAlpz52aaAi jZOfYr6Wb4KIfAgX10mMvFTsyaorjToQ3okn1Y2/ORTEvxG02lfU6fOpX+bWzFhj ppD6lPvbHL/+HND6KzQ4 =mQ5+ -----END PGP SIGNATURE----- Merge tag 'renesas-soc2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Second Round of Renesas ARM Based SoC Updates for v3.17" from Simon Horman: * Suspend on non-SMP update for r8a7790 * Move r8a7791.h out of mach directory. This is part of a multi-stage effort to move headers out of that directory. * tag 'renesas-soc2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Allow r8a7791 to build non-SMP APMU code ARM: shmobile: Move r8a7791 reset code to pm-r8a7791.c ARM: shmobile: Allow r8a7790 to build non-SMP APMU code ARM: shmobile: Move r8a7790 reset code to pm-r8a7790.c ARM: shmobile: Use __init for APMU suspend init function ARM: shmobile: Adjust APMU code to build for non-SMP ARM: shmobile: Allow use of boot code for non-SMP case ARM: shmobile: Move r8a7791.h Signed-off-by: Olof Johansson <olof@lixom.net>
57 lines
1.6 KiB
C
57 lines
1.6 KiB
C
/*
|
|
* SMP support for r8a7790
|
|
*
|
|
* Copyright (C) 2012-2013 Renesas Solutions Corp.
|
|
* Copyright (C) 2012 Takashi Yoshii <takashi.yoshii.ze@renesas.com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; version 2 of the License.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
#include <linux/kernel.h>
|
|
#include <linux/init.h>
|
|
#include <linux/smp.h>
|
|
#include <linux/io.h>
|
|
|
|
#include <asm/smp_plat.h>
|
|
|
|
#include "common.h"
|
|
#include "pm-rcar.h"
|
|
#include "r8a7790.h"
|
|
|
|
static struct rcar_sysc_ch r8a7790_ca15_scu = {
|
|
.chan_offs = 0x180, /* PWRSR5 .. PWRER5 */
|
|
.isr_bit = 12, /* CA15-SCU */
|
|
};
|
|
|
|
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)
|
|
{
|
|
/* let APMU code install data related to shmobile_boot_vector */
|
|
shmobile_smp_apmu_prepare_cpus(max_cpus);
|
|
|
|
/* turn on power to SCU */
|
|
r8a7790_pm_init();
|
|
rcar_sysc_power_up(&r8a7790_ca15_scu);
|
|
rcar_sysc_power_up(&r8a7790_ca7_scu);
|
|
}
|
|
|
|
struct smp_operations r8a7790_smp_ops __initdata = {
|
|
.smp_prepare_cpus = r8a7790_smp_prepare_cpus,
|
|
.smp_boot_secondary = shmobile_smp_apmu_boot_secondary,
|
|
#ifdef CONFIG_HOTPLUG_CPU
|
|
.cpu_disable = shmobile_smp_cpu_disable,
|
|
.cpu_die = shmobile_smp_apmu_cpu_die,
|
|
.cpu_kill = shmobile_smp_apmu_cpu_kill,
|
|
#endif
|
|
};
|