LCOV - code coverage report
Current view: top level - zephyr/drivers/sip_svc - sip_svc_agilex_smc.h Hit Total Coverage
Test: new.info Lines: 1 23 4.3 %
Date: 2024-12-22 00:14:23

          Line data    Source code
       1           1 : /*
       2             :  * Copyright (c) 2022-2023, Intel Corporation.
       3             :  *
       4             :  * SPDX-License-Identifier: Apache-2.0
       5             :  */
       6             : 
       7             : #ifndef ZEPHYR_INCLUDE_SIP_SVC_AGILEX_SMC_H_
       8             : #define ZEPHYR_INCLUDE_SIP_SVC_AGILEX_SMC_H_
       9             : 
      10             : /**
      11             :  * @file
      12             :  * @brief Intel SoC FPGA Agilex customized Arm SiP Services
      13             :  *        SMC protocol.
      14             :  */
      15             : 
      16             : /* @brief SMC return status
      17             :  */
      18             : 
      19           0 : #define SMC_STATUS_INVALID     0xFFFFFFFF
      20           0 : #define SMC_STATUS_OKAY        0
      21           0 : #define SMC_STATUS_BUSY        1
      22           0 : #define SMC_STATUS_REJECT      2
      23           0 : #define SMC_STATUS_NO_RESPONSE 3
      24           0 : #define SMC_STATUS_ERROR       4
      25             : 
      26             : /* @brief SMC Intel Header at a1
      27             :  *
      28             :  * bit
      29             :  *  7: 0   Transaction ID
      30             :  * 59: 8   Reserved
      31             :  * 63:60   Version
      32             :  */
      33           0 : #define SMC_PLAT_PROTO_VER 0x0
      34             : 
      35           0 : #define SMC_PLAT_PROTO_HEADER_TRANS_ID_OFFSET 0
      36           0 : #define SMC_PLAT_PROTO_HEADER_TRANS_ID_MASK   0xFF
      37             : 
      38           0 : #define SMC_PLAT_PROTO_HEADER_VER_OFFSET 60
      39           0 : #define SMC_PLAT_PROTO_HEADER_VER_MASK   0xF
      40             : 
      41           0 : #define SMC_PLAT_PROTO_HEADER                                                                      \
      42             :         ((SMC_PLAT_PROTO_VER & SMC_PLAT_PROTO_HEADER_VER_MASK) << SMC_PLAT_PROTO_HEADER_VER_OFFSET)
      43             : 
      44           0 : #define SMC_PLAT_PROTO_HEADER_SET_TRANS_ID(header, trans_id)                                       \
      45             :         (header) &=                                                                                \
      46             :                 ~(SMC_PLAT_PROTO_HEADER_TRANS_ID_MASK << SMC_PLAT_PROTO_HEADER_TRANS_ID_OFFSET);   \
      47             :         (header) |= (((trans_id)&SMC_PLAT_PROTO_HEADER_TRANS_ID_MASK)                              \
      48             :                      << SMC_PLAT_PROTO_HEADER_TRANS_ID_OFFSET);
      49             : 
      50             : /* @brief SYNC SMC Function IDs
      51             :  */
      52             : 
      53           0 : #define SMC_FUNC_ID_GET_SVC_VERSION 0xC2000400
      54           0 : #define SMC_FUNC_ID_REG_READ        0xC2000401
      55           0 : #define SMC_FUNC_ID_REG_WRITE       0xC2000402
      56           0 : #define SMC_FUNC_ID_REG_UPDATE      0xC2000403
      57           0 : #define SMC_FUNC_ID_SET_HPS_BRIDGES 0xC2000404
      58           0 : #define SMC_FUNC_ID_RSU_UPDATE_ADDR 0xC2000405
      59             : 
      60             : /* @brief ASYNC SMC Function IDs
      61             :  */
      62             : 
      63           0 : #define SMC_FUNC_ID_MAILBOX_SEND_COMMAND  0xC2000420
      64           0 : #define SMC_FUNC_ID_MAILBOX_POLL_RESPONSE 0xC2000421
      65             : 
      66             : /* @brief SDM mailbox CANCEL command
      67             :  */
      68           0 : #define MAILBOX_CANCEL_COMMAND 0x03
      69             : 
      70             : #endif /* ZEPHYR_INCLUDE_SIP_SVC_AGILEX_SMC_H_ */

Generated by: LCOV version 1.14