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