Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
 1/* SPDX-License-Identifier: GPL-2.0-only */
 2/*
 3 * Copyright (C) 2014 NVIDIA Corporation
 4 */
 5
 6#ifndef __SOC_TEGRA_PM_H__
 7#define __SOC_TEGRA_PM_H__
 8
 9#include <linux/errno.h>
10
11enum tegra_suspend_mode {
12	TEGRA_SUSPEND_NONE = 0,
13	TEGRA_SUSPEND_LP2, /* CPU voltage off */
14	TEGRA_SUSPEND_LP1, /* CPU voltage off, DRAM self-refresh */
15	TEGRA_SUSPEND_LP0, /* CPU + core voltage off, DRAM self-refresh */
16	TEGRA_MAX_SUSPEND_MODE,
17};
18
19#if defined(CONFIG_PM_SLEEP) && defined(CONFIG_ARM)
20enum tegra_suspend_mode
21tegra_pm_validate_suspend_mode(enum tegra_suspend_mode mode);
22
23/* low-level resume entry point */
24void tegra_resume(void);
25
26int tegra30_pm_secondary_cpu_suspend(unsigned long arg);
27void tegra_pm_clear_cpu_in_lp2(void);
28void tegra_pm_set_cpu_in_lp2(void);
29int tegra_pm_enter_lp2(void);
30int tegra_pm_park_secondary_cpu(unsigned long cpu);
31#else
32static inline enum tegra_suspend_mode
33tegra_pm_validate_suspend_mode(enum tegra_suspend_mode mode)
34{
35	return TEGRA_SUSPEND_NONE;
36}
37
38static inline void tegra_resume(void)
39{
40}
41
42static inline int tegra30_pm_secondary_cpu_suspend(unsigned long arg)
43{
44	return -ENOTSUPP;
45}
46
47static inline void tegra_pm_clear_cpu_in_lp2(void)
48{
49}
50
51static inline void tegra_pm_set_cpu_in_lp2(void)
52{
53}
54
55static inline int tegra_pm_enter_lp2(void)
56{
57	return -ENOTSUPP;
58}
59
60static inline int tegra_pm_park_secondary_cpu(unsigned long cpu)
61{
62	return -ENOTSUPP;
63}
64#endif /* CONFIG_PM_SLEEP */
65
66#endif /* __SOC_TEGRA_PM_H__ */