blob: 2d5110d3064432cb1358cd51db9fe1b4755b5f65 [file] [log] [blame]
Archana Sathyakumar28441012013-02-01 17:45:38 -07001/* Copyright (c) 2011-2013, The Linux Foundation. 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
Murali Nalajala41786ab2012-03-06 10:47:32 +053018/* end */
19
Maheshkumar Sivasubramanian8ccc16e2011-10-25 15:59:57 -060020enum {
Archana Sathyakumar28441012013-02-01 17:45:38 -070021 MSM_PM_BOOT_CONFIG_TZ ,
22 MSM_PM_BOOT_CONFIG_RESET_VECTOR_PHYS,
23 MSM_PM_BOOT_CONFIG_RESET_VECTOR_VIRT,
24 MSM_PM_BOOT_CONFIG_REMAP_BOOT_ADDR ,
Maheshkumar Sivasubramanianc6c55032011-10-25 16:01:32 -060025};
26
27struct msm_pm_boot_platform_data {
28 int mode;
29 phys_addr_t p_addr;
30 void __iomem *v_addr;
Maheshkumar Sivasubramanian8ccc16e2011-10-25 15:59:57 -060031};
32
Chintan Pandya12607882011-11-25 19:21:33 +053033#ifdef CONFIG_PM
Maheshkumar Sivasubramanianc6c55032011-10-25 16:01:32 -060034int __init msm_pm_boot_init(struct msm_pm_boot_platform_data *pdata);
Chintan Pandya12607882011-11-25 19:21:33 +053035#else
Maheshkumar Sivasubramanianc6c55032011-10-25 16:01:32 -060036static inline int __init msm_pm_boot_init(
Chintan Pandya8e492742011-12-30 18:59:42 +053037 struct msm_pm_boot_platform_data *pdata)
Chintan Pandya12607882011-11-25 19:21:33 +053038{
39 return 0;
40}
41#endif
Maheshkumar Sivasubramanianc6c55032011-10-25 16:01:32 -060042
Maheshkumar Sivasubramanian8ccc16e2011-10-25 15:59:57 -060043void msm_pm_boot_config_before_pc(unsigned int cpu, unsigned long entry);
44void msm_pm_boot_config_after_pc(unsigned int cpu);
45
46#endif