From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergej Pupykin Subject: WCH CH-382 support: help with patching Date: Wed, 22 Jan 2014 15:51:54 +0400 Message-ID: <87iotc6xph.wl%ml@sergej.pp.ru> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: multipart/mixed; boundary="Multipart_Wed_Jan_22_15:51:54_2014-1" Content-Transfer-Encoding: 8bit Return-path: Received: from home.sergej.pp.ru ([217.25.226.33]:52896 "EHLO home.p5n.pp.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753856AbaAVMJy (ORCPT ); Wed, 22 Jan 2014 07:09:54 -0500 Received: from pupykin.internal.dsr-company.com.ru.sergej.pp.ru (lx-ltd.ru [213.128.218.38]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by home.p5n.pp.ru (Postfix) with ESMTPSA id D31AC916E57 for ; Wed, 22 Jan 2014 16:01:21 +0400 (MSK) Sender: linux-serial-owner@vger.kernel.org List-Id: linux-serial@vger.kernel.org To: linux-serial@vger.kernel.org --Multipart_Wed_Jan_22_15:51:54_2014-1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hi, I have wch ch382 board which is mostly similar to already supported ch353 I think. But 382 works in PCI-E slot whereas 353 in PCI. I've written a patch and LPT looks working with parport_serial. (Actually it works even using "modprobe parport_pc io=0xe100") But I have some problems with ttyS*. Here are changes between CH353-2S1P and CH382-2S1P in vendor driver: CH353 CH382 type 16550 16750 IntrBar 3 0 IntrOffset 0x0F 0xE9 ofs1 0,0 0xC0,0xC8 As I understand last line is offset to uart I/O ports, so I put 0xC0 to pci_parport_serial_boards[].first_offset and uart_offset is 8, so /sys/class/tty/ttyS0/port is 0xE0C0 /sys/class/tty/ttyS1/port is 0xE0C8 and lspci -v reports "I/O ports at e000 [size=256]" But I cannot find where should I put interrupt parameters IntrBar and IntrOffset. Probably this is the reason why ttyS* don't work. Here is vendor WCH driver: https://home.p5n.pp.ru/~sergej/files/wch-driver.tar.gz My patch is in attachment. --Multipart_Wed_Jan_22_15:51:54_2014-1 Content-Type: application/octet-stream; type=patch Content-Disposition: attachment; filename="wch-serial.diff" Content-Transfer-Encoding: base64 ZGlmZiAtd2JCdXIgbGludXgtMy4xMi5vcmcvZHJpdmVycy9wYXJwb3J0L3BhcnBvcnRfc2VyaWFs LmMgbGludXgtMy4xMi9kcml2ZXJzL3BhcnBvcnQvcGFycG9ydF9zZXJpYWwuYwotLS0gbGludXgt My4xMi5vcmcvZHJpdmVycy9wYXJwb3J0L3BhcnBvcnRfc2VyaWFsLmMJMjAxMy0xMS0wNCAwMzo0 MTo1MS4wMDAwMDAwMDAgKzA0MDAKKysrIGxpbnV4LTMuMTIvZHJpdmVycy9wYXJwb3J0L3BhcnBv cnRfc2VyaWFsLmMJMjAxNC0wMS0yMiAxNDowMDo0My44MjU2ODc1OTEgKzA0MDAKQEAgLTYzLDYg KzYzLDcgQEAKIAl0aW1lZGlhXzkwNzliLAogCXRpbWVkaWFfOTA3OWMsCiAJd2NoX2NoMzUzXzJz MXAsCisJd2NoX2NoMzgyXzJzMXAsCiAJc3VuaXhfMnMxcCwKIH07CiAKQEAgLTE0OSw2ICsxNTAs NyBAQAogCS8qIHRpbWVkaWFfOTA3OWIgKi8gICAgICAgICAgICAgeyAxLCB7IHsgMiwgMyB9LCB9 IH0sCiAJLyogdGltZWRpYV85MDc5YyAqLyAgICAgICAgICAgICB7IDEsIHsgeyAyLCAzIH0sIH0g fSwKIAkvKiB3Y2hfY2gzNTNfMnMxcCovICAgICAgICAgICAgIHsgMSwgeyB7IDIsIC0xfSwgfSB9 LAorCS8qIHdjaF9jaDM4Ml8yczFwKi8gICAgICAgICAgICAgeyAxLCB7IHsgMiwgLTF9LCB9IH0s CiAJLyogc3VuaXhfMnMxcCAqLyAgICAgICAgICAgICAgICB7IDEsIHsgeyAzLCAtMSB9LCB9IH0s CiB9OwogCkBAIC0yNTQsNiArMjU2LDcgQEAKIAogCS8qIFdDSCBDQVJEUyAqLwogCXsgMHg0MzQ4 LCAweDcwNTMsIDB4NDM0OCwgMHgzMjUzLCAwLCAwLCB3Y2hfY2gzNTNfMnMxcH0sCisJeyAweDFj MDAsIDB4MzI1MCwgMHgxYzAwLCAweDMyNTAsIDAsIDAsIHdjaF9jaDM4Ml8yczFwfSwKIAogCS8q CiAJICogTW9yZSBTVU5JWCB2YXJpYXRpb25zLiBBdCBsZWFzdCBvbmUgb2YgdGhlc2UgaGFzIHBh cnQgbnVtYmVyCkBAIC00ODUsNiArNDg4LDEzIEBACiAJCS5iYXNlX2JhdWQgICAgICA9IDExNTIw MCwKIAkJLnVhcnRfb2Zmc2V0ICAgID0gOCwKIAl9LAorCVt3Y2hfY2gzODJfMnMxcF0gPSB7CisJ CS5mbGFncyAgICAgICAgICA9IEZMX0JBU0UwLAorCQkubnVtX3BvcnRzICAgICAgPSAyLAorCQku YmFzZV9iYXVkICAgICAgPSAxMTUyMDAsCisJCS51YXJ0X29mZnNldCAgICA9IDgsCisJCS5maXJz dF9vZmZzZXQgICA9IDB4QzAsCisJfSwKIAlbc3VuaXhfMnMxcF0gPSB7CiAJCS5mbGFncwkJPSBG TF9CQVNFMHxGTF9CQVNFX0JBUlMsCiAJCS5udW1fcG9ydHMJPSAyLApkaWZmIC13YkJ1ciBsaW51 eC0zLjEyLm9yZy9kcml2ZXJzL3R0eS9zZXJpYWwvODI1MC84MjUwX3BjaS5jIGxpbnV4LTMuMTIv ZHJpdmVycy90dHkvc2VyaWFsLzgyNTAvODI1MF9wY2kuYwotLS0gbGludXgtMy4xMi5vcmcvZHJp dmVycy90dHkvc2VyaWFsLzgyNTAvODI1MF9wY2kuYwkyMDEzLTExLTA0IDAzOjQxOjUxLjAwMDAw MDAwMCArMDQwMAorKysgbGludXgtMy4xMi9kcml2ZXJzL3R0eS9zZXJpYWwvODI1MC84MjUwX3Bj aS5jCTIwMTQtMDEtMjIgMTM6NTk6NTkuNTg1Njg4MTA5ICswNDAwCkBAIC0xNTIxLDYgKzE1MjEs MjIgQEAKIAlyZXR1cm4gcGNpX2RlZmF1bHRfc2V0dXAocHJpdiwgYm9hcmQsIHBvcnQsIGlkeCk7 CiB9CiAKK3N0YXRpYyBpbnQKK3BjaV93Y2hfY2gzODJfc2V0dXAoc3RydWN0IHNlcmlhbF9wcml2 YXRlICpwcml2LAorICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcGNpc2VyaWFsX2Jv YXJkICpib2FyZCwKKyAgICAgICAgICAgICAgICAgICAgc3RydWN0IHVhcnRfODI1MF9wb3J0ICpw b3J0LCBpbnQgaWR4KQoreworI2lmIDAKKwl1bnNpZ25lZCBpbnQgYmFyID0gRkxfR0VUX0JBU0Uo Ym9hcmQtPmZsYWdzKTsKKwl1bnNpZ25lZCBpbnQgb2Zmc2V0ID0gYm9hcmQtPmZpcnN0X29mZnNl dDsKKwlvZmZzZXQgKz0gaWR4ICogYm9hcmQtPnVhcnRfb2Zmc2V0OworCXJldHVybiBzZXR1cF9w b3J0KHByaXYsIHBvcnQsIGJhciwgb2Zmc2V0LCBib2FyZC0+cmVnX3NoaWZ0KTsKKyNlbmRpZgor CXBvcnQtPnBvcnQuZmxhZ3MgfD0gVVBGX0ZJWEVEX1RZUEU7CisJcG9ydC0+cG9ydC50eXBlID0g UE9SVF8xNjc1MDsKKwlyZXR1cm4gcGNpX2RlZmF1bHRfc2V0dXAocHJpdiwgYm9hcmQsIHBvcnQs IGlkeCk7Cit9CisKICNkZWZpbmUgUENJX1ZFTkRPUl9JRF9TQlNNT0RVTEFSSU8JMHgxMjRCCiAj ZGVmaW5lIFBDSV9TVUJWRU5ET1JfSURfU0JTTU9EVUxBUklPCTB4MTI0QgogI2RlZmluZSBQQ0lf REVWSUNFX0lEX09DVFBSTwkJMHgwMDAxCkBAIC0xNTU0LDEwICsxNTcwLDEyIEBACiAjZGVmaW5l IFBDSV9ERVZJQ0VfSURfUExYX0NST05ZWF9PTUVHQQkweGMwMDEKICNkZWZpbmUgUENJX0RFVklD RV9JRF9JTlRFTF9QQVRTQlVSR19LVCAweDFkM2QKICNkZWZpbmUgUENJX1ZFTkRPUl9JRF9XQ0gJ CTB4NDM0OAorI2RlZmluZSBQQ0lFX1ZFTkRPUl9JRF9XQ0gJCTB4MWMwMAogI2RlZmluZSBQQ0lf REVWSUNFX0lEX1dDSF9DSDM1Ml8yUwkweDMyNTMKICNkZWZpbmUgUENJX0RFVklDRV9JRF9XQ0hf Q0gzNTNfNFMJMHgzNDUzCiAjZGVmaW5lIFBDSV9ERVZJQ0VfSURfV0NIX0NIMzUzXzJTMVBGCTB4 NTA0NgogI2RlZmluZSBQQ0lfREVWSUNFX0lEX1dDSF9DSDM1M18yUzFQCTB4NzA1MworI2RlZmlu ZSBQQ0lFX0RFVklDRV9JRF9XQ0hfQ0gzODJfMlMxUAkweDMyNTAKICNkZWZpbmUgUENJX1ZFTkRP Ul9JRF9BR0VTVEFSCQkweDUzNzIKICNkZWZpbmUgUENJX0RFVklDRV9JRF9BR0VTVEFSXzkzNzUJ MHg2ODcyCiAjZGVmaW5lIFBDSV9WRU5ET1JfSURfQVNJWAkJMHg5NzEwCkBAIC0yMTgyLDYgKzIy MDAsMTQgQEAKIAkJLnN1YmRldmljZQk9IFBDSV9BTllfSUQsCiAJCS5zZXR1cAkJPSBwY2lfd2No X2NoMzUzX3NldHVwLAogCX0sCisJLyogV0NIIENIMzgyIDJTMVAgY2FyZCAoMTY3NTAgY2xvbmUp ICovCisJeworCQkudmVuZG9yICAgICAgICAgPSBQQ0lFX1ZFTkRPUl9JRF9XQ0gsCisJCS5kZXZp Y2UgICAgICAgICA9IFBDSUVfREVWSUNFX0lEX1dDSF9DSDM4Ml8yUzFQLAorCQkuc3VidmVuZG9y ICAgICAgPSBQQ0lfQU5ZX0lELAorCQkuc3ViZGV2aWNlICAgICAgPSBQQ0lfQU5ZX0lELAorCQku c2V0dXAgICAgICAgICAgPSBwY2lfd2NoX2NoMzgyX3NldHVwLAorCX0sCiAJLyoKIAkgKiBBU0lY IGRldmljZXMgd2l0aCBGSUZPIGJ1ZwogCSAqLwpAQCAtMzIxMiw2ICszMjM4LDcgQEAKIAogCS8q IG11bHRpLWlvIGNhcmRzIGhhbmRsZWQgYnkgcGFycG9ydF9zZXJpYWwgKi8KIAl7IFBDSV9ERVZJ Q0UoMHg0MzQ4LCAweDcwNTMpLCB9LCAvKiBXQ0ggQ0gzNTMgMlMxUCAqLworCXsgUENJX0RFVklD RSgweDFjMDAsIDB4MzI1MCksIH0sIC8qIFdDSCBDSDM4MiAyUzFQICovCiB9OwogCiAvKgo= --Multipart_Wed_Jan_22_15:51:54_2014-1--