Commit | Line | Data |
---|---|---|
a662c082 MD |
1 | /* |
2 | * r8a7779 Power management support | |
3 | * | |
4 | * Copyright (C) 2011 Renesas Solutions Corp. | |
5 | * Copyright (C) 2011 Magnus Damm | |
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 | ||
a662c082 | 12 | #include <asm/io.h> |
1b55353c | 13 | |
585c09df | 14 | #include "pm-rcar.h" |
1b55353c | 15 | #include "r8a7779.h" |
a662c082 | 16 | |
a662c082 | 17 | /* SYSC */ |
a662c082 MD |
18 | #define SYSCIER 0x0c |
19 | #define SYSCIMR 0x10 | |
a662c082 | 20 | |
f40aaf6d MD |
21 | #if defined(CONFIG_PM) || defined(CONFIG_SMP) |
22 | ||
a662c082 MD |
23 | static void __init r8a7779_sysc_init(void) |
24 | { | |
a6557eb7 | 25 | void __iomem *base = rcar_sysc_init(0xffd85000); |
a662c082 MD |
26 | |
27 | /* enable all interrupt sources, but do not use interrupt handler */ | |
a6557eb7 MD |
28 | iowrite32(0x0131000e, base + SYSCIER); |
29 | iowrite32(0, base + SYSCIMR); | |
a662c082 MD |
30 | } |
31 | ||
f40aaf6d MD |
32 | #else /* CONFIG_PM || CONFIG_SMP */ |
33 | ||
34 | static inline void r8a7779_sysc_init(void) {} | |
35 | ||
36 | #endif /* CONFIG_PM || CONFIG_SMP */ | |
37 | ||
a662c082 MD |
38 | void __init r8a7779_pm_init(void) |
39 | { | |
f40aaf6d MD |
40 | static int once; |
41 | ||
42 | if (!once++) | |
43 | r8a7779_sysc_init(); | |
a662c082 | 44 | } |