Lines Matching +full:suspend +full:- +full:to +full:- +full:idle

1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2016-2018 Texas Instruments Incorporated - https://www.ti.com/
11 #include <linux/suspend.h>
14 #include <asm/suspend.h>
18 #include <linux/platform_data/gpio-omap.h>
33 #include "omap-secure.h"
52 return -ENOMEM; in am43xx_map_scu()
60 pr_warn("WARNING: This platform does not support off-mode, entering DeepSleep suspend.\n"); in am33xx_check_off_mode_enable()
69 * Check for am437x-gp-evm which has the right Hardware design to in am43xx_check_off_mode_enable()
72 if (of_machine_is_compatible("ti,am437x-gp-evm") && enable_off_mode) in am43xx_check_off_mode_enable()
75 pr_warn("WARNING: This platform does not support off-mode, entering DeepSleep suspend.\n"); in am43xx_check_off_mode_enable()
80 static int amx3_common_init(int (*idle)(u32 wfi_flags)) in amx3_common_init()
87 return -ENODEV; in amx3_common_init()
94 pr_err("PM: Failed to get cefuse_pwrdm\n"); in amx3_common_init()
100 idle_fn = idle; in amx3_common_init()
105 static int am33xx_suspend_init(int (*idle)(u32 wfi_flags)) in am33xx_suspend_init()
111 return -ENODEV; in am33xx_suspend_init()
114 return amx3_common_init(idle); in am33xx_suspend_init()
117 static int am43xx_suspend_init(int (*idle)(u32 wfi_flags)) in am43xx_suspend_init()
127 ret = amx3_common_init(idle); in am43xx_suspend_init()
165 * BUG: GFX_L4LS clock domain needs to be woken up to in am33xx_suspend()
168 * disabled, thereby leading to PER power domain in am33xx_suspend()
183 /* Suspend secure side on HS devices */ in am43xx_suspend()
204 * Note that even on systems with OP-TEE available this resume call is in am43xx_suspend()
205 * issued to the ROM. This is because upon waking from suspend the ROM in am43xx_suspend()
206 * is restored as the secure monitor. On systems with OP-TEE ROM will in am43xx_suspend()
207 * restore OP-TEE during this call. in am43xx_suspend()
281 * HACK: restore dpll_per_clkdcoldo register contents, to avoid in am43xx_restore_context()
282 * breaking suspend-resume in am43xx_restore_context()
325 * Block system suspend initially. Later on pm33xx sets up it's own
327 * wkup_m3_ipc and booted am335x-pm-firmware.elf.
331 pr_warn("PM not initialized for pm33xx, wkup_m3_ipc, or am335x-pm-firmware.elf\n"); in amx3_suspend_block()
333 return -EINVAL; in amx3_suspend_block()
372 devinfo.id = -1; in amx3_common_pm_init()
387 state_node = of_parse_phandle(cpu_node, "cpu-idle-states", i); in amx3_idle_init()
402 if (of_property_read_bool(state_node, "ti,idle-wkup-m3")) in amx3_idle_init()
411 return -ENOMEM; in amx3_idle_init()
424 return -EINVAL; in amx3_idle_enter()
427 idle_fn(idle_state->wfi_flags); in amx3_idle_enter()
434 .suspend = amx3_idle_enter,