1*91f16700Schasinglulu /* 2*91f16700Schasinglulu * Copyright (C) 2016 Freescale Semiconductor, Inc. 3*91f16700Schasinglulu * Copyright 2017-2019 NXP 4*91f16700Schasinglulu * 5*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 6*91f16700Schasinglulu */ 7*91f16700Schasinglulu 8*91f16700Schasinglulu /*! 9*91f16700Schasinglulu * Header file for the MISC RPC implementation. 10*91f16700Schasinglulu * 11*91f16700Schasinglulu * @addtogroup MISC_SVC 12*91f16700Schasinglulu * @{ 13*91f16700Schasinglulu */ 14*91f16700Schasinglulu 15*91f16700Schasinglulu #ifndef SC_MISC_RPC_H 16*91f16700Schasinglulu #define SC_MISC_RPC_H 17*91f16700Schasinglulu 18*91f16700Schasinglulu /* Includes */ 19*91f16700Schasinglulu 20*91f16700Schasinglulu /* Defines */ 21*91f16700Schasinglulu 22*91f16700Schasinglulu /*! 23*91f16700Schasinglulu * @name Defines for RPC MISC function calls 24*91f16700Schasinglulu */ 25*91f16700Schasinglulu /*@{*/ 26*91f16700Schasinglulu #define MISC_FUNC_UNKNOWN 0 /* Unknown function */ 27*91f16700Schasinglulu #define MISC_FUNC_SET_CONTROL 1U /* Index for misc_set_control() RPC call */ 28*91f16700Schasinglulu #define MISC_FUNC_GET_CONTROL 2U /* Index for misc_get_control() RPC call */ 29*91f16700Schasinglulu #define MISC_FUNC_SET_MAX_DMA_GROUP 4U /* Index for misc_set_max_dma_group() RPC call */ 30*91f16700Schasinglulu #define MISC_FUNC_SET_DMA_GROUP 5U /* Index for misc_set_dma_group() RPC call */ 31*91f16700Schasinglulu #define MISC_FUNC_SECO_IMAGE_LOAD 8U /* Index for misc_seco_image_load() RPC call */ 32*91f16700Schasinglulu #define MISC_FUNC_SECO_AUTHENTICATE 9U /* Index for misc_seco_authenticate() RPC call */ 33*91f16700Schasinglulu #define MISC_FUNC_SECO_FUSE_WRITE 20U /* Index for misc_seco_fuse_write() RPC call */ 34*91f16700Schasinglulu #define MISC_FUNC_SECO_ENABLE_DEBUG 21U /* Index for misc_seco_enable_debug() RPC call */ 35*91f16700Schasinglulu #define MISC_FUNC_SECO_FORWARD_LIFECYCLE 22U /* Index for misc_seco_forward_lifecycle() RPC call */ 36*91f16700Schasinglulu #define MISC_FUNC_SECO_RETURN_LIFECYCLE 23U /* Index for misc_seco_return_lifecycle() RPC call */ 37*91f16700Schasinglulu #define MISC_FUNC_SECO_BUILD_INFO 24U /* Index for misc_seco_build_info() RPC call */ 38*91f16700Schasinglulu #define MISC_FUNC_SECO_CHIP_INFO 25U /* Index for misc_seco_chip_info() RPC call */ 39*91f16700Schasinglulu #define MISC_FUNC_DEBUG_OUT 10U /* Index for misc_debug_out() RPC call */ 40*91f16700Schasinglulu #define MISC_FUNC_WAVEFORM_CAPTURE 6U /* Index for misc_waveform_capture() RPC call */ 41*91f16700Schasinglulu #define MISC_FUNC_BUILD_INFO 15U /* Index for misc_build_info() RPC call */ 42*91f16700Schasinglulu #define MISC_FUNC_UNIQUE_ID 19U /* Index for misc_unique_id() RPC call */ 43*91f16700Schasinglulu #define MISC_FUNC_SET_ARI 3U /* Index for misc_set_ari() RPC call */ 44*91f16700Schasinglulu #define MISC_FUNC_BOOT_STATUS 7U /* Index for misc_boot_status() RPC call */ 45*91f16700Schasinglulu #define MISC_FUNC_BOOT_DONE 14U /* Index for misc_boot_done() RPC call */ 46*91f16700Schasinglulu #define MISC_FUNC_OTP_FUSE_READ 11U /* Index for misc_otp_fuse_read() RPC call */ 47*91f16700Schasinglulu #define MISC_FUNC_OTP_FUSE_WRITE 17U /* Index for misc_otp_fuse_write() RPC call */ 48*91f16700Schasinglulu #define MISC_FUNC_SET_TEMP 12U /* Index for misc_set_temp() RPC call */ 49*91f16700Schasinglulu #define MISC_FUNC_GET_TEMP 13U /* Index for misc_get_temp() RPC call */ 50*91f16700Schasinglulu #define MISC_FUNC_GET_BOOT_DEV 16U /* Index for misc_get_boot_dev() RPC call */ 51*91f16700Schasinglulu #define MISC_FUNC_GET_BUTTON_STATUS 18U /* Index for misc_get_button_status() RPC call */ 52*91f16700Schasinglulu /*@}*/ 53*91f16700Schasinglulu 54*91f16700Schasinglulu /* Types */ 55*91f16700Schasinglulu 56*91f16700Schasinglulu /* Functions */ 57*91f16700Schasinglulu 58*91f16700Schasinglulu /*! 59*91f16700Schasinglulu * This function dispatches an incoming MISC RPC request. 60*91f16700Schasinglulu * 61*91f16700Schasinglulu * @param[in] caller_pt caller partition 62*91f16700Schasinglulu * @param[in] msg pointer to RPC message 63*91f16700Schasinglulu */ 64*91f16700Schasinglulu void misc_dispatch(sc_rm_pt_t caller_pt, sc_rpc_msg_t *msg); 65*91f16700Schasinglulu 66*91f16700Schasinglulu /*! 67*91f16700Schasinglulu * This function translates and dispatches an MISC RPC request. 68*91f16700Schasinglulu * 69*91f16700Schasinglulu * @param[in] ipc IPC handle 70*91f16700Schasinglulu * @param[in] msg pointer to RPC message 71*91f16700Schasinglulu */ 72*91f16700Schasinglulu void misc_xlate(sc_ipc_t ipc, sc_rpc_msg_t *msg); 73*91f16700Schasinglulu 74*91f16700Schasinglulu #endif /* SC_MISC_RPC_H */ 75*91f16700Schasinglulu 76*91f16700Schasinglulu /**@}*/ 77