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