43 lines
890 B
C
43 lines
890 B
C
|
/*
|
||
|
* 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;
|
||
|
}
|