FreeCalypso > hg > freecalypso-hwlab
comparison doc/DUART28-EEPROM-config @ 78:f0b0970fbe2e
doc/DUART28-EEPROM-config article written
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 17 Sep 2020 04:18:46 +0000 |
parents | |
children | df4bf4e06221 |
comparison
equal
deleted
inserted
replaced
77:86db7b4bfca4 | 78:f0b0970fbe2e |
---|---|
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 |