/* * (C) Copyright 2003 * Steven Scholz, imc Measurement & Control, steven.scholz@imc-berlin.de * * (C) Copyright 2002 * Rich Ireland, Enterasys Networks, rireland@enterasys.com. * * SPDX-License-Identifier: GPL-2.0+ */ #ifndef _ACEX1K_H_ #define _ACEX1K_H_ #include extern int ACEX1K_load(Altera_desc *desc, const void *image, size_t size); extern int ACEX1K_dump(Altera_desc *desc, const void *buf, size_t bsize); extern int ACEX1K_info(Altera_desc *desc); extern int CYC2_load(Altera_desc *desc, const void *image, size_t size); extern int CYC2_dump(Altera_desc *desc, const void *buf, size_t bsize); extern int CYC2_info(Altera_desc *desc); /* Slave Serial Implementation function table */ typedef struct { Altera_pre_fn pre; Altera_config_fn config; Altera_clk_fn clk; Altera_status_fn status; Altera_done_fn done; Altera_data_fn data; Altera_abort_fn abort; Altera_post_fn post; } Altera_ACEX1K_Passive_Serial_fns; /* Slave Serial Implementation function table */ typedef struct { Altera_pre_fn pre; Altera_config_fn config; Altera_status_fn status; Altera_done_fn done; Altera_write_fn write; Altera_abort_fn abort; Altera_post_fn post; } Altera_CYC2_Passive_Serial_fns; /* Device Image Sizes *********************************************************************/ /* ACEX1K */ /* FIXME: Which size do we mean? * Datasheet says 1337000/8=167125Bytes, * Filesize of an *.rbf file is 166965 Bytes */ #if 0 #define Altera_EP1K100_SIZE 1337000/8 /* 167125 Bytes */ #endif #define Altera_EP1K100_SIZE (166965*8) #define Altera_EP2C8_SIZE 247942 #define Altera_EP2C20_SIZE 586562 #define Altera_EP2C35_SIZE 883905 #define Altera_EP3C5_SIZE 368011 /* .rbf size in bytes */ /* Descriptor Macros *********************************************************************/ /* ACEX1K devices */ #define Altera_EP1K100_DESC(iface, fn_table, cookie) \ { Altera_ACEX1K, iface, Altera_EP1K100_SIZE, fn_table, cookie } #endif /* _ACEX1K_H_ */