1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- /*
- * Copyright 2020 NXP
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
- #include <stdbool.h>
- #include <arch.h>
- #include <arch_helpers.h>
- #include <common/debug.h>
- #include <lib/mmio.h>
- #include <lib/psci/psci.h>
- #include <gpc.h>
- #include <imx8m_psci.h>
- #include <plat_imx8.h>
- static const plat_psci_ops_t imx_plat_psci_ops = {
- .pwr_domain_on = imx_pwr_domain_on,
- .pwr_domain_on_finish = imx_pwr_domain_on_finish,
- .pwr_domain_off = imx_pwr_domain_off,
- .validate_ns_entrypoint = imx_validate_ns_entrypoint,
- .validate_power_state = imx_validate_power_state,
- .cpu_standby = imx_cpu_standby,
- .pwr_domain_suspend = imx_domain_suspend,
- .pwr_domain_suspend_finish = imx_domain_suspend_finish,
- .pwr_domain_pwr_down_wfi = imx_pwr_domain_pwr_down_wfi,
- .get_sys_suspend_power_state = imx_get_sys_suspend_power_state,
- .system_reset = imx_system_reset,
- .system_off = imx_system_off,
- };
- /* export the platform specific psci ops */
- int plat_setup_psci_ops(uintptr_t sec_entrypoint,
- const plat_psci_ops_t **psci_ops)
- {
- /* sec_entrypoint is used for warm reset */
- imx_mailbox_init(sec_entrypoint);
- *psci_ops = &imx_plat_psci_ops;
- return 0;
- }
|