1 /* 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 11 #define PAYLOAD_ARG_CNT 5 12 13 #define ZYNQMP_CSU_SILICON_VER_MASK 0xF 14 15 enum { 16 IDCODE, 17 VERSION, 18 }; 19 20 enum { 21 ZYNQMP_SILICON_V1, 22 ZYNQMP_SILICON_V2, 23 ZYNQMP_SILICON_V3, 24 ZYNQMP_SILICON_V4, 25 }; 26 27 enum { 28 TCM_LOCK, 29 TCM_SPLIT, 30 }; 31 32 int zynq_slcr_get_mio_pin_status(const char *periph); 33 34 unsigned int zynqmp_get_silicon_version(void); 35 36 void psu_init(void); 37 38 void handoff_setup(void); 39 40 void zynqmp_pmufw_version(void); 41 int zynqmp_mmio_write(const u32 address, const u32 mask, const u32 value); 42 int zynqmp_mmio_read(const u32 address, u32 *value); 43 int invoke_smc(u32 pm_api_id, u32 arg0, u32 arg1, u32 arg2, u32 arg3, 44 u32 *ret_payload); 45 46 void initialize_tcm(bool mode); 47 48 int chip_id(unsigned char id); 49 50 #endif /* _ASM_ARCH_SYS_PROTO_H */ 51