annotate linux-patch/README @ 115:0dcd666292e4

fc-simtool: pb-erase-one command implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 28 Jan 2021 02:56:10 +0000
parents d7a1e7a6d6ba
children 95c2a67e1219
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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.