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