Merge tag 'u-boot-imx-20200825' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
[platform/kernel/u-boot.git] / arch / arm / mach-zynqmp / include / mach / sys_proto.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * (C) Copyright 2014 - 2015 Xilinx, Inc.
4  * Michal Simek <michal.simek@xilinx.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
13 #define ZYNQMP_FPGA_BIT_AUTH_DDR        1
14 #define ZYNQMP_FPGA_BIT_AUTH_OCM        2
15 #define ZYNQMP_FPGA_BIT_ENC_USR_KEY     3
16 #define ZYNQMP_FPGA_BIT_ENC_DEV_KEY     4
17 #define ZYNQMP_FPGA_BIT_NS              5
18
19 #define ZYNQMP_FPGA_AUTH_DDR    1
20
21 enum {
22         IDCODE,
23         VERSION,
24         IDCODE2,
25 };
26
27 enum {
28         ZYNQMP_SILICON_V1,
29         ZYNQMP_SILICON_V2,
30         ZYNQMP_SILICON_V3,
31         ZYNQMP_SILICON_V4,
32 };
33
34 enum {
35         TCM_LOCK,
36         TCM_SPLIT,
37 };
38
39 struct zynqmp_ipi_msg {
40         size_t len;
41         u32 *buf;
42 };
43
44 int zynq_board_read_rom_ethaddr(unsigned char *ethaddr);
45 unsigned int zynqmp_get_silicon_version(void);
46
47 int zynqmp_mmio_write(const u32 address, const u32 mask, const u32 value);
48 int zynqmp_mmio_read(const u32 address, u32 *value);
49
50 void initialize_tcm(bool mode);
51 void mem_map_fill(void);
52 #if defined(CONFIG_SYS_MEM_RSVD_FOR_MMU) || defined(CONFIG_DEFINE_TCM_OCM_MMAP)
53 void tcm_init(u8 mode);
54 #endif
55
56 #endif /* _ASM_ARCH_SYS_PROTO_H */