| Peter De Schrijver | b36ab97 | 2012-02-10 01:47:45 +0200 | [diff] [blame] | 1 | /* | 
 | 2 |  * arch/arm/mach-tegra/reset.h | 
 | 3 |  * | 
 | 4 |  * CPU reset dispatcher. | 
 | 5 |  * | 
 | 6 |  * Copyright (c) 2011, NVIDIA Corporation. | 
 | 7 |  * | 
 | 8 |  * This software is licensed under the terms of the GNU General Public | 
 | 9 |  * License version 2, as published by the Free Software Foundation, and | 
 | 10 |  * may be copied, distributed, and modified under those terms. | 
 | 11 |  * | 
 | 12 |  * This program is distributed in the hope that it will be useful, | 
 | 13 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 | 14 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
 | 15 |  * GNU General Public License for more details. | 
 | 16 |  * | 
 | 17 |  */ | 
 | 18 |  | 
 | 19 | #ifndef __MACH_TEGRA_RESET_H | 
 | 20 | #define __MACH_TEGRA_RESET_H | 
 | 21 |  | 
 | 22 | #define TEGRA_RESET_MASK_PRESENT	0 | 
 | 23 | #define TEGRA_RESET_MASK_LP1		1 | 
 | 24 | #define TEGRA_RESET_MASK_LP2		2 | 
 | 25 | #define TEGRA_RESET_STARTUP_SECONDARY	3 | 
 | 26 | #define TEGRA_RESET_STARTUP_LP2		4 | 
 | 27 | #define TEGRA_RESET_STARTUP_LP1		5 | 
 | 28 | #define TEGRA_RESET_DATA_SIZE		6 | 
 | 29 |  | 
 | 30 | #ifndef __ASSEMBLY__ | 
 | 31 |  | 
 | 32 | extern unsigned long __tegra_cpu_reset_handler_data[TEGRA_RESET_DATA_SIZE]; | 
 | 33 |  | 
 | 34 | void __tegra_cpu_reset_handler_start(void); | 
 | 35 | void __tegra_cpu_reset_handler(void); | 
 | 36 | void __tegra_cpu_reset_handler_end(void); | 
 | 37 | void tegra_secondary_startup(void); | 
 | 38 |  | 
 | 39 | #define tegra_cpu_reset_handler_offset \ | 
 | 40 | 		((u32)__tegra_cpu_reset_handler - \ | 
 | 41 | 		 (u32)__tegra_cpu_reset_handler_start) | 
 | 42 |  | 
 | 43 | #define tegra_cpu_reset_handler_size \ | 
 | 44 | 		(__tegra_cpu_reset_handler_end - \ | 
 | 45 | 		 __tegra_cpu_reset_handler_start) | 
 | 46 |  | 
 | 47 | void __init tegra_cpu_reset_handler_init(void); | 
 | 48 |  | 
 | 49 | #endif | 
 | 50 | #endif |