comparison doc/DUART28-EEPROM-config @ 34:f5fbcf1ff032

doc: initial import from freecalypso-hwlab
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 09 Sep 2023 21:28:02 +0000
parents
children dbaf239436cf
comparison
equal deleted inserted replaced
33:df284688d0c8 34:f5fbcf1ff032
1 The EEPROM on the DUART28 adapter board has two valid configurations: DUART28C
2 and DUART28S. As of this writing the S configuration is the default shipping
3 one, but this situation may change in the future. The difference between the
4 two configs is in the USB VID:PID presented by the USB device, and this USB ID
5 difference has the following practical impact:
6
7 * The C configuration presents a custom USB ID and requires a custom patch to
8 the Linux kernel ftdi_sio driver in order to work - without this ftdi_sio
9 driver patch it won't work at all. But if you do go through the pain of
10 applying the needed patch to your Linux kernel ftdi_sio driver, the reward
11 is that you get not only the two Calypso UARTs, but also working boot control
12 outputs.
13
14 * The S configuration presents the default FT2232x USB ID and is therefore
15 supported out of the box by the standard Linux ftdi_sio driver without needing
16 any patches. However, the adapter's CTL1 and CTL2 outputs cannot be used in
17 this configuration (they will be bogusly asserted whenever Channel B ttyUSB
18 device is opened), and thus they must be left unconnected, and you don't get
19 to play with the remote boot control feature.
20
21 The physical hardware is identical between the two configurations, only the
22 EEPROM programming changes, thus end users need to be able to switch freely
23 between the two EEPROM configs as they wish. This article explains how to
24 program the EEPROM back and forth between the two configs.
25
26 Determining your current DUART28 config
27 =======================================
28
29 Connect the USB cable between your DUART28 board and your Linux host, and
30 observe dmesg output. If your DUART28 board is in the C configuration, it will
31 present as USB ID 0403:7152, and if it is in the S config, it will present as
32 USB ID 0403:6010. You can also see these USB IDs with lsusb. The product ID
33 string is also programmed as "DUART28C" or "DUART28S".
34
35 Converting from DUART28S to DUART28C
36 ====================================
37
38 If your DUART28 board is currently in the S config, its USB ID will be
39 0403:6010, which is the default ID for FTDI's two-channel FT2232x family.
40 Because it is the standard default, there are plenty of other gadgets using the
41 same ID - thus you need to ensure that you have no other USB devices with the
42 same ID connected to your system during the reprogramming operation. Run lsusb
43 and ensure that you see only one USB device with ID 0403:6010. Ensure that this
44 one device really is your DUART28 board: unplug that USB cable and make sure
45 that the device disappears, plug it back in and make sure that it reappears.
46
47 One you have confirmed that you won't inadvertently hit some other FT2232x
48 device, execute the actual programming command as follows (from the top
49 directory of this code repository):
50
51 ftee-gen2232c eeproms/duart28c $Serial | fteeprom-prog i:0x0403:0x6010
52
53 (See FTDI-EEPROM-tools article for other ways to specify the target device to
54 fteeprom-prog.)
55
56 Replace the $Serial metavariable with the 3-digit serial number of your DUART28
57 adapter board as it appears on the factory serial number sticker.
58
59 After this operation completes successfully, unplug and replug the USB cable
60 between the DUART28 board and your host - the adapter should now show up with
61 USB ID 0403:7152.
62
63 Converting from DUART28C to DUART28S
64 ====================================
65
66 If your DUART28 board is currently in the C config, its USB ID will be
67 0403:7152, which is a private ID that belongs to us and should not be used by
68 other parties. The reverse conversion command is as follows:
69
70 ftee-gen2232c eeproms/duart28s $Serial | fteeprom-prog i:0x0403:0x7152