From: Grigori Goronzy <greg@chown.ath.cx>
To: Johan Hovold <johan@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Major improvements to the ch341 driver
Date: Sat, 2 Apr 2016 19:07:09 +0200 [thread overview]
Message-ID: <1459616843-23829-1-git-send-email-greg@chown.ath.cx> (raw)
Hi,
this patchset consists of several improvements and cleanups to the
ch341 driver, which has been mostly unmaintained for the last few
years, despite major shortcomings. For instance, there is no support
at all for parity, which is an often used feature. Other settings
are missing too, as is hardware flow control.
Here's a summary of changes:
- Restructured initialization and configuration, which makes CH341A hardware
work for the first time and is the basis for some following additions.
- Support for the different parity modes, including mark/space
- Support for two stop bits
- Support for 5, 6 and 7 bit transfers
- Support for RTS/CTS hardware flow control
- Improved handling of B0 and DTR/RTS lines
- Added tx_empty callback
- Extracted magic numbers into definitions
- Cleaned up code style and debug/error messages
This has been tested on several different CH340G dongles and a
CH341A adapter which is designed for EEPROM programming (but still
supports UART). Functionality of the different configurations has
been verified with a logic analyzer. In addition I did some quick
interoperability tests with a CP2102 UART. My original motivation
for this work was parity support which I needed for stcgal [1],
and it works fine with that software too, of course.
Please review. I would also appreciate to get some more testing
done. In particular, I would like to make the sure the restructured
initialization does not break anything.
If you wonder, this is v2 because I initially sent it to the wrong list.
Best regards
Grigori
[1] https://github.com/grigorig/stcgal
next reply other threads:[~2016-04-02 17:18 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-02 17:07 Grigori Goronzy [this message]
2016-04-02 17:07 ` [PATCH v2 01/14] USB: ch341: improve documentation Grigori Goronzy
2016-04-06 11:58 ` One Thousand Gnomes
2016-04-02 17:07 ` [PATCH v2 02/14] USB: ch341: fix error handling on resume Grigori Goronzy
2016-04-02 17:07 ` [PATCH v2 03/14] USB: ch341: add LCR register definitions Grigori Goronzy
2016-04-02 17:07 ` [PATCH v2 04/14] USB: ch341: add definitions for modem control Grigori Goronzy
2016-04-02 17:07 ` [PATCH v2 05/14] USB: ch341: fix USB buffer allocations Grigori Goronzy
2016-04-04 7:13 ` Oliver Neukum
2016-04-02 17:07 ` [PATCH v2 06/14] USB: ch341: reinitialize chip on reconfiguration Grigori Goronzy
2016-04-10 13:24 ` Clemens Ladisch
2016-04-02 17:07 ` [PATCH v2 07/14] USB: ch341: add support for parity, frame length, stop bits Grigori Goronzy
2016-04-03 15:58 ` Karl Palsson
2016-04-06 11:59 ` One Thousand Gnomes
2016-04-02 17:07 ` [PATCH v2 08/14] USB: ch341: add debug output for chip version Grigori Goronzy
2016-04-02 17:07 ` [PATCH v2 09/14] USB: ch341: add support for RTS/CTS flow control Grigori Goronzy
2016-04-02 17:07 ` [PATCH v2 10/14] USB: ch341: fix coding style Grigori Goronzy
2016-04-02 17:29 ` Joe Perches
2016-04-06 17:58 ` Grigori Goronzy
2016-04-06 18:10 ` Johan Hovold
2016-04-07 1:11 ` Grigori Goronzy
2016-04-02 17:07 ` [PATCH v2 11/14] USB: ch341: clean up messages Grigori Goronzy
2016-04-02 17:07 ` [PATCH v2 12/14] USB: ch341: improve B0 handling Grigori Goronzy
2016-04-02 17:07 ` [PATCH v2 13/14] USB: ch341: get rid of default configuration Grigori Goronzy
2016-04-02 17:07 ` [PATCH v2 14/14] USB: ch341: implement tx_empty callback Grigori Goronzy
2016-04-03 16:03 ` Karl Palsson
2016-04-06 18:03 ` Grigori Goronzy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1459616843-23829-1-git-send-email-greg@chown.ath.cx \
--to=greg@chown.ath.cx \
--cc=gregkh@linuxfoundation.org \
--cc=johan@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®