Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1370015
| From | Grigori Goronzy <greg@chown.ath.cx> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Major improvements to the ch341 driver |
| Date | 2016-04-02 19:20 +0200 |
| Message-ID | <rjxnk-74U-3@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
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
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
Major improvements to the ch341 driver Grigori Goronzy <greg@chown.ath.cx> - 2016-04-02 19:20 +0200
[PATCH v2 04/14] USB: ch341: add definitions for modem control Grigori Goronzy <greg@chown.ath.cx> - 2016-04-02 19:30 +0200
[PATCH v2 13/14] USB: ch341: get rid of default configuration Grigori Goronzy <greg@chown.ath.cx> - 2016-04-02 19:30 +0200
[PATCH v2 09/14] USB: ch341: add support for RTS/CTS flow control Grigori Goronzy <greg@chown.ath.cx> - 2016-04-02 19:30 +0200
[PATCH v2 05/14] USB: ch341: fix USB buffer allocations Grigori Goronzy <greg@chown.ath.cx> - 2016-04-02 19:30 +0200
Re: [PATCH v2 05/14] USB: ch341: fix USB buffer allocations Oliver Neukum <oneukum@suse.com> - 2016-04-04 09:20 +0200
[PATCH v2 03/14] USB: ch341: add LCR register definitions Grigori Goronzy <greg@chown.ath.cx> - 2016-04-02 19:30 +0200
[PATCH v2 07/14] USB: ch341: add support for parity, frame length, stop bits Grigori Goronzy <greg@chown.ath.cx> - 2016-04-02 19:30 +0200
Re: [PATCH v2 07/14] USB: ch341: add support for parity, frame length, stop bits Karl Palsson <karlp@tweak.net.au> - 2016-04-03 18:00 +0200
Re: [PATCH v2 07/14] USB: ch341: add support for parity, frame length, stop bits One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk> - 2016-04-06 14:10 +0200
csiph-web