xref: /optee_os/ta/avb/include/ta_avb.h (revision 275d9d31f0808778c3b970ae02a40db5d1083bfa)
1b29b4195SJens Wiklander /* SPDX-License-Identifier: BSD-2-Clause */
2b29b4195SJens Wiklander /* Copyright (c) 2018, Linaro Limited */
3b29b4195SJens Wiklander 
4b29b4195SJens Wiklander #ifndef __TA_AVB_H
5b29b4195SJens Wiklander #define __TA_AVB_H
6b29b4195SJens Wiklander 
7b29b4195SJens Wiklander #define TA_AVB_UUID { 0x023f8f1a, 0x292a, 0x432b, \
8b29b4195SJens Wiklander 		      { 0x8f, 0xc4, 0xde, 0x84, 0x71, 0x35, 0x80, 0x67 } }
9b29b4195SJens Wiklander 
10b29b4195SJens Wiklander #define TA_AVB_MAX_ROLLBACK_LOCATIONS	256
11b29b4195SJens Wiklander 
12b29b4195SJens Wiklander /*
13b29b4195SJens Wiklander  * Gets the rollback index corresponding to the given rollback index slot.
14b29b4195SJens Wiklander  *
15b29b4195SJens Wiklander  * in	params[0].value.a:	rollback index slot
16b29b4195SJens Wiklander  * out	params[1].value.a:	upper 32 bits of rollback index
17b29b4195SJens Wiklander  * out	params[1].value.b:	lower 32 bits of rollback index
18b29b4195SJens Wiklander  */
19b29b4195SJens Wiklander #define TA_AVB_CMD_READ_ROLLBACK_INDEX	0
20b29b4195SJens Wiklander 
21b29b4195SJens Wiklander /*
22b29b4195SJens Wiklander  * Updates the rollback index corresponding to the given rollback index slot.
23b29b4195SJens Wiklander  *
24b29b4195SJens Wiklander  * Will refuse to update a slot with a lower value.
25b29b4195SJens Wiklander  *
26b29b4195SJens Wiklander  * in	params[0].value.a:	rollback index slot
27b29b4195SJens Wiklander  * in	params[1].value.a:	upper 32 bits of rollback index
28b29b4195SJens Wiklander  * in	params[1].value.b:	lower 32 bits of rollback index
29b29b4195SJens Wiklander  */
30b29b4195SJens Wiklander #define TA_AVB_CMD_WRITE_ROLLBACK_INDEX	1
31b29b4195SJens Wiklander 
32b29b4195SJens Wiklander /*
33b29b4195SJens Wiklander  * Gets the lock state of the device.
34b29b4195SJens Wiklander  *
35b29b4195SJens Wiklander  * out	params[0].value.a:	lock state
36b29b4195SJens Wiklander  */
37b29b4195SJens Wiklander #define TA_AVB_CMD_READ_LOCK_STATE	2
38b29b4195SJens Wiklander 
39b29b4195SJens Wiklander /*
40b29b4195SJens Wiklander  * Sets the lock state of the device.
41b29b4195SJens Wiklander  *
42b29b4195SJens Wiklander  * If the lock state is changed all rollback slots will be reset to 0
43b29b4195SJens Wiklander  *
44b29b4195SJens Wiklander  * in	params[0].value.a:	lock state
45b29b4195SJens Wiklander  */
46b29b4195SJens Wiklander #define TA_AVB_CMD_WRITE_LOCK_STATE	3
47b29b4195SJens Wiklander 
48*275d9d31SIgor Opaniuk /*
49*275d9d31SIgor Opaniuk  * Reads a persistent value corresponding to the given name.
50*275d9d31SIgor Opaniuk  *
51*275d9d31SIgor Opaniuk  * in	params[0].memref:	persistent value name
52*275d9d31SIgor Opaniuk  * out	params[1].memref:	read persistent value buffer
53*275d9d31SIgor Opaniuk  */
54*275d9d31SIgor Opaniuk #define TA_AVB_CMD_READ_PERSIST_VALUE	4
55*275d9d31SIgor Opaniuk 
56*275d9d31SIgor Opaniuk /*
57*275d9d31SIgor Opaniuk  * Writes a persistent value corresponding to the given name.
58*275d9d31SIgor Opaniuk  *
59*275d9d31SIgor Opaniuk  * in	params[0].memref:	persistent value name
60*275d9d31SIgor Opaniuk  * in	params[1].memref:	persistent value buffer to write
61*275d9d31SIgor Opaniuk  */
62*275d9d31SIgor Opaniuk #define TA_AVB_CMD_WRITE_PERSIST_VALUE	5
63*275d9d31SIgor Opaniuk 
64b29b4195SJens Wiklander #endif /*__TA_AVB_H*/
65