blob: 3daf0e81d80c78e87f9b5e98859ecde528ce997d [file] [log] [blame]
Michal Simek04b7e622015-01-15 10:01:51 +01001/*
2 * (C) Copyright 2014 - 2015 Xilinx, Inc.
3 * Michal Simek <michal.simek@xilinx.com>
4 *
5 * SPDX-License-Identifier: GPL-2.0+
6 */
7
8#ifndef _ASM_ARCH_SYS_PROTO_H
9#define _ASM_ARCH_SYS_PROTO_H
10
Siva Durga Prasad Paladugu0e39bd72017-02-02 01:10:46 +053011#define PAYLOAD_ARG_CNT 5
12
Siva Durga Prasad Paladugu9f0a8e92017-07-25 11:51:36 +053013#define ZYNQMP_CSU_SILICON_VER_MASK 0xF
Siva Durga Prasad Paladugub1acb652018-02-28 13:26:53 +053014#define ZYNQMP_SIP_SVC_PM_SECURE_IMG_LOAD 0xC200002D
15#define KEY_PTR_LEN 32
Siva Durga Prasad Paladugu9f0a8e92017-07-25 11:51:36 +053016
Siva Durga Prasad Paladugu91c315d2018-03-01 17:44:47 +053017#define ZYNQMP_FPGA_BIT_NS 5
18
Siva Durga Prasad Paladugu9f0a8e92017-07-25 11:51:36 +053019enum {
20 IDCODE,
21 VERSION,
Michal Simek50d8cef2017-08-22 14:58:53 +020022 IDCODE2,
Siva Durga Prasad Paladugu9f0a8e92017-07-25 11:51:36 +053023};
24
25enum {
26 ZYNQMP_SILICON_V1,
27 ZYNQMP_SILICON_V2,
28 ZYNQMP_SILICON_V3,
29 ZYNQMP_SILICON_V4,
30};
31
Siva Durga Prasad Paladugu5e2a9072017-07-13 19:01:09 +053032enum {
33 TCM_LOCK,
34 TCM_SPLIT,
35};
36
Michal Simek44dd5202017-07-31 10:37:09 +020037int zynq_board_read_rom_ethaddr(unsigned char *ethaddr);
Michal Simek04b7e622015-01-15 10:01:51 +010038unsigned int zynqmp_get_silicon_version(void);
39
Michal Simek456e4542017-01-09 10:05:16 +010040void handoff_setup(void);
41
Michal Simek8b353302017-02-07 14:32:26 +010042void zynqmp_pmufw_version(void);
Siva Durga Prasad Paladugu0e39bd72017-02-02 01:10:46 +053043int zynqmp_mmio_write(const u32 address, const u32 mask, const u32 value);
44int zynqmp_mmio_read(const u32 address, u32 *value);
45int invoke_smc(u32 pm_api_id, u32 arg0, u32 arg1, u32 arg2, u32 arg3,
46 u32 *ret_payload);
47
Siva Durga Prasad Paladugu5e2a9072017-07-13 19:01:09 +053048void initialize_tcm(bool mode);
49
Siva Durga Prasad Paladugucd35d522017-07-25 11:51:38 +053050int chip_id(unsigned char id);
51
Michal Simek04b7e622015-01-15 10:01:51 +010052#endif /* _ASM_ARCH_SYS_PROTO_H */