FreeCalypso > hg > fc-usbser-tools
comparison doc/FTDI-EEPROM-format @ 79:f14d04e4d85d
doc/FTDI-EEPROM-format: document ftdi-chip and eeprom settings
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Tue, 26 Sep 2023 02:44:52 +0000 |
| parents | 6dc3aa777fd6 |
| children | 8b0a01b19fb9 |
comparison
equal
deleted
inserted
replaced
| 78:d46ea7a3fa0c | 79:f14d04e4d85d |
|---|---|
| 334 Each non-blank, non-comment line defines or tweaks one setting. The following | 334 Each non-blank, non-comment line defines or tweaks one setting. The following |
| 335 settings are common to all ftee-gen* chip variants: | 335 settings are common to all ftee-gen* chip variants: |
| 336 | 336 |
| 337 Setting Format Meaning | 337 Setting Format Meaning |
| 338 ------------------------------- | 338 ------------------------------- |
| 339 ftdi-chip keyword Type of FTDI chip this config source was written for | |
| 340 eeprom keyword EEPROM size selector (not in ftee-gen232r) | |
| 339 vid hex USB vendor ID | 341 vid hex USB vendor ID |
| 340 pid hex USB product ID | 342 pid hex USB product ID |
| 341 manuf string Manufacturer ID string | 343 manuf string Manufacturer ID string |
| 342 product string Product ID string | 344 product string Product ID string |
| 343 byte00 hex Raw setting of byte 00 | 345 byte00 hex Raw setting of byte 00 |
| 386 design, and then a shell pipeline is executed for each board to be programmed. | 388 design, and then a shell pipeline is executed for each board to be programmed. |
| 387 | 389 |
| 388 Byte 0A bit 3 is always overridden by the generator tool based on the serial | 390 Byte 0A bit 3 is always overridden by the generator tool based on the serial |
| 389 number command line argument: set if a serial number is given and cleared if | 391 number command line argument: set if a serial number is given and cleared if |
| 390 this argument is omitted. | 392 this argument is omitted. |
| 393 | |
| 394 FTDI chip type matching | |
| 395 ----------------------- | |
| 396 | |
| 397 The design of FreeCalypso FTDI EEPROM tools calls for mostly manual matching | |
| 398 between EEPROM config files and generator tools: the operator is responsible | |
| 399 for selecting the correct tool (ftee-gen2232c, ftee-gen2232h or ftee-gen232r) | |
| 400 for the actual FTDI chip on the board of interest, and also responsible for | |
| 401 feeding correct EEPROM config files to this tool. However, now that we are | |
| 402 starting to give EEPROM programming instructions to end users in the form of | |
| 403 "please run this shell pipeline", there is a natural desire to reduce potential | |
| 404 for operator error: if someone takes an EEPROM config file written for one FTDI | |
| 405 chip and feeds it to an ftee-gen* tool for a different chip, it would be nice | |
| 406 for this invalid combination to be detected and rejected. | |
| 407 | |
| 408 Toward this end, the following optional settings may be included in EEPROM | |
| 409 config source files: | |
| 410 | |
| 411 ftdi-chip FT2232C # config valid only for ftee-gen2232c | |
| 412 ftdi-chip FT2232D # same as FT2232C | |
| 413 ftdi-chip FT2232H # config valid only for ftee-gen2232h | |
| 414 ftdi-chip FT2232x # config valid for ftee-gen2232c and ftee-gen2232h | |
| 415 ftdi-chip FT232R # config valid only for ftee-gen232r | |
| 416 | |
| 417 EEPROM size selection | |
| 418 --------------------- | |
| 419 | |
| 420 In the case of EEPROM generator tools for FTDI chips with external EEPROMs, | |
| 421 one of the following settings may be included in the config source: | |
| 422 | |
| 423 eeprom 93C46 | |
| 424 eeprom 93C56 | |
| 425 eeprom 93C66 | |
| 426 | |
| 427 If one of these settings is included, the EEPROM size is fixed; if an EEPROM | |
| 428 size option (-s, -b or -B) is included on the command line, it must match the | |
| 429 config-set EEPROM size, otherwise the tool bails out with an error. If no | |
| 430 eeprom setting is included in the config file, then any EEPROM size may be | |
| 431 selected with command line options, and if no such options are included on the | |
| 432 command line either, then the final default is 93C46. | |
| 433 | |
| 434 Preparing config files for boards | |
| 435 --------------------------------- | |
| 436 | |
| 437 If you have a specific board design with an FTDI chip and are preparing an | |
| 438 EEPROM config file for your board, our recommendation is to include ftdi-chip | |
| 439 and eeprom lines in your config file, naming the specific FTDI chip and the | |
| 440 specific EEPROM size on your board. By doing so, you reduce the possibility | |
| 441 that someone will misprogram your EEPROM by selecting the wrong generator tool | |
| 442 or the wrong EEPROM size. | |
| 443 | |
| 444 The alternative approach of leaving these settings unspecified or underspecified | |
| 445 should be used for unfinished EEPROM config templates or examples, or configs | |
| 446 that can be sensibly loaded into many different boards that may vary in FT2232x | |
| 447 chip choice and EEPROM size. |
