25#define __attribute__(x)
27#pragma warning(disable:28193)
33#define FX_TYPE_UNDEFINED -1
37#define FX_TYPE_FX2LP 3
40#define FX_TYPE_NAMES { "an21", "fx", "fx2", "fx2lp", "fx3" }
42#define IMG_TYPE_UNDEFINED -1
48#define IMG_TYPE_NAMES { "Intel HEX", "Cypress 8051 IIC", "Cypress 8051 BIX", "Cypress IMG format" }
62 const char* designation;
65#define FX_KNOWN_DEVICES { \
66 { 0x0547, 0x2122, FX_TYPE_AN21, "Cypress EZ-USB (2122S)" },\
67 { 0x0547, 0x2125, FX_TYPE_AN21, "Cypress EZ-USB (2121S/2125S)" },\
68 { 0x0547, 0x2126, FX_TYPE_AN21, "Cypress EZ-USB (2126S)" },\
69 { 0x0547, 0x2131, FX_TYPE_AN21, "Cypress EZ-USB (2131Q/2131S/2135S)" },\
70 { 0x0547, 0x2136, FX_TYPE_AN21, "Cypress EZ-USB (2136S)" },\
71 { 0x0547, 0x2225, FX_TYPE_AN21, "Cypress EZ-USB (2225)" },\
72 { 0x0547, 0x2226, FX_TYPE_AN21, "Cypress EZ-USB (2226)" },\
73 { 0x0547, 0x2235, FX_TYPE_AN21, "Cypress EZ-USB (2235)" },\
74 { 0x0547, 0x2236, FX_TYPE_AN21, "Cypress EZ-USB (2236)" },\
75 { 0x04b4, 0x6473, FX_TYPE_FX1, "Cypress EZ-USB FX1" },\
76 { 0x04b4, 0x8613, FX_TYPE_FX2LP, "Cypress EZ-USB FX2LP (68013A/68014A/68015A/68016A)" }, \
77 { 0x04b4, 0x00f3, FX_TYPE_FX3, "Cypress FX3" },\
88extern int ezusb_load_ram(libusb_device_handle *device,
89 const char *path,
int fx_type,
int img_type,
int stage);
91extern int fx3_load_ram(libusb_device_handle *device,
const char *image);
104extern int ezusb_load_eeprom(libusb_device_handle *device,
105 const char *path,
int fx_type,
int img_type,
int config);