X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=ftdi_eeprom%2Fmain.c;h=e3a09ba421fd499cadae30234666ec262a1e7d7f;hp=16c87c915f9f8207f01197966fd5480b3496c2c8;hb=HEAD;hpb=c7db7f11b21d5efe6f63f1a9b5f45c99ed6c1a5c diff --git a/ftdi_eeprom/main.c b/ftdi_eeprom/main.c index 16c87c9..e3a09ba 100644 --- a/ftdi_eeprom/main.c +++ b/ftdi_eeprom/main.c @@ -2,8 +2,9 @@ main.c - description ------------------- begin : Mon Apr 7 12:05:22 CEST 2003 - copyright : (C) 2003-2014 by Intra2net AG and the libftdi developers + copyright : (C) 2003-2020 by Intra2net AG and the libftdi developers email : opensource@intra2net.com + SPDX-License-Identifier: GPL-2.0-only ***************************************************************************/ /*************************************************************************** @@ -202,7 +203,7 @@ static void usage(const char *program) fprintf(stderr, "Syntax: %s [...options...] \n", program); fprintf(stderr, "Valid Options:\n"); fprintf(stderr, "--device Specify device to open by description string. One of:\n"); - fprintf(stderr, " d:\n"); + fprintf(stderr, " d:\n"); fprintf(stderr, " i::\n"); fprintf(stderr, " i:::\n"); fprintf(stderr, " s:::\n"); @@ -210,6 +211,7 @@ static void usage(const char *program) fprintf(stderr, "--build-eeprom Build eeprom image\n"); fprintf(stderr, "--erase-eeprom Erase eeprom\n"); fprintf(stderr, "--flash-eeprom Flash eeprom\n"); + fprintf(stderr, "--verbose Print more information\n"); } int main(int argc, char *argv[]) @@ -221,6 +223,7 @@ int main(int argc, char *argv[]) { CFG_INT("vendor_id", 0, 0), CFG_INT("product_id", 0, 0), + CFG_INT("release_number", -1, 0), CFG_BOOL("self_powered", cfg_true, 0), CFG_BOOL("remote_wakeup", cfg_true, 0), CFG_BOOL("in_is_isochronous", cfg_false, 0), @@ -305,6 +308,8 @@ int main(int argc, char *argv[]) int i; FILE *fp; + int verbose=0; + struct ftdi_context *ftdi = NULL; printf("\nFTDI eeprom generator v%s\n", EEPROM_VERSION_STRING); @@ -340,6 +345,10 @@ int main(int argc, char *argv[]) { command = COMMAND_BUILD; } + else if (!strcmp(argv[i], "--verbose")) + { + verbose = 1; + } else { usage(argv[0]); @@ -418,7 +427,7 @@ int main(int argc, char *argv[]) if (command == COMMAND_READ) { - ftdi_eeprom_decode(ftdi, 0 /* debug: 1 */); + ftdi_eeprom_decode(ftdi, verbose); eeprom_buf = malloc(my_eeprom_size); ftdi_get_eeprom_buf(ftdi, eeprom_buf, my_eeprom_size); @@ -451,6 +460,10 @@ int main(int argc, char *argv[]) eeprom_set_value(ftdi, VENDOR_ID, cfg_getint(cfg, "vendor_id")); eeprom_set_value(ftdi, PRODUCT_ID, cfg_getint(cfg, "product_id")); + if (cfg_getint(cfg, "release_number") != -1) { + eeprom_set_value(ftdi, RELEASE_NUMBER, cfg_getint(cfg, "release_number")); + } + eeprom_set_value(ftdi, SELF_POWERED, cfg_getbool(cfg, "self_powered")); eeprom_set_value(ftdi, REMOTE_WAKEUP, cfg_getbool(cfg, "remote_wakeup")); eeprom_set_value(ftdi, MAX_POWER, cfg_getint(cfg, "max_power"));