diff options
Diffstat (limited to 'include/linux/mfd/dbx500-prcmu.h')
-rw-r--r-- | include/linux/mfd/dbx500-prcmu.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/include/linux/mfd/dbx500-prcmu.h b/include/linux/mfd/dbx500-prcmu.h index 155280642583..f8bac7cfc25f 100644 --- a/include/linux/mfd/dbx500-prcmu.h +++ b/include/linux/mfd/dbx500-prcmu.h | |||
@@ -12,6 +12,10 @@ | |||
12 | #include <linux/notifier.h> | 12 | #include <linux/notifier.h> |
13 | #include <linux/err.h> | 13 | #include <linux/err.h> |
14 | 14 | ||
15 | /* Offset for the firmware version within the TCPM */ | ||
16 | #define DB8500_PRCMU_FW_VERSION_OFFSET 0xA4 | ||
17 | #define DBX540_PRCMU_FW_VERSION_OFFSET 0xA8 | ||
18 | |||
15 | /* PRCMU Wakeup defines */ | 19 | /* PRCMU Wakeup defines */ |
16 | enum prcmu_wakeup_index { | 20 | enum prcmu_wakeup_index { |
17 | PRCMU_WAKEUP_INDEX_RTC, | 21 | PRCMU_WAKEUP_INDEX_RTC, |
@@ -214,6 +218,48 @@ enum ddr_pwrst { | |||
214 | DDR_PWR_STATE_OFFHIGHLAT = 0x03 | 218 | DDR_PWR_STATE_OFFHIGHLAT = 0x03 |
215 | }; | 219 | }; |
216 | 220 | ||
221 | #define DB8500_PRCMU_LEGACY_OFFSET 0xDD4 | ||
222 | |||
223 | struct prcmu_pdata | ||
224 | { | ||
225 | bool enable_set_ddr_opp; | ||
226 | bool enable_ape_opp_100_voltage; | ||
227 | struct ab8500_platform_data *ab_platdata; | ||
228 | u32 version_offset; | ||
229 | u32 legacy_offset; | ||
230 | u32 adt_offset; | ||
231 | }; | ||
232 | |||
233 | #define PRCMU_FW_PROJECT_U8500 2 | ||
234 | #define PRCMU_FW_PROJECT_U8400 3 | ||
235 | #define PRCMU_FW_PROJECT_U9500 4 /* Customer specific */ | ||
236 | #define PRCMU_FW_PROJECT_U8500_MBB 5 | ||
237 | #define PRCMU_FW_PROJECT_U8500_C1 6 | ||
238 | #define PRCMU_FW_PROJECT_U8500_C2 7 | ||
239 | #define PRCMU_FW_PROJECT_U8500_C3 8 | ||
240 | #define PRCMU_FW_PROJECT_U8500_C4 9 | ||
241 | #define PRCMU_FW_PROJECT_U9500_MBL 10 | ||
242 | #define PRCMU_FW_PROJECT_U8500_MBL 11 /* Customer specific */ | ||
243 | #define PRCMU_FW_PROJECT_U8500_MBL2 12 /* Customer specific */ | ||
244 | #define PRCMU_FW_PROJECT_U8520 13 | ||
245 | #define PRCMU_FW_PROJECT_U8420 14 | ||
246 | #define PRCMU_FW_PROJECT_A9420 20 | ||
247 | /* [32..63] 9540 and derivatives */ | ||
248 | #define PRCMU_FW_PROJECT_U9540 32 | ||
249 | /* [64..95] 8540 and derivatives */ | ||
250 | #define PRCMU_FW_PROJECT_L8540 64 | ||
251 | /* [96..126] 8580 and derivatives */ | ||
252 | #define PRCMU_FW_PROJECT_L8580 96 | ||
253 | |||
254 | #define PRCMU_FW_PROJECT_NAME_LEN 20 | ||
255 | struct prcmu_fw_version { | ||
256 | u32 project; /* Notice, project shifted with 8 on ux540 */ | ||
257 | u8 api_version; | ||
258 | u8 func_version; | ||
259 | u8 errata; | ||
260 | char project_name[PRCMU_FW_PROJECT_NAME_LEN]; | ||
261 | }; | ||
262 | |||
217 | #include <linux/mfd/db8500-prcmu.h> | 263 | #include <linux/mfd/db8500-prcmu.h> |
218 | 264 | ||
219 | #if defined(CONFIG_UX500_SOC_DB8500) | 265 | #if defined(CONFIG_UX500_SOC_DB8500) |