1 /* 2 * (C) Copyright 2003 3 * Steven Scholz, imc Measurement & Control, steven.scholz@imc-berlin.de 4 * 5 * (C) Copyright 2002 6 * Rich Ireland, Enterasys Networks, rireland@enterasys.com. 7 * 8 * SPDX-License-Identifier: GPL-2.0+ 9 */ 10 11 #ifndef _ACEX1K_H_ 12 #define _ACEX1K_H_ 13 14 #include <altera.h> 15 16 extern int ACEX1K_load(Altera_desc *desc, const void *image, size_t size); 17 extern int ACEX1K_dump(Altera_desc *desc, const void *buf, size_t bsize); 18 extern int ACEX1K_info(Altera_desc *desc); 19 20 extern int CYC2_load(Altera_desc *desc, const void *image, size_t size); 21 extern int CYC2_dump(Altera_desc *desc, const void *buf, size_t bsize); 22 extern int CYC2_info(Altera_desc *desc); 23 24 /* Slave Serial Implementation function table */ 25 typedef struct { 26 Altera_pre_fn pre; 27 Altera_config_fn config; 28 Altera_clk_fn clk; 29 Altera_status_fn status; 30 Altera_done_fn done; 31 Altera_data_fn data; 32 Altera_abort_fn abort; 33 Altera_post_fn post; 34 } Altera_ACEX1K_Passive_Serial_fns; 35 36 /* Slave Serial Implementation function table */ 37 typedef struct { 38 Altera_pre_fn pre; 39 Altera_config_fn config; 40 Altera_status_fn status; 41 Altera_done_fn done; 42 Altera_write_fn write; 43 Altera_abort_fn abort; 44 Altera_post_fn post; 45 } Altera_CYC2_Passive_Serial_fns; 46 47 /* Device Image Sizes 48 *********************************************************************/ 49 /* ACEX1K */ 50 /* FIXME: Which size do we mean? 51 * Datasheet says 1337000/8=167125Bytes, 52 * Filesize of an *.rbf file is 166965 Bytes 53 */ 54 #if 0 55 #define Altera_EP1K100_SIZE 1337000/8 /* 167125 Bytes */ 56 #endif 57 #define Altera_EP1K100_SIZE (166965*8) 58 59 #define Altera_EP2C8_SIZE 247942 60 #define Altera_EP2C20_SIZE 586562 61 #define Altera_EP2C35_SIZE 883905 62 #define Altera_EP3C5_SIZE 368011 /* .rbf size in bytes */ 63 64 /* Descriptor Macros 65 *********************************************************************/ 66 /* ACEX1K devices */ 67 #define Altera_EP1K100_DESC(iface, fn_table, cookie) \ 68 { Altera_ACEX1K, iface, Altera_EP1K100_SIZE, fn_table, cookie } 69 70 #endif /* _ACEX1K_H_ */ 71