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.