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 13struct tegra_lp1_iram { 14 void *start_addr; 15 void *end_addr; 16}; 17 18extern struct tegra_lp1_iram tegra_lp1_iram; 19extern void (*tegra_sleep_core_finish)(unsigned long v2p); 20 21void tegra20_lp1_iram_hook(void); 22void tegra20_sleep_core_init(void); 23void tegra30_lp1_iram_hook(void); 24void tegra30_sleep_core_init(void); 25 26void tegra_clear_cpu_in_lp2(void); 27bool tegra_set_cpu_in_lp2(void); 28int tegra_cpu_do_idle(void); 29void tegra_idle_lp2_last(void); 30extern void (*tegra_tear_down_cpu)(void); 31 32#ifdef CONFIG_PM_SLEEP 33void tegra_init_suspend(void); 34#else 35static inline void tegra_init_suspend(void) {} 36#endif 37 38#endif /* _MACH_TEGRA_PM_H_ */ 39