2021-03-01 15:57:15 +08:00
|
|
|
/*
|
|
|
|
* Copyright 2020 Carlo Caione <ccaione@baylibre.com>
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef ZEPHYR_INCLUDE_DRIVERS_PM_CPU_OPS_PSCI_H_
|
|
|
|
#define ZEPHYR_INCLUDE_DRIVERS_PM_CPU_OPS_PSCI_H_
|
|
|
|
|
|
|
|
#include <zephyr/types.h>
|
2021-03-25 18:56:15 +08:00
|
|
|
#include <arch/arm64/arm-smccc.h>
|
2021-03-01 15:57:15 +08:00
|
|
|
#include <stddef.h>
|
|
|
|
#include <device.h>
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/* PSCI version decoding (independent of PSCI version) */
|
|
|
|
#define PSCI_VERSION_MAJOR_SHIFT 16
|
|
|
|
#define PSCI_VERSION_MINOR_MASK \
|
|
|
|
((1U << PSCI_VERSION_MAJOR_SHIFT) - 1)
|
|
|
|
#define PSCI_VERSION_MAJOR_MASK ~PSCI_VERSION_MINOR_MASK
|
|
|
|
|
|
|
|
#define PSCI_VERSION_MAJOR(ver) \
|
|
|
|
(((ver) & PSCI_VERSION_MAJOR_MASK) >> PSCI_VERSION_MAJOR_SHIFT)
|
|
|
|
#define PSCI_VERSION_MINOR(ver) \
|
|
|
|
((ver) & PSCI_VERSION_MINOR_MASK)
|
|
|
|
|
|
|
|
uint32_t psci_version(void);
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* ZEPHYR_INCLUDE_DRIVERS_PM_CPU_OPS_PSCI_H_ */
|