| /* |
| * Copyright (c) 2019, Xilinx, Inc. All rights reserved. |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| */ |
| |
| /* |
| * Top-level SMC handler for Versal power management calls and |
| * IPI setup functions for communication with PMC. |
| */ |
| |
| #include <errno.h> |
| #include <plat_private.h> |
| #include "pm_client.h" |
| #include "pm_ipi.h" |
| |
| /** |
| * pm_setup() - PM service setup |
| * |
| * @return On success, the initialization function must return 0. |
| * Any other return value will cause the framework to ignore |
| * the service |
| * |
| * Initialization functions for Versal power management for |
| * communicaton with PMC. |
| * |
| * Called from sip_svc_setup initialization function with the |
| * rt_svc_init signature. |
| */ |
| int pm_setup(void) |
| { |
| int status, ret = 0; |
| |
| status = pm_ipi_init(primary_proc); |
| |
| if (status < 0) { |
| INFO("BL31: PM Service Init Failed, Error Code %d!\n", status); |
| ret = status; |
| } |
| |
| return ret; |
| } |