]> Pileus Git - ~andy/linux/blob - arch/arm/mach-shmobile/pm-r8a7740.c
Merge tag 'usb-3.6-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
[~andy/linux] / arch / arm / mach-shmobile / pm-r8a7740.c
1 /*
2  * r8a7740 power management support
3  *
4  * Copyright (C) 2012  Renesas Solutions Corp.
5  * Copyright (C) 2012  Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
6  *
7  * This file is subject to the terms and conditions of the GNU General Public
8  * License.  See the file "COPYING" in the main directory of this archive
9  * for more details.
10  */
11 #include <linux/console.h>
12 #include <mach/pm-rmobile.h>
13
14 #ifdef CONFIG_PM
15 static int r8a7740_pd_a4s_suspend(void)
16 {
17         /*
18          * The A4S domain contains the CPU core and therefore it should
19          * only be turned off if the CPU is in use.
20          */
21         return -EBUSY;
22 }
23
24 struct rmobile_pm_domain r8a7740_pd_a4s = {
25         .genpd.name     = "A4S",
26         .bit_shift      = 10,
27         .gov            = &pm_domain_always_on_gov,
28         .no_debug       = true,
29         .suspend        = r8a7740_pd_a4s_suspend,
30 };
31
32 static int r8a7740_pd_a3sp_suspend(void)
33 {
34         /*
35          * Serial consoles make use of SCIF hardware located in A3SP,
36          * keep such power domain on if "no_console_suspend" is set.
37          */
38         return console_suspend_enabled ? 0 : -EBUSY;
39 }
40
41 struct rmobile_pm_domain r8a7740_pd_a3sp = {
42         .genpd.name     = "A3SP",
43         .bit_shift      = 11,
44         .gov            = &pm_domain_always_on_gov,
45         .no_debug       = true,
46         .suspend        = r8a7740_pd_a3sp_suspend,
47 };
48
49 struct rmobile_pm_domain r8a7740_pd_a4lc = {
50         .genpd.name     = "A4LC",
51         .bit_shift      = 1,
52 };
53
54 #endif /* CONFIG_PM */