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 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