blob: 30b67c216ca8edb09342996a407c1833edefee69 [file] [log] [blame]
Chintan Pandya8e492742011-12-30 18:59:42 +05301/* Copyright (c) 2011-2012, Code Aurora Forum. All rights reserved.
Maheshkumar Sivasubramanian8ccc16e2011-10-25 15:59:57 -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#ifndef _ARCH_ARM_MACH_MSM_PM_BOOT_H
14#define _ARCH_ARM_MACH_MSM_PM_BOOT_H
15
Murali Nalajala41786ab2012-03-06 10:47:32 +053016/* 8x25 specific macros */
17#define MPA5_CFG_CTL_REG 0x30
18#define MPA5_BOOT_REMAP_ADDR 0x34
19/* end */
20
Maheshkumar Sivasubramanian8ccc16e2011-10-25 15:59:57 -060021enum {
Maheshkumar Sivasubramanianc6c55032011-10-25 16:01:32 -060022 MSM_PM_BOOT_CONFIG_TZ = 0,
23 MSM_PM_BOOT_CONFIG_RESET_VECTOR_PHYS = 1,
24 MSM_PM_BOOT_CONFIG_RESET_VECTOR_VIRT = 2,
25 MSM_PM_BOOT_CONFIG_REMAP_BOOT_ADDR = 3,
26};
27
28struct msm_pm_boot_platform_data {
29 int mode;
30 phys_addr_t p_addr;
31 void __iomem *v_addr;
Maheshkumar Sivasubramanian8ccc16e2011-10-25 15:59:57 -060032};
33
Chintan Pandya12607882011-11-25 19:21:33 +053034#ifdef CONFIG_PM
Maheshkumar Sivasubramanianc6c55032011-10-25 16:01:32 -060035int __init msm_pm_boot_init(struct msm_pm_boot_platform_data *pdata);
Chintan Pandya12607882011-11-25 19:21:33 +053036#else
Maheshkumar Sivasubramanianc6c55032011-10-25 16:01:32 -060037static inline int __init msm_pm_boot_init(
Chintan Pandya8e492742011-12-30 18:59:42 +053038 struct msm_pm_boot_platform_data *pdata)
Chintan Pandya12607882011-11-25 19:21:33 +053039{
40 return 0;
41}
42#endif
Maheshkumar Sivasubramanianc6c55032011-10-25 16:01:32 -060043
Maheshkumar Sivasubramanian8ccc16e2011-10-25 15:59:57 -060044void msm_pm_boot_config_before_pc(unsigned int cpu, unsigned long entry);
45void msm_pm_boot_config_after_pc(unsigned int cpu);
46
47#endif