blob: 8a7238a1c8fc59740b799ece40ffcb6e9cadd7ee [file] [log] [blame]
Maheshkumar Sivasubramanian8ccc16e2011-10-25 15:59:57 -06001/* Copyright (c) 2011, Code Aurora Forum. All rights reserved.
2 *
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
16enum {
Maheshkumar Sivasubramanianc6c55032011-10-25 16:01:32 -060017 MSM_PM_BOOT_CONFIG_TZ = 0,
18 MSM_PM_BOOT_CONFIG_RESET_VECTOR_PHYS = 1,
19 MSM_PM_BOOT_CONFIG_RESET_VECTOR_VIRT = 2,
20 MSM_PM_BOOT_CONFIG_REMAP_BOOT_ADDR = 3,
21};
22
23struct msm_pm_boot_platform_data {
24 int mode;
25 phys_addr_t p_addr;
26 void __iomem *v_addr;
Maheshkumar Sivasubramanian8ccc16e2011-10-25 15:59:57 -060027};
28
Chintan Pandya12607882011-11-25 19:21:33 +053029#ifdef CONFIG_PM
Maheshkumar Sivasubramanianc6c55032011-10-25 16:01:32 -060030int __init msm_pm_boot_init(struct msm_pm_boot_platform_data *pdata);
Chintan Pandya12607882011-11-25 19:21:33 +053031#else
Maheshkumar Sivasubramanianc6c55032011-10-25 16:01:32 -060032static inline int __init msm_pm_boot_init(
33 struct msm_pm_boot_platform_data *pdata);
Chintan Pandya12607882011-11-25 19:21:33 +053034{
35 return 0;
36}
37#endif
Maheshkumar Sivasubramanianc6c55032011-10-25 16:01:32 -060038
Maheshkumar Sivasubramanian8ccc16e2011-10-25 15:59:57 -060039void msm_pm_boot_config_before_pc(unsigned int cpu, unsigned long entry);
40void msm_pm_boot_config_after_pc(unsigned int cpu);
41
42#endif