~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to roms/u-boot/include/spartan3.h

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

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