1 /* 2 * Copyright (c) 2019-2023, Intel Corporation. All rights reserved. 3 * Copyright (c) 2024-2025, Altera Corporation. All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 #ifndef SOCFPGA_SIP_SVC_H 9 #define SOCFPGA_SIP_SVC_H 10 11 12 /* SiP status response */ 13 #define INTEL_SIP_SMC_STATUS_OK 0 14 #define INTEL_SIP_SMC_STATUS_BUSY 0x1 15 #define INTEL_SIP_SMC_STATUS_REJECTED 0x2 16 #define INTEL_SIP_SMC_STATUS_NO_RESPONSE 0x3 17 #define INTEL_SIP_SMC_STATUS_ERROR 0x4 18 #define INTEL_SIP_SMC_RSU_ERROR 0x7 19 #define INTEL_SIP_SMC_SEU_ERR_READ_ERROR 0x8 20 21 /* SiP mailbox error code */ 22 #define GENERIC_RESPONSE_ERROR 0x3FF 23 24 /* SiP V2 command code range */ 25 #define INTEL_SIP_SMC_CMD_MASK 0xFFFF 26 #define INTEL_SIP_SMC_CMD_V2_RANGE_BEGIN 0x400 27 #define INTEL_SIP_SMC_CMD_V2_RANGE_END 0x4FF 28 29 /* SiP V3 command code range */ 30 #define INTEL_SIP_SMC_CMD_V3_RANGE_BEGIN 0x00C8 31 #define INTEL_SIP_SMC_CMD_V3_RANGE_END 0x01F4 32 33 /* SiP V2 protocol header */ 34 #define INTEL_SIP_SMC_HEADER_JOB_ID_MASK 0xF 35 #define INTEL_SIP_SMC_HEADER_JOB_ID_OFFSET 0U 36 #define INTEL_SIP_SMC_HEADER_CID_MASK 0xF 37 #define INTEL_SIP_SMC_HEADER_CID_OFFSET 4U 38 #define INTEL_SIP_SMC_HEADER_VERSION_MASK 0xF 39 #define INTEL_SIP_SMC_HEADER_VERSION_OFFSET 60U 40 41 /* SMC SiP service function identifier for version 1 */ 42 43 /* FPGA Reconfig */ 44 #define INTEL_SIP_SMC_FPGA_CONFIG_START 0xC2000001 45 #define INTEL_SIP_SMC_FPGA_CONFIG_WRITE 0x42000002 46 #define INTEL_SIP_SMC_FPGA_CONFIG_COMPLETED_WRITE 0xC2000003 47 #define INTEL_SIP_SMC_FPGA_CONFIG_ISDONE 0xC2000004 48 #define INTEL_SIP_SMC_FPGA_CONFIG_GET_MEM 0xC2000005 49 50 /* FPGA Bitstream Flag */ 51 #define FLAG_PARTIAL_CONFIG BIT(0) 52 #define FLAG_AUTHENTICATION BIT(1) 53 #define CONFIG_TEST_FLAG(_flag, _type) (((flag) & FLAG_##_type) \ 54 == FLAG_##_type) 55 56 /* Secure Register Access */ 57 #define INTEL_SIP_SMC_REG_READ 0xC2000007 58 #define INTEL_SIP_SMC_REG_WRITE 0xC2000008 59 #define INTEL_SIP_SMC_REG_UPDATE 0xC2000009 60 61 /* Remote System Update */ 62 #define INTEL_SIP_SMC_RSU_STATUS 0xC200000B 63 #define INTEL_SIP_SMC_RSU_UPDATE 0xC200000C 64 #define INTEL_SIP_SMC_RSU_NOTIFY 0xC200000E 65 #define INTEL_SIP_SMC_RSU_RETRY_COUNTER 0xC200000F 66 #define INTEL_SIP_SMC_RSU_DCMF_VERSION 0xC2000010 67 #define INTEL_SIP_SMC_RSU_COPY_DCMF_VERSION 0xC2000011 68 #define INTEL_SIP_SMC_RSU_MAX_RETRY 0xC2000012 69 #define INTEL_SIP_SMC_RSU_COPY_MAX_RETRY 0xC2000013 70 #define INTEL_SIP_SMC_RSU_DCMF_STATUS 0xC2000014 71 #define INTEL_SIP_SMC_RSU_COPY_DCMF_STATUS 0xC2000015 72 #define INTEL_SIP_SMC_RSU_GET_DEVICE_INFO 0xC2000016 73 74 /* Hardware monitor */ 75 #define INTEL_SIP_SMC_HWMON_READTEMP 0xC2000020 76 #define INTEL_SIP_SMC_HWMON_READVOLT 0xC2000021 77 #define TEMP_CHANNEL_MAX (1 << 15) 78 #define VOLT_CHANNEL_MAX (1 << 15) 79 80 /* ECC */ 81 #define INTEL_SIP_SMC_ECC_DBE 0xC200000D 82 83 /* Generic Command */ 84 #define INTEL_SIP_SMC_SERVICE_COMPLETED 0xC200001E 85 #define INTEL_SIP_SMC_FIRMWARE_VERSION 0xC200001F 86 #define INTEL_SIP_SMC_HPS_SET_BRIDGES 0xC2000032 87 #define INTEL_SIP_SMC_GET_ROM_PATCH_SHA384 0xC2000040 88 89 #define SERVICE_COMPLETED_MODE_ASYNC 0x00004F4E 90 91 /* Mailbox Command */ 92 #define INTEL_SIP_SMC_MBOX_SEND_CMD 0xC200003C 93 #define INTEL_SIP_SMC_GET_USERCODE 0xC200003D 94 95 /* FPGA Crypto Services */ 96 #define INTEL_SIP_SMC_FCS_RANDOM_NUMBER 0xC200005A 97 #define INTEL_SIP_SMC_FCS_RANDOM_NUMBER_EXT 0x4200008F 98 #define INTEL_SIP_SMC_FCS_CRYPTION 0x4200005B 99 #define INTEL_SIP_SMC_FCS_CRYPTION_EXT 0xC2000090 100 #define INTEL_SIP_SMC_FCS_SERVICE_REQUEST 0x4200005C 101 #define INTEL_SIP_SMC_FCS_SEND_CERTIFICATE 0x4200005D 102 #define INTEL_SIP_SMC_FCS_GET_PROVISION_DATA 0x4200005E 103 #define INTEL_SIP_SMC_FCS_CNTR_SET_PREAUTH 0xC200005F 104 #define INTEL_SIP_SMC_FCS_PSGSIGMA_TEARDOWN 0xC2000064 105 #define INTEL_SIP_SMC_FCS_CHIP_ID 0xC2000065 106 #define INTEL_SIP_SMC_FCS_ATTESTATION_SUBKEY 0xC2000066 107 #define INTEL_SIP_SMC_FCS_ATTESTATION_MEASUREMENTS 0xC2000067 108 #define INTEL_SIP_SMC_FCS_GET_ATTESTATION_CERT 0xC2000068 109 #define INTEL_SIP_SMC_FCS_CREATE_CERT_ON_RELOAD 0xC2000069 110 #define INTEL_SIP_SMC_FCS_OPEN_CS_SESSION 0xC200006E 111 #define INTEL_SIP_SMC_FCS_CLOSE_CS_SESSION 0xC200006F 112 #define INTEL_SIP_SMC_FCS_IMPORT_CS_KEY 0x42000070 113 #define INTEL_SIP_SMC_FCS_EXPORT_CS_KEY 0xC2000071 114 #define INTEL_SIP_SMC_FCS_REMOVE_CS_KEY 0xC2000072 115 #define INTEL_SIP_SMC_FCS_GET_CS_KEY_INFO 0xC2000073 116 #define INTEL_SIP_SMC_FCS_AES_CRYPT_INIT 0xC2000074 117 #define INTEL_SIP_SMC_FCS_AES_CRYPT_UPDATE 0x42000075 118 #define INTEL_SIP_SMC_FCS_AES_CRYPT_FINALIZE 0x42000076 119 #define INTEL_SIP_SMC_FCS_GET_DIGEST_INIT 0xC2000077 120 #define INTEL_SIP_SMC_FCS_GET_DIGEST_UPDATE 0xC2000078 121 #define INTEL_SIP_SMC_FCS_GET_DIGEST_FINALIZE 0xC2000079 122 #define INTEL_SIP_SMC_FCS_GET_DIGEST_SMMU_UPDATE 0x42000091 123 #define INTEL_SIP_SMC_FCS_GET_DIGEST_SMMU_FINALIZE 0x42000092 124 #define INTEL_SIP_SMC_FCS_MAC_VERIFY_INIT 0xC200007A 125 #define INTEL_SIP_SMC_FCS_MAC_VERIFY_UPDATE 0xC200007B 126 #define INTEL_SIP_SMC_FCS_MAC_VERIFY_FINALIZE 0xC200007C 127 #define INTEL_SIP_SMC_FCS_MAC_VERIFY_SMMU_UPDATE 0x42000093 128 #define INTEL_SIP_SMC_FCS_MAC_VERIFY_SMMU_FINALIZE 0x42000094 129 #define INTEL_SIP_SMC_FCS_ECDSA_HASH_SIGN_INIT 0xC200007D 130 #define INTEL_SIP_SMC_FCS_ECDSA_HASH_SIGN_FINALIZE 0xC200007F 131 #define INTEL_SIP_SMC_FCS_ECDSA_SHA2_DATA_SIGN_INIT 0xC2000080 132 #define INTEL_SIP_SMC_FCS_ECDSA_SHA2_DATA_SIGN_UPDATE 0xC2000081 133 #define INTEL_SIP_SMC_FCS_ECDSA_SHA2_DATA_SIGN_FINALIZE 0xC2000082 134 #define INTEL_SIP_SMC_FCS_ECDSA_SHA2_DATA_SIGN_SMMU_UPDATE 0x42000095 135 #define INTEL_SIP_SMC_FCS_ECDSA_SHA2_DATA_SIGN_SMMU_FINALIZE 0x42000096 136 #define INTEL_SIP_SMC_FCS_ECDSA_HASH_SIG_VERIFY_INIT 0xC2000083 137 #define INTEL_SIP_SMC_FCS_ECDSA_HASH_SIG_VERIFY_FINALIZE 0xC2000085 138 #define INTEL_SIP_SMC_FCS_ECDSA_SHA2_DATA_SIG_VERIFY_INIT 0xC2000086 139 #define INTEL_SIP_SMC_FCS_ECDSA_SHA2_DATA_SIG_VERIFY_UPDATE 0xC2000087 140 #define INTEL_SIP_SMC_FCS_ECDSA_SHA2_DATA_SIG_VERIFY_FINALIZE 0xC2000088 141 #define INTEL_SIP_SMC_FCS_ECDSA_SHA2_DATA_SIG_VERIFY_SMMU_UPDATE 0x42000097 142 #define INTEL_SIP_SMC_FCS_ECDSA_SHA2_DATA_SIG_VERIFY_SMMU_FINALIZE 0x42000098 143 #define INTEL_SIP_SMC_FCS_ECDSA_GET_PUBKEY_INIT 0xC2000089 144 #define INTEL_SIP_SMC_FCS_ECDSA_GET_PUBKEY_FINALIZE 0xC200008B 145 #define INTEL_SIP_SMC_FCS_ECDH_REQUEST_INIT 0xC200008C 146 #define INTEL_SIP_SMC_FCS_ECDH_REQUEST_FINALIZE 0xC200008E 147 #define INTEL_SIP_SMC_FCS_SDM_REMAPPER_CONFIG 0xC2000201 148 149 /* SEU ERR */ 150 #define INTEL_SIP_SMC_SEU_ERR_STATUS 0xC2000099 151 #define INTEL_SIP_SMC_SAFE_INJECT_SEU_ERR 0xC200009A 152 153 /* ATF build version */ 154 #define INTEL_SIP_SMC_ATF_BUILD_VER 0xC200009B 155 156 /* IO96B ECC Error Injection */ 157 #define INTEL_SIP_SMC_INJECT_IO96B_ECC_ERR 0xC200009C 158 159 #define INTEL_SIP_SMC_FCS_SHA_MODE_MASK 0xF 160 #define INTEL_SIP_SMC_FCS_DIGEST_SIZE_MASK 0xF 161 #define INTEL_SIP_SMC_FCS_DIGEST_SIZE_OFFSET 4U 162 #define INTEL_SIP_SMC_FCS_ECC_ALGO_MASK 0xF 163 164 /* ECC DBE */ 165 #define WARM_RESET_WFI_FLAG BIT(31) 166 #define SYSMGR_ECC_DBE_COLD_RST_MASK (SYSMGR_ECC_OCRAM_MASK |\ 167 SYSMGR_ECC_DDR0_MASK |\ 168 SYSMGR_ECC_DDR1_MASK) 169 #define IOSSM_ECC_ERR_INJ_DELAY_USECS (40U) 170 #define IOSSM_CMD_STATUS_RESP_READY BIT(0) 171 172 /* Non-mailbox SMC Call */ 173 #define INTEL_SIP_SMC_SVC_VERSION 0xC2000200 174 175 /** 176 * SMC SiP service function identifier for version 2 177 * Command code from 0x400 ~ 0x4FF 178 */ 179 180 /* V2: Non-mailbox function identifier */ 181 #define INTEL_SIP_SMC_V2_GET_SVC_VERSION 0xC2000400 182 #define INTEL_SIP_SMC_V2_REG_READ 0xC2000401 183 #define INTEL_SIP_SMC_V2_REG_WRITE 0xC2000402 184 #define INTEL_SIP_SMC_V2_REG_UPDATE 0xC2000403 185 #define INTEL_SIP_SMC_V2_HPS_SET_BRIDGES 0xC2000404 186 #define INTEL_SIP_SMC_V2_RSU_UPDATE_ADDR 0xC2000405 187 188 /* V2: Mailbox function identifier */ 189 #define INTEL_SIP_SMC_V2_MAILBOX_SEND_COMMAND 0xC2000420 190 #define INTEL_SIP_SMC_V2_MAILBOX_POLL_RESPONSE 0xC2000421 191 192 /* SMC function IDs for SiP Service queries */ 193 #define SIP_SVC_CALL_COUNT 0x8200ff00 194 #define SIP_SVC_UID 0x8200ff01 195 #define SIP_SVC_VERSION 0x8200ff03 196 197 /* SiP Service Calls version numbers */ 198 /* 199 * Increase if there is any backward compatibility impact 200 */ 201 #define SIP_SVC_VERSION_MAJOR 3 202 /* 203 * Increase if there is new SMC function ID being added 204 */ 205 #define SIP_SVC_VERSION_MINOR 1 206 207 208 /* Structure Definitions */ 209 struct fpga_config_info { 210 uint32_t addr; 211 int size; 212 int size_written; 213 uint32_t write_requested; 214 int subblocks_sent; 215 int block_number; 216 }; 217 218 typedef enum { 219 NO_REQUEST = 0, 220 RECONFIGURATION, 221 BITSTREAM_AUTH 222 } config_type; 223 224 /* Function Definitions */ 225 bool is_size_4_bytes_aligned(uint32_t size); 226 bool is_address_in_ddr_range(uint64_t addr, uint64_t size); 227 228 /* ECC DBE */ 229 bool cold_reset_for_ecc_dbe(void); 230 uint32_t intel_ecc_dbe_notification(uint64_t dbe_value); 231 232 /* Secure register access */ 233 uint32_t intel_secure_reg_read(uint64_t reg_addr, uint32_t *retval); 234 uint32_t intel_secure_reg_write(uint64_t reg_addr, uint32_t val, 235 uint32_t *retval); 236 uint32_t intel_secure_reg_update(uint64_t reg_addr, uint32_t mask, 237 uint32_t val, uint32_t *retval); 238 239 /* Set RSU update address*/ 240 uint32_t intel_rsu_update(uint64_t update_address); 241 242 /* Miscellaneous HPS services */ 243 uint32_t intel_hps_set_bridges(uint64_t enable, uint64_t mask); 244 245 /* SiP Service handler for version 2 */ 246 uintptr_t sip_smc_handler_v2(uint32_t smc_fid, 247 u_register_t x1, 248 u_register_t x2, 249 u_register_t x3, 250 u_register_t x4, 251 void *cookie, 252 void *handle, 253 u_register_t flags); 254 255 256 #if SIP_SVC_V3 257 #define SMC_RET_ARGS_ONE (1) 258 #define SMC_RET_ARGS_TWO (2) 259 #define SMC_RET_ARGS_THREE (3) 260 #define SMC_RET_ARGS_FOUR (4) 261 #define SMC_RET_ARGS_FIVE (5) 262 #define SMC_RET_ARGS_SIX (6) 263 #define SMC_RET_ARGS_SEVEN (7) 264 #define SMC_RET_ARGS_EIGHT (8) 265 #define SMC_RET_ARGS_NINE (9) 266 #define SMC_RET_ARGS_TEN (10) 267 268 #define MBOX_GEN_CMD_MAX_WORDS (0x1000) 269 270 /* 271 * SiP SVC Version3 SMC Functions IDs 272 */ 273 274 /* Generic response POLL commands */ 275 #define ALTERA_SIP_SMC_ASYNC_RESP_POLL (0x420000C8) 276 #define ALTERA_SIP_SMC_ASYNC_RESP_POLL_ON_INTR (0x420000C9) 277 278 /* QSPI related commands */ 279 #define ALTERA_SIP_SMC_ASYNC_QSPI_OPEN (0x420000CC) 280 #define ALTERA_SIP_SMC_ASYNC_QSPI_CLOSE (0x420000CD) 281 #define ALTERA_SIP_SMC_ASYNC_QSPI_SET_CS (0x420000CE) 282 #define ALTERA_SIP_SMC_ASYNC_QSPI_ERASE (0x420000CF) 283 #define ALTERA_SIP_SMC_ASYNC_QSPI_WRITE (0x420000D0) 284 #define ALTERA_SIP_SMC_ASYNC_QSPI_READ (0x420000D1) 285 #define ALTERA_SIP_SMC_ASYNC_GET_DEVICE_IDENTITY (0x420000D2) 286 #define ALTERA_SIP_SMC_ASYNC_GET_IDCODE (0x420000D3) 287 #define ALTERA_SIP_SMC_ASYNC_QSPI_GET_DEV_INFO (0x420000D4) 288 289 #define ALTERA_SIP_SMC_ASYNC_HWMON_READTEMP (0x420000E8) 290 #define ALTERA_SIP_SMC_ASYNC_HWMON_READVOLT (0x420000E9) 291 292 /* RSU related commands */ 293 #define ALTERA_SIP_SMC_ASYNC_RSU_GET_SPT (0x420000EA) 294 #define ALTERA_SIP_SMC_ASYNC_RSU_GET_STATUS (0x420000EB) 295 #define ALTERA_SIP_SMC_ASYNC_RSU_NOTIFY (0x420000EC) 296 297 /* V3 Generic mailbox command. */ 298 #define ALTERA_SIP_SMC_ASYNC_GEN_MBOX_CMD (0x420000EE) 299 300 /* FCS crypto service VAB/SDOS commands */ 301 #define ALTERA_SIP_SMC_ASYNC_FCS_RANDOM_NUMBER (0x4200012C) 302 #define ALTERA_SIP_SMC_ASYNC_FCS_RANDOM_NUMBER_EXT (0x4200012D) 303 #define ALTERA_SIP_SMC_ASYNC_FCS_CRYPTION (0x4200012E) 304 #define ALTERA_SIP_SMC_ASYNC_FCS_CRYPTION_EXT (0x4200012F) 305 #define ALTERA_SIP_SMC_ASYNC_FCS_SERVICE_REQUEST (0x42000130) 306 #define ALTERA_SIP_SMC_ASYNC_FCS_SEND_CERTIFICATE (0x42000131) 307 #define ALTERA_SIP_SMC_ASYNC_FCS_GET_PROVISION_DATA (0x42000132) 308 #define ALTERA_SIP_SMC_ASYNC_FCS_CNTR_SET_PREAUTH (0x42000133) 309 #define ALTERA_SIP_SMC_ASYNC_FCS_PSGSIGMA_TEARDOWN (0x42000134) 310 #define ALTERA_SIP_SMC_ASYNC_FCS_CHIP_ID (0x42000135) 311 #define ALTERA_SIP_SMC_ASYNC_FCS_ATTESTATION_SUBKEY (0x42000136) 312 #define ALTERA_SIP_SMC_ASYNC_FCS_ATTESTATION_MEASUREMENTS (0x42000137) 313 #define ALTERA_SIP_SMC_ASYNC_FCS_GET_ATTESTATION_CERT (0x42000138) 314 #define ALTERA_SIP_SMC_ASYNC_FCS_CREATE_CERT_ON_RELOAD (0x42000139) 315 316 /* FCS crypto service session management commands */ 317 #define ALTERA_SIP_SMC_ASYNC_FCS_OPEN_CS_SESSION (0x4200013A) 318 #define ALTERA_SIP_SMC_ASYNC_FCS_CLOSE_CS_SESSION (0x4200013B) 319 320 /* FCS crypto service key management commands */ 321 #define ALTERA_SIP_SMC_ASYNC_FCS_IMPORT_CS_KEY (0x4200013C) 322 #define ALTERA_SIP_SMC_ASYNC_FCS_EXPORT_CS_KEY (0x4200013D) 323 #define ALTERA_SIP_SMC_ASYNC_FCS_REMOVE_CS_KEY (0x4200013E) 324 #define ALTERA_SIP_SMC_ASYNC_FCS_GET_CS_KEY_INFO (0x4200013F) 325 #define ALTERA_SIP_SMC_ASYNC_FCS_CREATE_CS_KEY (0x42000167) 326 327 /* FCS crypto service primitive commands */ 328 #define ALTERA_SIP_SMC_ASYNC_FCS_AES_CRYPT_INIT (0x42000140) 329 #define ALTERA_SIP_SMC_ASYNC_FCS_AES_CRYPT_UPDATE (0x42000141) 330 #define ALTERA_SIP_SMC_ASYNC_FCS_AES_CRYPT_FINALIZE (0x42000142) 331 #define ALTERA_SIP_SMC_ASYNC_FCS_GET_DIGEST_INIT (0x42000143) 332 #define ALTERA_SIP_SMC_ASYNC_FCS_GET_DIGEST_UPDATE (0x42000144) 333 #define ALTERA_SIP_SMC_ASYNC_FCS_GET_DIGEST_FINALIZE (0x42000145) 334 #define ALTERA_SIP_SMC_ASYNC_FCS_GET_DIGEST_SMMU_UPDATE (0x42000146) 335 #define ALTERA_SIP_SMC_ASYNC_FCS_GET_DIGEST_SMMU_FINALIZE (0x42000147) 336 #define ALTERA_SIP_SMC_ASYNC_FCS_MAC_VERIFY_INIT (0x42000148) 337 #define ALTERA_SIP_SMC_ASYNC_FCS_MAC_VERIFY_UPDATE (0x42000149) 338 #define ALTERA_SIP_SMC_ASYNC_FCS_MAC_VERIFY_FINALIZE (0x4200014A) 339 #define ALTERA_SIP_SMC_ASYNC_FCS_MAC_VERIFY_SMMU_UPDATE (0x4200014B) 340 #define ALTERA_SIP_SMC_ASYNC_FCS_MAC_VERIFY_SMMU_FINALIZE (0x4200014C) 341 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDSA_HASH_SIGN_INIT (0x4200014D) 342 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDSA_HASH_SIGN_FINALIZE (0x4200014E) 343 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDSA_SHA2_DATA_SIGN_INIT (0x4200014F) 344 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDSA_SHA2_DATA_SIGN_UPDATE (0x42000150) 345 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDSA_SHA2_DATA_SIGN_FINALIZE (0x42000151) 346 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDSA_SHA2_DATA_SIGN_SMMU_UPDATE (0x42000152) 347 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDSA_SHA2_DATA_SIGN_SMMU_FINALIZE (0x42000153) 348 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDSA_HASH_SIG_VERIFY_INIT (0x42000154) 349 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDSA_HASH_SIG_VERIFY_FINALIZE (0x42000155) 350 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDSA_SHA2_DATA_SIG_VERIFY_INIT (0x42000156) 351 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDSA_SHA2_DATA_SIG_VERIFY_UPDATE (0x42000157) 352 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDSA_SHA2_DATA_SIG_VERIFY_FINALIZE (0x42000158) 353 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDSA_SHA2_DATA_SIG_VERIFY_SMMU_UPDATE (0x42000159) 354 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDSA_SHA2_DATA_SIG_VERIFY_SMMU_FINALIZE (0x4200015A) 355 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDSA_GET_PUBKEY_INIT (0x42000160) 356 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDSA_GET_PUBKEY_FINALIZE (0x42000161) 357 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDH_REQUEST_INIT (0x42000162) 358 #define ALTERA_SIP_SMC_ASYNC_FCS_ECDH_REQUEST_FINALIZE (0x42000163) 359 #define ALTERA_SIP_SMC_ASYNC_FCS_SDM_REMAPPER_CONFIG (0x42000164) 360 #define ALTERA_SIP_SMC_ASYNC_MCTP_MSG (0x42000165) 361 #define ALTERA_SIP_SMC_ASYNC_FCS_HKDF_REQUEST (0x42000166) 362 #define ALTERA_SIP_SMC_ASYNC_FCS_CREATE_CS_KEY (0x42000167) 363 364 #define GET_CLIENT_ID(x) (((x) & 0xF0) >> 4) 365 #define GET_JOB_ID(x) ((x) & 0x0F) 366 #define GET_ADDR64(high, low) (((uint64_t)(high) \ 367 << 32) | (low)) 368 #endif /* SIP_SVC_V3 */ 369 370 #endif /* SOCFPGA_SIP_SVC_H */ 371