xref: /optee_os/lib/libutee/include/pta_qcom_pas.h (revision fedadb6460b1ea7db709c6f5a0572f5a8cb8e5c9)
1 /* SPDX-License-Identifier: BSD-2-Clause */
2 /*
3  * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
4  */
5 
6 #ifndef __PTA_QCOM_PAS_H
7 #define __PTA_QCOM_PAS_H
8 
9 #include <stdint.h>
10 #include <util.h>
11 
12 /*
13  * Interface to the pseudo TA which provides platform implementation
14  * of the remote processor management
15  */
16 
17 #define PTA_QCOM_PAS_UUID { 0xdaedbae4, 0xcf3e, 0x4b76, \
18 		{ 0xa5, 0xc5, 0xdb, 0xf8, 0xb6, 0xfd, 0x5a, 0xf4} }
19 
20 /*
21  * Peripheral Authentication Service (PAS) supported.
22  *
23  * [in]  params[0].value.a:	Unique 32bit remote processor identifier
24  */
25 #define PTA_QCOM_PAS_IS_SUPPORTED		1
26 
27 /*
28  * PAS capabilities.
29  *
30  * [in]  params[0].value.a:	Unique 32bit remote processor identifier
31  * [out] params[1].value.a:	PAS capability flags
32  */
33 #define PTA_QCOM_PAS_CAPABILITIES		2
34 
35 /*
36  * PAS image initialization.
37  *
38  * [in]  params[0].value.a:	Unique 32bit remote processor identifier
39  * [in]  params[1].memref:	Loadable firmware metadata
40  */
41 #define PTA_QCOM_PAS_INIT_IMAGE			3
42 
43 /*
44  * PAS memory setup.
45  *
46  * [in]  params[0].value.a:	Unique 32bit remote processor identifier
47  * [in]  params[0].value.b:	Relocatable firmware size
48  * [in]  params[1].value.a:	32bit LSB relocatable firmware memory address
49  * [in]  params[1].value.b:	32bit MSB relocatable firmware memory address
50  */
51 #define PTA_QCOM_PAS_MEM_SETUP			4
52 
53 /*
54  * PAS get resource table.
55  *
56  * [in]     params[0].value.a:	Unique 32bit remote processor identifier
57  * [in/out] params[1].memref:	Resource table config
58  */
59 #define PTA_QCOM_PAS_GET_RESOURCE_TABLE		5
60 
61 /*
62  * PAS image authentication and co-processor reset.
63  *
64  * [in]  params[0].value.a:	Unique 32bit remote processor identifier
65  * [in]  params[0].value.b:	Firmware size
66  * [in]  params[1].value.a:	32bit LSB firmware memory address
67  * [in]  params[1].value.b:	32bit MSB firmware memory address
68  * [in]  params[2].memref:	Optional fw memory space shared/lent
69  */
70 #define PTA_QCOM_PAS_AUTH_AND_RESET		6
71 
72 /*
73  * PAS co-processor set suspend/resume state.
74  *
75  * [in]  params[0].value.a:	Unique 32bit remote processor identifier
76  * [in]  params[0].value.b:	Co-processor state identifier
77  */
78 #define PTA_QCOM_PAS_SET_REMOTE_STATE		7
79 
80 /*
81  * PAS co-processor shutdown.
82  *
83  * [in]  params[0].value.a:	Unique 32bit remote processor identifier
84  */
85 #define PTA_QCOM_PAS_SHUTDOWN			8
86 
87 #endif /* __PTA_QCOM_REMOTEPROC_H */
88