pm_client.h 948 B

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