comparison doc/CP2102-EEPROM-format @ 100:29bff463402e

doc/CP2102-EEPROM-format: part number byte confirmed
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 28 Sep 2023 05:39:44 +0000
parents b36397a56bda
children
comparison
equal deleted inserted replaced
99:c59011177e2e 100:29bff463402e
11 * All USB descriptors are stored in full in the big EEPROM; 11 * All USB descriptors are stored in full in the big EEPROM;
12 12
13 * Each of the 3 string descriptors (manufacturer, product, serial number) has a 13 * Each of the 3 string descriptors (manufacturer, product, serial number) has a
14 fixed area allocated for it, no pointer-to-string scheme like in FTDI's 14 fixed area allocated for it, no pointer-to-string scheme like in FTDI's
15 EEPROMs; 15 EEPROMs;
16
17 * Unlike FTDI EEPROMs, CP2102 EEPROM is most certainly NOT optional - a blank
18 or garbage-filled EEPROM will result in a non-functional chip;
19
20 * There is no checksum - because there is nothing for the chip to "fall back"
21 on when the EEPROM is bad, there is no point in checking the EEPROM content
22 for validity;
16 23
17 * The logical structure of CP2102 EEPROM is byte-oriented - no 16-bit words as 24 * The logical structure of CP2102 EEPROM is byte-oriented - no 16-bit words as
18 elementary units. 25 elementary units.
19 26
20 Intel HEX format 27 Intel HEX format
70 77
71 Seems to be an unused area, all 00 bytes. 78 Seems to be an unused area, all 00 bytes.
72 79
73 Address 0x37FF, 1 byte: 80 Address 0x37FF, 1 byte:
74 81
75 Python cp210x package notes indicate that this byte holds the part 82 Part number code 0x02 for CP2102. The chip returns this EEPROM byte
76 number, presumably the one returned by the vendor-specific command that 83 when queried (via CP210x family-specific command) for its part number,
77 retrieves it. This aspect remains to be tested at FreeCalypso HQ. 84 as in cp2102-read-partno.
78 85
79 Address 0x3800, 4 bytes: 86 Address 0x3800, 4 bytes:
80 87
81 USB string descriptor 0, as in USB 2.0 spec Table 9-15. 88 USB string descriptor 0, as in USB 2.0 spec Table 9-15.
82 89