1 /* 2 * Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 /* 8 * Contains APU specific macros and macros to be defined depending on 9 * the execution environment. 10 */ 11 12 #ifndef PM_CLIENT_H 13 #define PM_CLIENT_H 14 15 #include "pm_common.h" 16 #include "pm_defs.h" 17 18 /* Functions to be implemented by each PU */ 19 void pm_client_suspend(const struct pm_proc *proc, unsigned int state); 20 void pm_client_abort_suspend(void); 21 void pm_client_wakeup(const struct pm_proc *proc); 22 23 /* Global variables to be set in pm_client.c */ 24 extern const struct pm_proc *primary_proc; 25 26 #ifndef VERSAL_PLATFORM 27 enum pm_ret_status set_ocm_retention(void); 28 enum pm_ret_status pm_set_suspend_mode(uint32_t mode); 29 const struct pm_proc *pm_get_proc_by_node(enum pm_node_id nid); 30 #endif 31 32 #endif /* PM_CLIENT_H */ 33