Lines Matching +full:domain +full:- +full:idle +full:- +full:states
1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2016-2018 Texas Instruments Incorporated - https://www.ti.com/
17 #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()
91 /* CEFUSE domain can be turned off post bootup */ in amx3_common_init()
96 pr_info("PM: Leaving EFUSE power domain active\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()
113 return -ENODEV; in am33xx_suspend_init()
116 ret = amx3_common_init(idle); in am33xx_suspend_init()
121 static int am43xx_suspend_init(int (*idle)(u32 wfi_flags)) in am43xx_suspend_init()
131 ret = amx3_common_init(idle); in am43xx_suspend_init()
156 pr_err("PM: GFX domain did not transition: %x\n", status); in amx3_post_suspend_common()
169 * BUG: GFX_L4LS clock domain needs to be woken up to in am33xx_suspend()
170 * ensure thet L4LS clock domain does not get stuck in in am33xx_suspend()
172 * disabled, thereby leading to PER power domain in am33xx_suspend()
208 * Note that even on systems with OP-TEE available this resume call is in am43xx_suspend()
210 * is restored as the secure monitor. On systems with OP-TEE ROM will in am43xx_suspend()
211 * restore OP-TEE during this call. in am43xx_suspend()
286 * breaking suspend-resume in am43xx_restore_context()
338 devinfo.id = -1; in amx3_common_pm_init()
347 struct amx3_idle_state states[CPUIDLE_STATE_MAX]; in amx3_idle_init() local
352 state_node = of_parse_phandle(cpu_node, "cpu-idle-states", i); in amx3_idle_init()
360 pr_warn("%s: cpuidle states reached max possible\n", in amx3_idle_init()
365 states[state_count].wfi_flags = 0; in amx3_idle_init()
367 if (of_property_read_bool(state_node, "ti,idle-wkup-m3")) in amx3_idle_init()
368 states[state_count].wfi_flags |= WFI_FLAG_WAKE_M3 | in amx3_idle_init()
376 return -ENOMEM; in amx3_idle_init()
379 idle_states[i].wfi_flags = states[i].wfi_flags; in amx3_idle_init()
389 return -EINVAL; in amx3_idle_enter()
392 idle_fn(idle_state->wfi_flags); in amx3_idle_enter()