xref: /rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_sip_svc.h (revision 8cef63d6c7184fe1eebc354716e4b3910d385f9b)
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