1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 3 #include <linux/firmware.h> 4 5 #define MAX_STR 256 6 7 enum fmt_image { 8 f_bit, /* only bitstream is supported */ 9 f_rbt, 10 f_bin, 11 f_mcs, 12 f_hex, 13 }; 14 15 enum mdownload { 16 m_systemmap, /* only system map is supported */ 17 m_serial, 18 m_jtag, 19 }; 20 21 /* 22 * xilinx fpgaimage information 23 * NOTE: use MAX_STR instead of dynamic alloc for simplicity 24 */ 25 struct fpgaimage { 26 enum fmt_image fmt_img; 27 enum mdownload dmethod; 28 29 const struct firmware *fw_entry; 30 31 /* 32 * the following can be read from bitstream, 33 * but other image format should have as well 34 */ 35 char filename[MAX_STR]; 36 char part[MAX_STR]; 37 char date[MAX_STR]; 38 char time[MAX_STR]; 39 int lendata; 40 u8 *fpgadata; 41 };