annotate cp2102/cp210x_defs.h @ 69:065f68a94b6b

doc/FTDI-EEPROM-format: beginning of article
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 14 Sep 2023 23:56:25 +0000
parents d4d3531d342a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
50
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * Definitions for talking to CP2102 and perhaps other CP210x chips,
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * taken from Python-based cp210x-program-1.0 tool from 2014,
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 * translated from Python to C.
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 */
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #define CP210x_CONFIG 0xFF
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 #define REG_VENDOR_ID 0x3701
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #define REG_PRODUCT_ID 0x3702
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 #define REG_PRODUCT_STRING 0x3703
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 #define REG_SERIAL_NUMBER 0x3704
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 #define REG_CFG_ATTRIBUTES 0x3705
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 #define REG_MAX_POWER 0x3706
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 #define REG_VERSION 0x3707
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 #define REG_UNKNOWN 0x3708
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 #define REG_EEPROM 0x3709
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 #define REG_LOCK_VALUE 0x370A
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 #define REG_PART_NUMBER 0x370B
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 #define SIZE_EEPROM 0x0400
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 #define SIZE_PRODUCT_STRING 255
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 #define SIZE_SERIAL_NUMBER 128
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 #define SIZE_BAUDRATES 32
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 #define SIZE_BAUDRATE_CFG 10
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 #define SIZE_BAUDRATE_TABLE (SIZE_BAUDRATES * SIZE_BAUDRATE_CFG)
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 #define SIZE_VENDOR_STRING 50
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28
53
d4d3531d342a cp2102-read-eeprom program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents: 50
diff changeset
29 #define EEPROM_START_ADDR 0x3600
d4d3531d342a cp2102-read-eeprom program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents: 50
diff changeset
30
50
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 /* a little bit adapted from libftdi */
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 #define DEVICE_OUT_REQTYPE (USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT)
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 #define DEVICE_IN_REQTYPE (USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN)
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 #define USB_READ_TIMEOUT 5000
a5c4a82d01ab cp2102-read-partno program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 #define USB_WRITE_TIMEOUT 5000