1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
2900f88f3SSergey Temerkhanov /**
3900f88f3SSergey Temerkhanov  * (C) Copyright 2014, Cavium Inc.
4900f88f3SSergey Temerkhanov **/
5900f88f3SSergey Temerkhanov 
6900f88f3SSergey Temerkhanov #ifndef __THUNDERX_SVC_H__
7900f88f3SSergey Temerkhanov #define __THUNDERX_SVC_H__
8900f88f3SSergey Temerkhanov 
9900f88f3SSergey Temerkhanov /* SMC function IDs for general purpose queries */
10900f88f3SSergey Temerkhanov 
11900f88f3SSergey Temerkhanov #define THUNDERX_SVC_CALL_COUNT		0x4300ff00
12900f88f3SSergey Temerkhanov #define THUNDERX_SVC_UID		0x4300ff01
13900f88f3SSergey Temerkhanov 
14900f88f3SSergey Temerkhanov #define THUNDERX_SVC_VERSION		0x4300ff03
15900f88f3SSergey Temerkhanov 
16900f88f3SSergey Temerkhanov #define ARM_STD_SVC_VERSION		0x8400ff03
17900f88f3SSergey Temerkhanov 
18900f88f3SSergey Temerkhanov /* ThunderX Service Calls version numbers */
19900f88f3SSergey Temerkhanov #define THUNDERX_VERSION_MAJOR	0x0
20900f88f3SSergey Temerkhanov #define THUNDERX_VERSION_MINOR	0x1
21900f88f3SSergey Temerkhanov 
22900f88f3SSergey Temerkhanov #define THUNDERX_MMC_READ		0x43000101
23900f88f3SSergey Temerkhanov /* x1 - block address
24900f88f3SSergey Temerkhanov  * x2 - size
25900f88f3SSergey Temerkhanov  * x3 - buffer address
26900f88f3SSergey Temerkhanov  */
27900f88f3SSergey Temerkhanov #define THUNDERX_MMC_WRITE		0x43000102
28900f88f3SSergey Temerkhanov /* x1 - block address
29900f88f3SSergey Temerkhanov  * x2 - size
30900f88f3SSergey Temerkhanov  * x3 - buffer address
31900f88f3SSergey Temerkhanov  */
32900f88f3SSergey Temerkhanov 
33900f88f3SSergey Temerkhanov #define THUNDERX_NOR_READ		0x43000111
34900f88f3SSergey Temerkhanov /* x1 - block address
35900f88f3SSergey Temerkhanov  * x2 - size
36900f88f3SSergey Temerkhanov  * x3 - buffer address
37900f88f3SSergey Temerkhanov  */
38900f88f3SSergey Temerkhanov #define THUNDERX_NOR_WRITE		0x43000112
39900f88f3SSergey Temerkhanov /* x1 - block address
40900f88f3SSergey Temerkhanov  * x2 - size
41900f88f3SSergey Temerkhanov  * x3 - buffer address
42900f88f3SSergey Temerkhanov  */
43900f88f3SSergey Temerkhanov #define THUNDERX_NOR_ERASE		0x43000113
44900f88f3SSergey Temerkhanov /* x1 - block address
45900f88f3SSergey Temerkhanov  */
46900f88f3SSergey Temerkhanov 
47900f88f3SSergey Temerkhanov #define THUNDERX_PART_COUNT		0x43000201
48900f88f3SSergey Temerkhanov #define THUNDERX_GET_PART		0x43000202
49900f88f3SSergey Temerkhanov /* x1 - pointer to the buffer
50900f88f3SSergey Temerkhanov  * x2 - index
51900f88f3SSergey Temerkhanov  */
52900f88f3SSergey Temerkhanov 
53900f88f3SSergey Temerkhanov #define THUNDERX_DRAM_SIZE		0x43000301
54900f88f3SSergey Temerkhanov /* x1 - node number
55900f88f3SSergey Temerkhanov  */
56900f88f3SSergey Temerkhanov 
57900f88f3SSergey Temerkhanov #define THUNDERX_GTI_SYNC		0x43000401
58900f88f3SSergey Temerkhanov 
59900f88f3SSergey Temerkhanov #define THUNDERX_ENV_COUNT		0x43000501
60900f88f3SSergey Temerkhanov #define THUNDERX_ENV_STRING		0x43000502
61900f88f3SSergey Temerkhanov /* x1 - index
62900f88f3SSergey Temerkhanov  */
63900f88f3SSergey Temerkhanov 
64900f88f3SSergey Temerkhanov #define THUNDERX_NODE_COUNT		0x43000601
65900f88f3SSergey Temerkhanov 
66900f88f3SSergey Temerkhanov #endif /* __THUNDERX_SVC_H__ */
67