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