1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * (C) Copyright 2014 - 2015 Xilinx, Inc. 4 * Michal Simek <michal.simek@amd.com> 5 */ 6 7 #ifndef _ASM_ARCH_SYS_PROTO_H 8 #define _ASM_ARCH_SYS_PROTO_H 9 10 #define ZYNQMP_CSU_SILICON_VER_MASK 0xF 11 #define KEY_PTR_LEN 32 12 #define IV_SIZE 12 13 #define RSA_KEY_SIZE 512 14 #define MODULUS_LEN 512 15 #define PRIV_EXPO_LEN 512 16 #define PUB_EXPO_LEN 4 17 18 #define ZYNQMP_SHA3_INIT 1 19 #define ZYNQMP_SHA3_UPDATE 2 20 #define ZYNQMP_SHA3_FINAL 4 21 #define ZYNQMP_SHA3_SIZE 48 22 23 #define ZYNQMP_FPGA_BIT_AUTH_DDR 1 24 #define ZYNQMP_FPGA_BIT_AUTH_OCM 2 25 #define ZYNQMP_FPGA_BIT_ENC_USR_KEY 3 26 #define ZYNQMP_FPGA_BIT_ENC_DEV_KEY 4 27 #define ZYNQMP_FPGA_BIT_NS 5 28 29 #define ZYNQMP_FPGA_AUTH_DDR 1 30 31 enum { 32 IDCODE, 33 VERSION, 34 IDCODE2, 35 }; 36 37 enum { 38 ZYNQMP_SILICON_V1, 39 ZYNQMP_SILICON_V2, 40 ZYNQMP_SILICON_V3, 41 ZYNQMP_SILICON_V4, 42 }; 43 44 enum tcm_mode { 45 TCM_LOCK = 0, 46 TCM_SPLIT = 1, 47 }; 48 49 unsigned int zynqmp_get_silicon_version(void); 50 51 int check_tcm_mode(enum tcm_mode mode); 52 void initialize_tcm(enum tcm_mode mode); 53 void mem_map_fill(void); 54 #if defined(CONFIG_DEFINE_TCM_OCM_MMAP) 55 void tcm_init(enum tcm_mode mode); 56 #endif 57 58 #endif /* _ASM_ARCH_SYS_PROTO_H */ 59