/* * Copyright (c) 2006-2019, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2023-02-21 GuEe-GUI replace with drivers/psci */ #include #include #define DBG_TAG "cpu.aa64" #define DBG_LVL DBG_INFO #include #include #include #include static int psci_cpu_boot(rt_uint32_t cpuid, rt_uint64_t entry) { return rt_psci_cpu_on(cpuid, entry); } static void psci_cpu_shutdown(void) { rt_uint32_t state, state_id = PSCI_POWER_STATE_ID(0, 0, 0, PSCI_POWER_STATE_ID_POWERDOWN); state = PSCI_POWER_STATE(PSCI_POWER_STATE_LEVEL_CORES, PSCI_POWER_STATE_TYPE_STANDBY, state_id); rt_psci_cpu_off(state); } struct cpu_ops_t cpu_psci_ops = { .method = "psci", .cpu_boot = psci_cpu_boot, .cpu_shutdown = psci_cpu_shutdown, };