Blame view
include/spartan3.h
3.73 KB
875c78934
|
1 2 3 4 |
/* * (C) Copyright 2002 * Rich Ireland, Enterasys Networks, rireland@enterasys.com. * |
1a4596601
|
5 |
* SPDX-License-Identifier: GPL-2.0+ |
875c78934
|
6 7 8 9 10 11 |
*/ #ifndef _SPARTAN3_H_ #define _SPARTAN3_H_ #include <xilinx.h> |
875c78934
|
12 13 |
/* Slave Parallel Implementation function table */ typedef struct { |
2df9d5c43
|
14 15 16 17 18 19 20 21 22 23 24 25 26 |
xilinx_pre_fn pre; xilinx_pgm_fn pgm; xilinx_init_fn init; xilinx_err_fn err; xilinx_done_fn done; xilinx_clk_fn clk; xilinx_cs_fn cs; xilinx_wr_fn wr; xilinx_rdata_fn rdata; xilinx_wdata_fn wdata; xilinx_busy_fn busy; xilinx_abort_fn abort; xilinx_post_fn post; |
2a6e3869f
|
27 |
} xilinx_spartan3_slave_parallel_fns; |
875c78934
|
28 29 30 |
/* Slave Serial Implementation function table */ typedef struct { |
2df9d5c43
|
31 32 33 34 35 36 37 38 39 |
xilinx_pre_fn pre; xilinx_pgm_fn pgm; xilinx_clk_fn clk; xilinx_init_fn init; xilinx_done_fn done; xilinx_wr_fn wr; xilinx_post_fn post; xilinx_bwr_fn bwr; /* block write function */ xilinx_abort_fn abort; |
2a6e3869f
|
40 |
} xilinx_spartan3_slave_serial_fns; |
875c78934
|
41 |
|
14cfc4f37
|
42 |
extern struct xilinx_fpga_op spartan3_op; |
875c78934
|
43 44 45 |
/* Device Image Sizes *********************************************************************/ /* Spartan-III (1.2V) */ |
53677ef18
|
46 47 48 49 50 51 52 53 |
#define XILINX_XC3S50_SIZE 439264/8 #define XILINX_XC3S200_SIZE 1047616/8 #define XILINX_XC3S400_SIZE 1699136/8 #define XILINX_XC3S1000_SIZE 3223488/8 #define XILINX_XC3S1500_SIZE 5214784/8 #define XILINX_XC3S2000_SIZE 7673024/8 #define XILINX_XC3S4000_SIZE 11316864/8 #define XILINX_XC3S5000_SIZE 13271936/8 |
875c78934
|
54 |
|
923efd286
|
55 56 57 58 59 60 |
/* Spartan-3E (v3.4) */ #define XILINX_XC3S100E_SIZE 581344/8 #define XILINX_XC3S250E_SIZE 1353728/8 #define XILINX_XC3S500E_SIZE 2270208/8 #define XILINX_XC3S1200E_SIZE 3841184/8 #define XILINX_XC3S1600E_SIZE 5969696/8 |
28cdc1c8e
|
61 62 63 64 65 |
/* * Spartan-6 : the Spartan-6 family can be programmed * exactly as the Spartan-3 */ #define XILINK_XC6SLX4_SIZE (3713568/8) |
875c78934
|
66 67 |
/* Descriptor Macros *********************************************************************/ |
3bff4ffa3
|
68 |
/* Spartan-III devices */ |
875c78934
|
69 |
#define XILINX_XC3S50_DESC(iface, fn_table, cookie) \ |
14cfc4f37
|
70 |
{ xilinx_spartan3, iface, XILINX_XC3S50_SIZE, fn_table, cookie, &spartan3_op } |
875c78934
|
71 72 |
#define XILINX_XC3S200_DESC(iface, fn_table, cookie) \ |
14cfc4f37
|
73 |
{ xilinx_spartan3, iface, XILINX_XC3S200_SIZE, fn_table, cookie, &spartan3_op } |
875c78934
|
74 75 |
#define XILINX_XC3S400_DESC(iface, fn_table, cookie) \ |
14cfc4f37
|
76 |
{ xilinx_spartan3, iface, XILINX_XC3S400_SIZE, fn_table, cookie, &spartan3_op } |
875c78934
|
77 78 |
#define XILINX_XC3S1000_DESC(iface, fn_table, cookie) \ |
14cfc4f37
|
79 |
{ xilinx_spartan3, iface, XILINX_XC3S1000_SIZE, fn_table, cookie, &spartan3_op } |
875c78934
|
80 81 |
#define XILINX_XC3S1500_DESC(iface, fn_table, cookie) \ |
14cfc4f37
|
82 |
{ xilinx_spartan3, iface, XILINX_XC3S1500_SIZE, fn_table, cookie, &spartan3_op } |
875c78934
|
83 84 |
#define XILINX_XC3S2000_DESC(iface, fn_table, cookie) \ |
14cfc4f37
|
85 |
{ xilinx_spartan3, iface, XILINX_XC3S2000_SIZE, fn_table, cookie, &spartan3_op } |
875c78934
|
86 87 |
#define XILINX_XC3S4000_DESC(iface, fn_table, cookie) \ |
14cfc4f37
|
88 |
{ xilinx_spartan3, iface, XILINX_XC3S4000_SIZE, fn_table, cookie, &spartan3_op } |
875c78934
|
89 90 |
#define XILINX_XC3S5000_DESC(iface, fn_table, cookie) \ |
14cfc4f37
|
91 |
{ xilinx_spartan3, iface, XILINX_XC3S5000_SIZE, fn_table, cookie, &spartan3_op } |
875c78934
|
92 |
|
923efd286
|
93 94 |
/* Spartan-3E devices */ #define XILINX_XC3S100E_DESC(iface, fn_table, cookie) \ |
14cfc4f37
|
95 |
{ xilinx_spartan3, iface, XILINX_XC3S100E_SIZE, fn_table, cookie, &spartan3_op } |
923efd286
|
96 97 |
#define XILINX_XC3S250E_DESC(iface, fn_table, cookie) \ |
14cfc4f37
|
98 |
{ xilinx_spartan3, iface, XILINX_XC3S250E_SIZE, fn_table, cookie, &spartan3_op } |
923efd286
|
99 100 |
#define XILINX_XC3S500E_DESC(iface, fn_table, cookie) \ |
14cfc4f37
|
101 |
{ xilinx_spartan3, iface, XILINX_XC3S500E_SIZE, fn_table, cookie, &spartan3_op } |
923efd286
|
102 103 |
#define XILINX_XC3S1200E_DESC(iface, fn_table, cookie) \ |
14cfc4f37
|
104 105 |
{ xilinx_spartan3, iface, XILINX_XC3S1200E_SIZE, fn_table, cookie, \ &spartan3_op } |
923efd286
|
106 107 |
#define XILINX_XC3S1600E_DESC(iface, fn_table, cookie) \ |
14cfc4f37
|
108 109 |
{ xilinx_spartan3, iface, XILINX_XC3S1600E_SIZE, fn_table, cookie, \ &spartan3_op } |
923efd286
|
110 |
|
28cdc1c8e
|
111 |
#define XILINX_XC6SLX4_DESC(iface, fn_table, cookie) \ |
14cfc4f37
|
112 |
{ xilinx_spartan3, iface, XILINK_XC6SLX4_SIZE, fn_table, cookie, &spartan3_op } |
28cdc1c8e
|
113 |
|
875c78934
|
114 |
#endif /* _SPARTAN3_H_ */ |