blob: 77e73cbeee07d7c0dde3b28eaa58999d344c275c [file] [log] [blame]
Andrew Scull550d99b2020-02-10 13:55:00 +00001/*
2 * Copyright 2020 The Hafnium Authors.
3 *
Andrew Walbrane959ec12020-06-17 15:01:09 +01004 * Use of this source code is governed by a BSD-style
5 * license that can be found in the LICENSE file or at
6 * https://opensource.org/licenses/BSD-3-Clause.
Andrew Scull550d99b2020-02-10 13:55:00 +00007 */
8
9#pragma once
10
11#include "hf/vcpu.h"
12
13/**
Olivier Deprezf17eadc2021-01-25 15:33:38 +010014 * Returns the platform specific PSCI version value.
15 */
16uint32_t plat_psci_version_get(void);
17
18/**
19 * Called once at boot time to initialize the platform power management module.
20 */
21void plat_psci_init(void);
22
23/**
Andrew Scull550d99b2020-02-10 13:55:00 +000024 * Called before the PSCI_CPU_SUSPEND SMC is forwarded. The power state is
25 * provided to allow actions to be taken based on the implementation defined
26 * meaning of this field.
27 */
28void plat_psci_cpu_suspend(uint32_t power_state);
29
30/** Called when a CPU resumes from being off or suspended. */
Olivier Deprez148b5602022-03-16 17:13:06 +010031struct vcpu *plat_psci_cpu_resume(struct cpu *c);