FreeCalypso > hg > freecalypso-hwlab
annotate linux-patch/README @ 99:2e35070d289f
fc-simtool: savebin command implemented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 25 Jan 2021 00:14:19 +0000 |
parents | d7a1e7a6d6ba |
children | 95c2a67e1219 |
rev | line source |
---|---|
83
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 This directory contains several versions of the Linux kernel ftdi_sio driver |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 patch that adds support for FreeCalypso DUART28C adapter, i.e., the optional |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 configuration of DUART28 with boot control outputs. |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 The version in the orig-202007 directory was produced at the end of 2020-07, |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 when DUART28 hardware was still being designed; this original version of the |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 patch was created to test the idea and to prove it working (using a generic |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 FT2232D board and an oscilloscope), and it was created with the mindset of a |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 hardware engineer, rather than that of Linux kernel maintainers. This original |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 patch version was made against kernel version 4.4.14 (the version used by the |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 Mother), and it predates all later mainline submission and integration attempts. |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 A patch series against then-current mainline was submitted to ftdi_sio driver |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 maintainer Johan Hovold in 2020-09 for inclusion in mainline Linux. The |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 preliminary patch adding support for FreeCalypso JTAG+UART USB ID codes was |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 readily accepted and has since been propagated to several stable kernel branches |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 (4.4.240, 4.9.240, 4.14.202, 4.19.152, 5.4.72, 5.8.16, 5.9.1 and mainline 5.10), |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 but this patch by itself does not help in any way with DUART28C support. The |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 remaining two patches from the original 2020-09 patch series (a preliminary |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 patch fixing an oversight in the quirk interface and then the main patch of |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 interest) were met with resistance, however, and the goal of bringing DUART28C |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 support into mainline Linux is still in limbo as of 2020-12. |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 Johan (the ftdi_sio driver maintainer who was the target of our initial pressure |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 campaign to get the needed driver quirk accepted) has now proposed a generalized |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 version of Mother Mychaela's original idea; this generalized version is just as |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 good for our purposes because in the end it still recognizes our custom USB ID |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 and sets the quirk flag which we require, but it also helps other potential |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 users who may have similar needs, but who work with "any" serial port rather |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 than a custom USB ID. The current version as of this writing of Johan's patch |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 series implementing his proposed generalized solution is this one: |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 https://lore.kernel.org/linux-serial/X8iuCXYhOBVMGvXv@localhost/T/ |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 However, the comments in that thread indicate that the maintainers seem intent |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 on delaying this integration until 5.12 merge window if not even later, thus we |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 are still months away from any hope of resolution. Because We The End Users |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 cannot be expected to put our lives on hold and just sit and wait for kernel |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 maintainers to get their act together, we need some immediate solution for our |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 use right now - and the minpatch-* series presented here is our current best |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 offering for end user purposes. |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 3 end user patch series versions are presented in minpatch-4.4.14, |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 minpatch-4.4.240 and minpatch-4.9.240. 4.4.240 and 4.9.240 already include the |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 preliminary JTAG+UART USB ID code support patch (which serves mainly as an |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 anchor marking the place where the new DUART28C USB ID code needs to go in |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 ftdi_sio_ids.h and in the ftdi_sio.c ID code table), but 4.4.14 predates this |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 patch by a few years, thus minpatch-4.4.14 includes a backport of this |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 preliminary patch as well. After this preliminary patch, each minpatch-* |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 version includes the quirk port_probe patch and the main patch adding DUART28C |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 support with the needed quirk. These latter patches are the closest version we |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 have to what we are hoping to see eventually merged into mainline, and they have |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 already undergone rounds of revision in response to maintainer Johan's criticism |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 - but this "minimal patch" version is limited to just the ftdi_sio driver, not |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 extending into more generic layers, hence the actual quirk flag is implemented |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 inside ftdi_sio, not fully generalized like it is in the version which we are |
d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 hoping to see merged into mainline in future months/years. |