xref: /rk3399_ARM-atf/plat/rockchip/rk3588/plat_sip_calls.c (revision 10ecd58093a34e95e2dfad65b1180610f29397cc)
1 /*
2  * Copyright (c) 2024, Rockchip, Inc. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #include <common/debug.h>
8 #include <common/runtime_svc.h>
9 #include <drivers/scmi-msg.h>
10 
11 #include <plat_sip_calls.h>
12 #include <rockchip_sip_svc.h>
13 
14 uintptr_t rockchip_plat_sip_handler(uint32_t smc_fid,
15 				    u_register_t x1,
16 				    u_register_t x2,
17 				    u_register_t x3,
18 				    u_register_t x4,
19 				    void *cookie,
20 				    void *handle,
21 				    u_register_t flags)
22 {
23 	switch (smc_fid) {
24 	case RK_SIP_SCMI_AGENT0:
25 		scmi_smt_fastcall_smc_entry(0);
26 		SMC_RET1(handle, 0);
27 
28 	default:
29 		ERROR("%s: unhandled SMC (0x%x)\n", __func__, smc_fid);
30 		SMC_RET1(handle, SMC_UNK);
31 	}
32 }
33