1 /* 2 * Arm SCP/MCP Software 3 * Copyright (c) 2022, Linaro Limited and Contributors. All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 #ifndef ARCH_MAIN_H 9 #define ARCH_MAIN_H 10 11 #include <stdbool.h> 12 #include <stddef.h> 13 #include <stdint.h> 14 15 /*! 16 * \brief Initialize the architecture. 17 * 18 */ 19 int scmi_arch_init(void); 20 21 /*! 22 * \brief Stop the architecture. 23 * 24 */ 25 int scmi_arch_deinit(void); 26 27 /*! 28 * \brief Get number of channels. 29 * 30 */ 31 extern int scmi_get_devices_count(void); 32 33 /*! 34 * \brief Get the id of a channel. 35 * 36 */ 37 extern int scmi_get_device(unsigned int id); 38 39 /*! 40 * \brief Add new event to process on the channel id. 41 * 42 */ 43 extern void scmi_process_mbx_smt(unsigned int id); 44 45 extern void scmi_process_mbx_msg(unsigned int id, void *in_buf, size_t in_size, 46 void *out_buf, size_t *out_size); 47 48 #endif /* ARCH_MAIN_H */ 49