diff options
Diffstat (limited to 'arch/arm/mach-exynos4/pm.c')
-rw-r--r-- | arch/arm/mach-exynos4/pm.c | 79 |
1 files changed, 7 insertions, 72 deletions
diff --git a/arch/arm/mach-exynos4/pm.c b/arch/arm/mach-exynos4/pm.c index bc6ca9482de1..62e4f4363006 100644 --- a/arch/arm/mach-exynos4/pm.c +++ b/arch/arm/mach-exynos4/pm.c | |||
@@ -41,7 +41,6 @@ static struct sleep_save exynos4_set_clksrc[] = { | |||
41 | { .reg = S5P_CLKSRC_MASK_CAM , .val = 0x11111111, }, | 41 | { .reg = S5P_CLKSRC_MASK_CAM , .val = 0x11111111, }, |
42 | { .reg = S5P_CLKSRC_MASK_TV , .val = 0x00000111, }, | 42 | { .reg = S5P_CLKSRC_MASK_TV , .val = 0x00000111, }, |
43 | { .reg = S5P_CLKSRC_MASK_LCD0 , .val = 0x00001111, }, | 43 | { .reg = S5P_CLKSRC_MASK_LCD0 , .val = 0x00001111, }, |
44 | { .reg = S5P_CLKSRC_MASK_LCD1 , .val = 0x00001111, }, | ||
45 | { .reg = S5P_CLKSRC_MASK_MAUDIO , .val = 0x00000001, }, | 44 | { .reg = S5P_CLKSRC_MASK_MAUDIO , .val = 0x00000001, }, |
46 | { .reg = S5P_CLKSRC_MASK_FSYS , .val = 0x01011111, }, | 45 | { .reg = S5P_CLKSRC_MASK_FSYS , .val = 0x01011111, }, |
47 | { .reg = S5P_CLKSRC_MASK_PERIL0 , .val = 0x01111111, }, | 46 | { .reg = S5P_CLKSRC_MASK_PERIL0 , .val = 0x01111111, }, |
@@ -49,6 +48,10 @@ static struct sleep_save exynos4_set_clksrc[] = { | |||
49 | { .reg = S5P_CLKSRC_MASK_DMC , .val = 0x00010000, }, | 48 | { .reg = S5P_CLKSRC_MASK_DMC , .val = 0x00010000, }, |
50 | }; | 49 | }; |
51 | 50 | ||
51 | static struct sleep_save exynos4210_set_clksrc[] = { | ||
52 | { .reg = S5P_CLKSRC_MASK_LCD1 , .val = 0x00001111, }, | ||
53 | }; | ||
54 | |||
52 | static struct sleep_save exynos4_epll_save[] = { | 55 | static struct sleep_save exynos4_epll_save[] = { |
53 | SAVE_ITEM(S5P_EPLL_CON0), | 56 | SAVE_ITEM(S5P_EPLL_CON0), |
54 | SAVE_ITEM(S5P_EPLL_CON1), | 57 | SAVE_ITEM(S5P_EPLL_CON1), |
@@ -60,77 +63,6 @@ static struct sleep_save exynos4_vpll_save[] = { | |||
60 | }; | 63 | }; |
61 | 64 | ||
62 | static struct sleep_save exynos4_core_save[] = { | 65 | static struct sleep_save exynos4_core_save[] = { |
63 | /* CMU side */ | ||
64 | SAVE_ITEM(S5P_CLKDIV_LEFTBUS), | ||
65 | SAVE_ITEM(S5P_CLKGATE_IP_LEFTBUS), | ||
66 | SAVE_ITEM(S5P_CLKDIV_RIGHTBUS), | ||
67 | SAVE_ITEM(S5P_CLKGATE_IP_RIGHTBUS), | ||
68 | SAVE_ITEM(S5P_CLKSRC_TOP0), | ||
69 | SAVE_ITEM(S5P_CLKSRC_TOP1), | ||
70 | SAVE_ITEM(S5P_CLKSRC_CAM), | ||
71 | SAVE_ITEM(S5P_CLKSRC_TV), | ||
72 | SAVE_ITEM(S5P_CLKSRC_MFC), | ||
73 | SAVE_ITEM(S5P_CLKSRC_G3D), | ||
74 | SAVE_ITEM(S5P_CLKSRC_IMAGE), | ||
75 | SAVE_ITEM(S5P_CLKSRC_LCD0), | ||
76 | SAVE_ITEM(S5P_CLKSRC_LCD1), | ||
77 | SAVE_ITEM(S5P_CLKSRC_MAUDIO), | ||
78 | SAVE_ITEM(S5P_CLKSRC_FSYS), | ||
79 | SAVE_ITEM(S5P_CLKSRC_PERIL0), | ||
80 | SAVE_ITEM(S5P_CLKSRC_PERIL1), | ||
81 | SAVE_ITEM(S5P_CLKDIV_CAM), | ||
82 | SAVE_ITEM(S5P_CLKDIV_TV), | ||
83 | SAVE_ITEM(S5P_CLKDIV_MFC), | ||
84 | SAVE_ITEM(S5P_CLKDIV_G3D), | ||
85 | SAVE_ITEM(S5P_CLKDIV_IMAGE), | ||
86 | SAVE_ITEM(S5P_CLKDIV_LCD0), | ||
87 | SAVE_ITEM(S5P_CLKDIV_LCD1), | ||
88 | SAVE_ITEM(S5P_CLKDIV_MAUDIO), | ||
89 | SAVE_ITEM(S5P_CLKDIV_FSYS0), | ||
90 | SAVE_ITEM(S5P_CLKDIV_FSYS1), | ||
91 | SAVE_ITEM(S5P_CLKDIV_FSYS2), | ||
92 | SAVE_ITEM(S5P_CLKDIV_FSYS3), | ||
93 | SAVE_ITEM(S5P_CLKDIV_PERIL0), | ||
94 | SAVE_ITEM(S5P_CLKDIV_PERIL1), | ||
95 | SAVE_ITEM(S5P_CLKDIV_PERIL2), | ||
96 | SAVE_ITEM(S5P_CLKDIV_PERIL3), | ||
97 | SAVE_ITEM(S5P_CLKDIV_PERIL4), | ||
98 | SAVE_ITEM(S5P_CLKDIV_PERIL5), | ||
99 | SAVE_ITEM(S5P_CLKDIV_TOP), | ||
100 | SAVE_ITEM(S5P_CLKSRC_MASK_TOP), | ||
101 | SAVE_ITEM(S5P_CLKSRC_MASK_CAM), | ||
102 | SAVE_ITEM(S5P_CLKSRC_MASK_TV), | ||
103 | SAVE_ITEM(S5P_CLKSRC_MASK_LCD0), | ||
104 | SAVE_ITEM(S5P_CLKSRC_MASK_LCD1), | ||
105 | SAVE_ITEM(S5P_CLKSRC_MASK_MAUDIO), | ||
106 | SAVE_ITEM(S5P_CLKSRC_MASK_FSYS), | ||
107 | SAVE_ITEM(S5P_CLKSRC_MASK_PERIL0), | ||
108 | SAVE_ITEM(S5P_CLKSRC_MASK_PERIL1), | ||
109 | SAVE_ITEM(S5P_CLKDIV2_RATIO), | ||
110 | SAVE_ITEM(S5P_CLKGATE_SCLKCAM), | ||
111 | SAVE_ITEM(S5P_CLKGATE_IP_CAM), | ||
112 | SAVE_ITEM(S5P_CLKGATE_IP_TV), | ||
113 | SAVE_ITEM(S5P_CLKGATE_IP_MFC), | ||
114 | SAVE_ITEM(S5P_CLKGATE_IP_G3D), | ||
115 | SAVE_ITEM(S5P_CLKGATE_IP_IMAGE), | ||
116 | SAVE_ITEM(S5P_CLKGATE_IP_LCD0), | ||
117 | SAVE_ITEM(S5P_CLKGATE_IP_LCD1), | ||
118 | SAVE_ITEM(S5P_CLKGATE_IP_FSYS), | ||
119 | SAVE_ITEM(S5P_CLKGATE_IP_GPS), | ||
120 | SAVE_ITEM(S5P_CLKGATE_IP_PERIL), | ||
121 | SAVE_ITEM(S5P_CLKGATE_IP_PERIR), | ||
122 | SAVE_ITEM(S5P_CLKGATE_BLOCK), | ||
123 | SAVE_ITEM(S5P_CLKSRC_MASK_DMC), | ||
124 | SAVE_ITEM(S5P_CLKSRC_DMC), | ||
125 | SAVE_ITEM(S5P_CLKDIV_DMC0), | ||
126 | SAVE_ITEM(S5P_CLKDIV_DMC1), | ||
127 | SAVE_ITEM(S5P_CLKGATE_IP_DMC), | ||
128 | SAVE_ITEM(S5P_CLKSRC_CPU), | ||
129 | SAVE_ITEM(S5P_CLKDIV_CPU), | ||
130 | SAVE_ITEM(S5P_CLKDIV_CPU + 0x4), | ||
131 | SAVE_ITEM(S5P_CLKGATE_SCLKCPU), | ||
132 | SAVE_ITEM(S5P_CLKGATE_IP_CPU), | ||
133 | |||
134 | /* GIC side */ | 66 | /* GIC side */ |
135 | SAVE_ITEM(S5P_VA_GIC_CPU + 0x000), | 67 | SAVE_ITEM(S5P_VA_GIC_CPU + 0x000), |
136 | SAVE_ITEM(S5P_VA_GIC_CPU + 0x004), | 68 | SAVE_ITEM(S5P_VA_GIC_CPU + 0x004), |
@@ -268,6 +200,9 @@ static void exynos4_pm_prepare(void) | |||
268 | 200 | ||
269 | s3c_pm_do_restore_core(exynos4_set_clksrc, ARRAY_SIZE(exynos4_set_clksrc)); | 201 | s3c_pm_do_restore_core(exynos4_set_clksrc, ARRAY_SIZE(exynos4_set_clksrc)); |
270 | 202 | ||
203 | if (soc_is_exynos4210()) | ||
204 | s3c_pm_do_restore_core(exynos4210_set_clksrc, ARRAY_SIZE(exynos4210_set_clksrc)); | ||
205 | |||
271 | } | 206 | } |
272 | 207 | ||
273 | static int exynos4_pm_add(struct sys_device *sysdev) | 208 | static int exynos4_pm_add(struct sys_device *sysdev) |