blob: f41c5691393983f0fbe15fc0efb40c7fdc3ae2ab [file] [log] [blame]
Mahesh Sivasubramanian8e535602013-01-18 08:36:41 -07001/* Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
Praveen Chidambaram42da9d22012-03-30 12:16:34 -06002 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
13
14#include "pm.h"
15
16struct msm_pm_platform_data msm_pm_sleep_modes[] = {
17 [MSM_PM_MODE(0, MSM_PM_SLEEP_MODE_POWER_COLLAPSE)] = {
18 .idle_supported = 1,
19 .suspend_supported = 1,
20 .idle_enabled = 0,
21 .suspend_enabled = 0,
22 },
23
24 [MSM_PM_MODE(0, MSM_PM_SLEEP_MODE_POWER_COLLAPSE_STANDALONE)] = {
25 .idle_supported = 1,
26 .suspend_supported = 1,
27 .idle_enabled = 0,
28 .suspend_enabled = 0,
29 },
30
Praveen Chidambaramd3d844d2012-04-24 09:47:38 -060031 [MSM_PM_MODE(0, MSM_PM_SLEEP_MODE_RETENTION)] = {
32 .idle_supported = 1,
Mahesh Sivasubramanian1b8601b2012-12-20 14:11:23 -070033 .suspend_supported = 0,
Praveen Chidambaramd3d844d2012-04-24 09:47:38 -060034 .idle_enabled = 0,
35 .suspend_enabled = 0,
36 },
37
Praveen Chidambaram42da9d22012-03-30 12:16:34 -060038 [MSM_PM_MODE(0, MSM_PM_SLEEP_MODE_WAIT_FOR_INTERRUPT)] = {
39 .idle_supported = 1,
40 .suspend_supported = 1,
41 .idle_enabled = 1,
42 .suspend_enabled = 1,
43 },
44
45 [MSM_PM_MODE(1, MSM_PM_SLEEP_MODE_POWER_COLLAPSE)] = {
46 .idle_supported = 0,
47 .suspend_supported = 1,
48 .idle_enabled = 0,
Praveen Chidambarama8051c82013-02-20 17:48:49 -070049 .suspend_enabled = 1,
Praveen Chidambaram42da9d22012-03-30 12:16:34 -060050 },
51
52 [MSM_PM_MODE(1, MSM_PM_SLEEP_MODE_POWER_COLLAPSE_STANDALONE)] = {
53 .idle_supported = 1,
54 .suspend_supported = 1,
55 .idle_enabled = 0,
56 .suspend_enabled = 0,
57 },
58
Praveen Chidambaramd3d844d2012-04-24 09:47:38 -060059 [MSM_PM_MODE(1, MSM_PM_SLEEP_MODE_RETENTION)] = {
60 .idle_supported = 1,
61 .suspend_supported = 1,
62 .idle_enabled = 0,
63 .suspend_enabled = 0,
64 },
65
Praveen Chidambaram42da9d22012-03-30 12:16:34 -060066 [MSM_PM_MODE(1, MSM_PM_SLEEP_MODE_WAIT_FOR_INTERRUPT)] = {
67 .idle_supported = 1,
68 .suspend_supported = 0,
69 .idle_enabled = 1,
70 .suspend_enabled = 0,
71 },
72
73 [MSM_PM_MODE(2, MSM_PM_SLEEP_MODE_POWER_COLLAPSE)] = {
74 .idle_supported = 0,
75 .suspend_supported = 1,
76 .idle_enabled = 0,
Praveen Chidambarama8051c82013-02-20 17:48:49 -070077 .suspend_enabled = 1,
Praveen Chidambaram42da9d22012-03-30 12:16:34 -060078 },
79
80 [MSM_PM_MODE(2, MSM_PM_SLEEP_MODE_POWER_COLLAPSE_STANDALONE)] = {
81 .idle_supported = 1,
82 .suspend_supported = 1,
83 .idle_enabled = 0,
84 .suspend_enabled = 0,
85 },
86
Praveen Chidambaramd3d844d2012-04-24 09:47:38 -060087 [MSM_PM_MODE(2, MSM_PM_SLEEP_MODE_RETENTION)] = {
88 .idle_supported = 1,
89 .suspend_supported = 1,
90 .idle_enabled = 0,
91 .suspend_enabled = 0,
92 },
93
Praveen Chidambaram42da9d22012-03-30 12:16:34 -060094 [MSM_PM_MODE(2, MSM_PM_SLEEP_MODE_WAIT_FOR_INTERRUPT)] = {
95 .idle_supported = 1,
96 .suspend_supported = 0,
97 .idle_enabled = 1,
98 .suspend_enabled = 0,
99 },
100
101 [MSM_PM_MODE(3, MSM_PM_SLEEP_MODE_POWER_COLLAPSE)] = {
102 .idle_supported = 0,
103 .suspend_supported = 1,
104 .idle_enabled = 0,
Praveen Chidambarama8051c82013-02-20 17:48:49 -0700105 .suspend_enabled = 1,
Praveen Chidambaram42da9d22012-03-30 12:16:34 -0600106 },
107
108 [MSM_PM_MODE(3, MSM_PM_SLEEP_MODE_POWER_COLLAPSE_STANDALONE)] = {
109 .idle_supported = 1,
110 .suspend_supported = 1,
111 .idle_enabled = 0,
112 .suspend_enabled = 0,
113 },
114
Praveen Chidambaramd3d844d2012-04-24 09:47:38 -0600115 [MSM_PM_MODE(3, MSM_PM_SLEEP_MODE_RETENTION)] = {
116 .idle_supported = 1,
117 .suspend_supported = 1,
118 .idle_enabled = 0,
119 .suspend_enabled = 0,
120 },
121
Praveen Chidambaram42da9d22012-03-30 12:16:34 -0600122 [MSM_PM_MODE(3, MSM_PM_SLEEP_MODE_WAIT_FOR_INTERRUPT)] = {
123 .idle_supported = 1,
124 .suspend_supported = 0,
125 .idle_enabled = 1,
126 .suspend_enabled = 0,
127 },
Venkat Devarasettya4f41142013-03-25 23:37:45 +0530128
129 [MSM_PM_MODE(3, MSM_PM_SLEEP_MODE_NR)] = {
130 .idle_supported = 0,
131 .suspend_supported = 0,
132 .idle_enabled = 0,
133 .suspend_enabled = 0,
134 },
Praveen Chidambaram42da9d22012-03-30 12:16:34 -0600135};