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