xref: /OK3568_Linux_fs/u-boot/include/cavium/thunderx_svc.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /**
2*4882a593Smuzhiyun  * (C) Copyright 2014, Cavium Inc.
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
5*4882a593Smuzhiyun **/
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun #ifndef __THUNDERX_SVC_H__
8*4882a593Smuzhiyun #define __THUNDERX_SVC_H__
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun /* SMC function IDs for general purpose queries */
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun #define THUNDERX_SVC_CALL_COUNT		0x4300ff00
13*4882a593Smuzhiyun #define THUNDERX_SVC_UID		0x4300ff01
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun #define THUNDERX_SVC_VERSION		0x4300ff03
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun #define ARM_STD_SVC_VERSION		0x8400ff03
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun /* ThunderX Service Calls version numbers */
20*4882a593Smuzhiyun #define THUNDERX_VERSION_MAJOR	0x0
21*4882a593Smuzhiyun #define THUNDERX_VERSION_MINOR	0x1
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun #define THUNDERX_MMC_READ		0x43000101
24*4882a593Smuzhiyun /* x1 - block address
25*4882a593Smuzhiyun  * x2 - size
26*4882a593Smuzhiyun  * x3 - buffer address
27*4882a593Smuzhiyun  */
28*4882a593Smuzhiyun #define THUNDERX_MMC_WRITE		0x43000102
29*4882a593Smuzhiyun /* x1 - block address
30*4882a593Smuzhiyun  * x2 - size
31*4882a593Smuzhiyun  * x3 - buffer address
32*4882a593Smuzhiyun  */
33*4882a593Smuzhiyun 
34*4882a593Smuzhiyun #define THUNDERX_NOR_READ		0x43000111
35*4882a593Smuzhiyun /* x1 - block address
36*4882a593Smuzhiyun  * x2 - size
37*4882a593Smuzhiyun  * x3 - buffer address
38*4882a593Smuzhiyun  */
39*4882a593Smuzhiyun #define THUNDERX_NOR_WRITE		0x43000112
40*4882a593Smuzhiyun /* x1 - block address
41*4882a593Smuzhiyun  * x2 - size
42*4882a593Smuzhiyun  * x3 - buffer address
43*4882a593Smuzhiyun  */
44*4882a593Smuzhiyun #define THUNDERX_NOR_ERASE		0x43000113
45*4882a593Smuzhiyun /* x1 - block address
46*4882a593Smuzhiyun  */
47*4882a593Smuzhiyun 
48*4882a593Smuzhiyun #define THUNDERX_PART_COUNT		0x43000201
49*4882a593Smuzhiyun #define THUNDERX_GET_PART		0x43000202
50*4882a593Smuzhiyun /* x1 - pointer to the buffer
51*4882a593Smuzhiyun  * x2 - index
52*4882a593Smuzhiyun  */
53*4882a593Smuzhiyun 
54*4882a593Smuzhiyun #define THUNDERX_DRAM_SIZE		0x43000301
55*4882a593Smuzhiyun /* x1 - node number
56*4882a593Smuzhiyun  */
57*4882a593Smuzhiyun 
58*4882a593Smuzhiyun #define THUNDERX_GTI_SYNC		0x43000401
59*4882a593Smuzhiyun 
60*4882a593Smuzhiyun #define THUNDERX_ENV_COUNT		0x43000501
61*4882a593Smuzhiyun #define THUNDERX_ENV_STRING		0x43000502
62*4882a593Smuzhiyun /* x1 - index
63*4882a593Smuzhiyun  */
64*4882a593Smuzhiyun 
65*4882a593Smuzhiyun #define THUNDERX_NODE_COUNT		0x43000601
66*4882a593Smuzhiyun 
67*4882a593Smuzhiyun #endif /* __THUNDERX_SVC_H__ */
68