1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Copyright (C) 2010 Google, Inc. 4 * Copyright (c) 2010-2012 NVIDIA Corporation. All rights reserved. 5 * 6 * Author: 7 * Colin Cross <ccross@google.com> 8 */ 9 10 #ifndef _MACH_TEGRA_PM_H_ 11 #define _MACH_TEGRA_PM_H_ 12 13 struct tegra_lp1_iram { 14 void *start_addr; 15 void *end_addr; 16 }; 17 18 extern struct tegra_lp1_iram tegra_lp1_iram; 19 extern void (*tegra_sleep_core_finish)(unsigned long v2p); 20 21 void tegra20_lp1_iram_hook(void); 22 void tegra20_sleep_core_init(void); 23 void tegra30_lp1_iram_hook(void); 24 void tegra30_sleep_core_init(void); 25 26 void tegra_clear_cpu_in_lp2(void); 27 bool tegra_set_cpu_in_lp2(void); 28 int tegra_cpu_do_idle(void); 29 void tegra_idle_lp2_last(void); 30 extern void (*tegra_tear_down_cpu)(void); 31 32 #ifdef CONFIG_PM_SLEEP 33 void tegra_init_suspend(void); 34 #else 35 static inline void tegra_init_suspend(void) {} 36 #endif 37 38 #endif /* _MACH_TEGRA_PM_H_ */ 39