• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation; either version 2 of the License, or
5  * (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  *
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, write to the Free Software
15  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
16  */
17 
18 #include <linux/firmware.h>
19 
20 #define	MAX_STR	256
21 
22 enum fmt_image {
23 	f_bit,	/* only bitstream is supported */
24 	f_rbt,
25 	f_bin,
26 	f_mcs,
27 	f_hex,
28 };
29 
30 enum mdownload {
31 	m_systemmap,	/* only system map is supported */
32 	m_serial,
33 	m_jtag,
34 };
35 
36 /*
37  * xilinx fpgaimage information
38  * NOTE: use MAX_STR instead of dynamic alloc for simplicity
39  */
40 struct fpgaimage {
41 	enum fmt_image	fmt_img;
42 	enum mdownload	dmethod;
43 
44 	const struct	firmware	*fw_entry;
45 
46 	/*
47 	 * the followings can be read from bitstream,
48 	 * but other image format should have as well
49 	 */
50 	char	filename[MAX_STR];
51 	char	part[MAX_STR];
52 	char	date[MAX_STR];
53 	char	time[MAX_STR];
54 	int32_t	lendata;
55 	char	*fpgadata;
56 };
57