1*025514baSAnson Huang /* 2*025514baSAnson Huang * Copyright (c) 2015-2019, ARM Limited and Contributors. All rights reserved. 3*025514baSAnson Huang * 4*025514baSAnson Huang * SPDX-License-Identifier: BSD-3-Clause 5*025514baSAnson Huang */ 6*025514baSAnson Huang 7*025514baSAnson Huang #include <stdint.h> 8*025514baSAnson Huang #include <common/debug.h> 9*025514baSAnson Huang #include <common/runtime_svc.h> 10*025514baSAnson Huang #include <lib/pmf/pmf.h> 11*025514baSAnson Huang #include <tools_share/uuid.h> 12*025514baSAnson Huang #include <imx_sip_svc.h> 13*025514baSAnson Huang 14*025514baSAnson Huang static int32_t imx_sip_setup(void) 15*025514baSAnson Huang { 16*025514baSAnson Huang return 0; 17*025514baSAnson Huang } 18*025514baSAnson Huang 19*025514baSAnson Huang static uintptr_t imx_sip_handler(unsigned int smc_fid, 20*025514baSAnson Huang u_register_t x1, 21*025514baSAnson Huang u_register_t x2, 22*025514baSAnson Huang u_register_t x3, 23*025514baSAnson Huang u_register_t x4, 24*025514baSAnson Huang void *cookie, 25*025514baSAnson Huang void *handle, 26*025514baSAnson Huang u_register_t flags) 27*025514baSAnson Huang { 28*025514baSAnson Huang switch (smc_fid) { 29*025514baSAnson Huang #if (defined(PLAT_IMX8QM) || defined(PLAT_IMX8QX)) 30*025514baSAnson Huang case IMX_SIP_SRTC: 31*025514baSAnson Huang return imx_srtc_handler(smc_fid, handle, x1, x2, x3, x4); 32*025514baSAnson Huang #endif 33*025514baSAnson Huang default: 34*025514baSAnson Huang WARN("Unimplemented i.MX SiP Service Call: 0x%x\n", smc_fid); 35*025514baSAnson Huang SMC_RET1(handle, SMC_UNK); 36*025514baSAnson Huang break; 37*025514baSAnson Huang } 38*025514baSAnson Huang } 39*025514baSAnson Huang 40*025514baSAnson Huang /* Define a runtime service descriptor for fast SMC calls */ 41*025514baSAnson Huang DECLARE_RT_SVC( 42*025514baSAnson Huang imx_sip_svc, 43*025514baSAnson Huang OEN_SIP_START, 44*025514baSAnson Huang OEN_SIP_END, 45*025514baSAnson Huang SMC_TYPE_FAST, 46*025514baSAnson Huang imx_sip_setup, 47*025514baSAnson Huang imx_sip_handler 48*025514baSAnson Huang ); 49