/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (C) 2016-2021 Intel Corporation */ #ifndef _SOCFPGA_MISC_H_ #define _SOCFPGA_MISC_H_ #include void dwmac_deassert_reset(const unsigned int of_reset_id, const u32 phymode); struct bsel { const char *mode; const char *name; }; extern struct bsel bsel_str[]; #ifdef CONFIG_FPGA void socfpga_fpga_add(void *fpga_desc); #else static inline void socfpga_fpga_add(void *fpga_desc) {} #endif #ifdef CONFIG_TARGET_SOCFPGA_GEN5 void socfpga_sdram_remap_zero(void); static inline bool socfpga_is_booting_from_fpga(void) { if ((__image_copy_start >= (char *)SOCFPGA_FPGA_SLAVES_ADDRESS) && (__image_copy_start < (char *)SOCFPGA_STM_ADDRESS)) return true; return false; } #endif #ifdef CONFIG_TARGET_SOCFPGA_ARRIA10 void socfpga_init_security_policies(void); void socfpga_sdram_remap_zero(void); #endif #if defined(CONFIG_TARGET_SOCFPGA_STRATIX10) || \ defined(CONFIG_TARGET_SOCFPGA_AGILEX) int is_fpga_config_ready(void); #endif void do_bridge_reset(int enable, unsigned int mask); void force_periph_program(unsigned int status); bool is_regular_boot_valid(void); bool is_periph_program_force(void); void set_regular_boot(unsigned int status); void socfpga_pl310_clear(void); void socfpga_get_managers_addr(void); int qspi_flash_software_reset(void); #endif /* _SOCFPGA_MISC_H_ */