1 /* 2 * Arm SCP/MCP Software 3 * Copyright (c) 2022, Arm Limited and Contributors. All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 * 7 * Description: 8 * System Control and Management Interface (SCMI) Sensor 9 * requester support. 10 */ 11 12 #ifndef MOD_SCMI_SENSOR_REQ_H 13 #define MOD_SCMI_SENSOR_REQ_H 14 15 #include <fwk_id.h> 16 #include <fwk_macros.h> 17 18 #include <stddef.h> 19 #include <stdint.h> 20 21 /*! 22 * \addtogroup GroupModules Modules 23 * \{ 24 */ 25 26 /*! 27 * \defgroup GroupSCMISensorRequester SCMI Sensor Protocol Requester 28 * 29 * \brief SCMI Sensor Protocol requester implementation. 30 * 31 * \{ 32 */ 33 34 /*! 35 * \brief Sensor requester get value mode 36 */ 37 enum scmi_sensor_req_async_flag { 38 SENSOR_REQ_SYNC = 0, 39 SENSOR_REQ_ASYNC, 40 }; 41 42 /*! 43 * \brief SCMI sensor requester configuration 44 */ 45 struct scmi_sensor_req_config { 46 /*! 47 * \brief SCMI Service ID 48 * 49 * \details The service ID which corresponds to the required 50 * channel in the transport layer. 51 */ 52 fwk_id_t service_id; 53 /*! 54 * \brief SCMI Sensor ID 55 * 56 * \details This is the sensor ID exposed by SCMI on the platform side. 57 */ 58 uint32_t scmi_sensor_id; 59 /*! 60 * \brief Sensor HAL identifier 61 * 62 * \details This the identifier for the HAL module that communicates 63 * directly with this module within the same entity. 64 */ 65 fwk_id_t sensor_hal_id; 66 /*! 67 * \brief Async flag 68 */ 69 enum scmi_sensor_req_async_flag async_flag; 70 }; 71 72 /*! 73 * \} 74 */ 75 76 /*! 77 * \} 78 */ 79 80 #endif /* MOD_SCMI_SENSOR_REQ_H */ 81