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_ */