From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: USB:serial:pl2303:Add new PID to support PL2303HXN (TYPE_HXN) From: Johan Hovold Message-Id: <20190417111340.GA2520@localhost> Date: Wed, 17 Apr 2019 13:13:40 +0200 To: Charles Yeh Cc: Johan Hovold , Greg KH , linux-usb@vger.kernel.org, =?utf-8?B?WWVoLkNoYXJsZXMgW+iRieamrumRq10=?= List-ID: T24gV2VkLCBBcHIgMTcsIDIwMTkgYXQgMDY6NTA6NTVQTSArMDgwMCwgQ2hhcmxlcyBZZWggd3Jv dGU6Cj4gSGVsbG8gU2lyLAo+IAo+IFBsZWFzZSBkb3dubG9hZCB0aGUgUEwyMzAzX0xpbnV4XzA0 MTkuemlwIGZyb20KPiBodHRwczovL2FwcC5ib3guY29tL3MvdWg5a2xkcmRsZGpubWpmZmt1OGdr ZHZ2YXE1NDk2dGsKPiAKPiA+ID4gQWZ0ZXIgdGhlIGFjdHVhbCB0ZXN0IChJIGhhdmUgdGVzdGVk IHRoZSBvbGQgUEwyMzAzSCBjaGlwIG9uIExpbnV4KSwKPiA+ID4gd2hlbiBJIHBsdWcgaW4gdGhl IFBMMjMwM0ggKFRZUEVfMDEpLCB0aGUgTGludXggY29kZSB3aWxsIGV4ZWN1dGUgdGhlIGNvZGU6 Cj4gPiA+IGlmIChzcHJpdi0+cXVpcmtzICYgUEwyMzAzX1FVSVJLX0xFR0FDWSkgaXRpbmVyYXJ5 IGNvZGUuCj4gPiA+IFNvIEkgY29uZmlybSBUaGlzICJQTDIzMDNfUVVJUktfTEVHQUNZIiBvZiBj b2RlIHJlZmVycyB0byBQTDIzMDNIKFRZUEVfMDEpCj4gPgo+ID4gQ29ycmVjdCwgYnV0IG15IHF1 ZXN0aW9uIHdhcyBhYm91dCBiaXQgMHgyMCBmb3IgVFlQRV8wMSBkZXZpY2VzOyB3aHkKPiA+IGlz bid0IGl0IGJlaW5nIGFzIHNldCBhcyBmb3IgVFlQRV9IWD8KPiA+Cj4gCj4gVFlQRV8wMSAvIFRZ UEVfSFggLyBUWVBFX0hYTiBhcmUgZGlmZmVyZW50IGhhcmR3YXJlIGRlc2lnbi4KPiBQbGVhc2Ug cmVmZXIgdG8gUEwyMzAzX0xpbnV4XzA0MTlcUEwyMzAzX1RZUEVfMDFfVUFSVF9GbG93LmpwZyAm Cj4gUEwyMzAzX1RZUEVfSFhfVUFSVF9GbG93LmpwZwoKVGhhbmtzLCB0aGF0IHdpbGwgYmUgdmVy eSBoZWxwZnVsLgoKPiA+IFdlbGwsIHdpdGhvdXQgZG9jdW1lbnRhdGlvbiBpdCBpcyBoYXJkIHRv IGdpdmUgYWR2aWNlLiBCdXQgdGhlCj4gPiBpbmZvcm1hdGlvbiB5b3UgcHJvdmlkZWQgYWJvdmUs IGluZGljYXRlcyB0aGF0IHlvdSBzaG91bGQgbm90IGJlCj4gPiBvdmVyd3JpdGluZyB0aGVzZSBy ZWdpc3RlcnMgY29tcGxldGVseSBmb3IgSFhOIGVpdGhlciB3aGVuIHVwZGF0aW5nIHRoZQo+ID4g Zmxvdy1jb250cm9sIHNldHRpbmdzLiBPbmx5IHRoZSBiaXRzIDIuLjQgKGFuZCBwb3NzaWJseSAw Li4xKSBzaG91bGQgYmUKPiA+IHdyaXR0ZW4uCj4gPgo+ID4gVGFrZSBhIGxvb2sgYXQgdGhlIHBh dGNoZXMgSSBtZXJnZWQgZm9yIGRvaW5nIHRoaXMgb24gdGhlIG9sZGVyIGRldmljZXMuCj4gPiBZ b3Ugc2hvdWxkIGJlIGFibGUgdG8gdXNlIHRoZSBzYW1lIGhlbHBlciB3aGVuIHVwZGF0aW5nIHRo ZXNlCj4gPiByZWdpc3RlcnMuCj4gCj4gUGxlYXNlIHJlZmVyIHRvIFBMMjMwM19MaW51eF8wNDE5 XAo+IFBMMjMwM19UWVBFXzAxX1VBUlRfRmxvdy5qcGcgJgo+IFBMMjMwM19UWVBFX0hYX1VBUlRf Rmxvdy5qcGcgJgo+IFBMMjMwM0dfVFlQRV9IWE5fVUFSVF9GbG93LmpwZwo+IAo+IAo+IAo+IElm IHlvdSBoYXZlIG90aGVyIHF1ZXN0aW9ucyAod2hldGhlciBpdCdzIG15IG5ld2x5IHdyaXR0ZW4g cGF0Y2ggY29kZSBvcgo+IHRoZSBjb2RlIHRoYXQgb3JpZ2luYWxseSBleGlzdGVkKSwgcGxlYXNl IHRyeSB0byByYWlzZSBpdC4uLiBUaGFua3MhCgpJIHdpbGwsIHRoYW5rcy4gSSdtIGxvb2tpbmcg YXQgaG93IGJlc3QgdG8gYWJzdHJhY3QgdGhpcyBub3cuCgo+IFRoZSBjb2RlIHRoYXQgb3JpZ2lu YWxseSBleGlzdGVkOyBub3Qgd2hhdCBJIHdyb3RlLi4KPiBCdXQgSSBoYXZlIHJld3JpdHRlbiBt YW55IHRpbWVzIHRvIGEgbG90IG9mIGN1c3RvbWVycy4uLgo+IHByb2JhYmx5IGNhbiBhbHNvIGd1 ZXNzIHRoZSB1c2FnZSBvZiB0aGUgb3JpZ2luYWwgY29kZS4KPiAKPiAKPiBJIGp1c3QgdXNlZAo+ ICJnaXQgY2xvbmUgZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0 L3RvcnZhbGRzL2xpbnV4LmdpdCIKPiB0byBnZXQgdGhlIGxhdGVzdCBMaW51eCBrZXJuZWwuCj4g Cj4gVGhlIGNvZGUgSSBzZWUgaW4gdGhlIHBsMjMwM19zZXRfdGVybWlvcyBmdW5jdGlvbgo+IGlz IHN0aWxsIHBsMjMwM192ZW5kb3Jfd3JpdGUoc2VyaWFsLDB4MCwweDQxKSwKPiBOb3QgcGwyMzAz X3VwZGF0ZV9yZWcoc2VyaWFsLDAsUEwyMzAzX0ZMT1dDVFJMX01BU0ssMHg0MCk7CgpZZXMsIHlv dSBuZWVkIHRvIGJhc2UgaXQgb24gbXkgdXNiLW5leHQgYnJhbmNoIChvciBsaW51eC1uZXh0KToK CglnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvam9oYW4vdXNi LXNlcmlhbC5naXQKCj4gQ2FuIEkgd3JpdGUgYSBuZXcgcGF0Y2g/Cj4gImdpdCBjbG9uZSBnaXQ6 Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXgu Z2l0Igo+IEJ1dCBJIGRvbid0IHdhbnQgdG8gcmV3cml0ZSB0aGUgb3JpZ2luYWwgY29kZS4KPiBG b3IgZXhhbXBsZSAicGwyMzAzX3ZlbmRvcl93cml0ZShzZXJpYWwsMHgwLDB4NDEpIgo+IEJlY2F1 c2UgdGhhdCdzIHRoZSBvbGQgY29kZS4uIE5vdCB0aGF0IEkgYWRkZWQgdGhlIHBhdGNoIGNvZGUg dGhpcyB0aW1lLgoKR290IGl0LCBidXQgcGxlYXNlIHRha2UgYSBsb29rIG15IHVzYi1uZXh0IGJy YW5jaC4KCkknbGwgdHJ5IHRvIGNsZWFuIHVwIHRoZSBjdXJyZW50IGRyaXZlciBzb21lIG1vcmUg YmFzZWQgb24geW91cgpmZWVkYmFjay4gSSdsbCBnZXQgYmFjayB0byB5b3UgYXMgc29vbiBhcyBo YXZlIHNvbWV0aGluZyBjb25jcmV0ZQphbmQgd2UnbGwgZ2V0IHRoZSBIWE4gc3VwcG9ydCBpbiBw bGFjZS4KCk1lYW53aGlsZSBoZXJlIGFyZSBmZXcgcXVlc3Rpb25zOgoKIDEuIENhbiBiY2RVU0Ig YmUgdXNlZCB0byBkZXRlY3QgdGhlIEhYTiBkZXZpY2VzPwoKIDIuIERvZXMgdGhlIG9sZCAodHlw ZSAwMSBhbmQgaHgpIGRldmljZXMgcmVxdWlyZSB0aGUgcmVnaXN0ZXIgYWRkcmVzcwogICAgdG8g YmUgT1JlZCB3aXRoIDB4ODAgd2hlbiByZWFkaW5nPwoKIDMuIEFuZCB0aGUgSFhOIGRvZXMgbm90 IG5lZWQgdGhhdCBPUmluZyB3aXRoIDB4ODAgaXQgc2VlbXM/CgogNC4gSG93IGRvIHlvdSB1c2Ug dGhlIGNoaXAtcmVzZXQgcmVnaXN0ZXIgKDB4Nykgb24gSFhOOyBkbyB5b3Ugd3JpdGUKICAgIDB4 MDMgaWYgeW91IG9ubHkgd2FudCB0byByZXNldCBib3RoIGRhdGEgcGlwZXM/CgpBbmQgcGxlYXNl IHRyeSB0byByZXNwb25kIGlubGluZSB3aGVuIHJlcGx5aW5nLCBubyBuZWVkIHRvIGtlZXAgc2Vj b25kCmNvcHkgYXQgdGhlIGVuZCBvZiB5b3VyIG1haWxzLgoKVGhhbmtzLApKb2hhbgo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_PASS, T_DKIMWL_WL_HIGH,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 74941C282DA for ; Wed, 17 Apr 2019 11:13:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 42EC420821 for ; Wed, 17 Apr 2019 11:13:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1555499619; bh=RHKcalS8rV/mm56h8YNahdVzbd4n9zN/bJzE+WDFYCM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=KC5zwN6nyn0fZZ24U8YRzQ7hFOKsYjBYhVOgA5+EEXr9O27sJ/PBReNVP/79icIVE 1H8S6bJt8PoNchummFxdJWB0Pui4ugjOjpKOjsuk7hW7mCmlaKlb5NLuf1Y7umb5L/ Ic2t4/yhQ7D+OAymIcM17nJNhKVLuK+Z90UjN7PM= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731659AbfDQLNi (ORCPT ); Wed, 17 Apr 2019 07:13:38 -0400 Received: from mail-lj1-f194.google.com ([209.85.208.194]:34272 "EHLO mail-lj1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729522AbfDQLNi (ORCPT ); Wed, 17 Apr 2019 07:13:38 -0400 Received: by mail-lj1-f194.google.com with SMTP id j89so22057225ljb.1 for ; Wed, 17 Apr 2019 04:13:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=AJZ0tE5GYQiM+qj3PzdYxfAjH5yudsheWP6VcqZ8ixU=; b=YYwenNjndVB4qzpjP+pZCbAtGv/wJGLN/bq4WUyW1JfxaQInPbfwuwX2/eAYSlbZH9 uo74/4eJ5F2z3uh4z6qR+sXfN2jqJ0OCPZqV7QgPCkM+TqaKSWU3REmYB0OnYReC0o9x 1099QOlYCF77Sfl/+Yr4Xj32494D3ZT9iJh2MYZioY+2lPpkaiiyEYQ9yJ97ZGleQLuH b8Z4qyTaGtY/mvR5IsLtAriUIrOah0BLJYjC22YveMiCcimwcqEGZCK6UOp+jLwACkZt LVVWFeSEF0XAUqNitGR4xlauVU25tblJSbZINr92pQ3h5Q8L71PLDjIFi51FD6DB8zac pB7Q== X-Gm-Message-State: APjAAAUaSKpfKxNeJiQqiv0+geyaFf+bKjvpxQG/eg6j8CkdpNBBiGQR bHysnr2HUuMcO+7H8kJ/9fM= X-Google-Smtp-Source: APXvYqzC02a2J45bBlVJeQ6HQbLrlhv16Ato+Q7hT5waAgtDaZY+dgtERhXhhL7UC5Yz6ttqG9e5/w== X-Received: by 2002:a2e:8ec5:: with SMTP id e5mr37172647ljl.7.1555499616073; Wed, 17 Apr 2019 04:13:36 -0700 (PDT) Received: from xi.terra (c-74bee655.07-184-6d6c6d4.bbcust.telenor.se. [85.230.190.116]) by smtp.gmail.com with ESMTPSA id y3sm11227752lfh.12.2019.04.17.04.13.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 17 Apr 2019 04:13:33 -0700 (PDT) Received: from johan by xi.terra with local (Exim 4.91) (envelope-from ) id 1hGiVY-000165-HL; Wed, 17 Apr 2019 13:13:40 +0200 Date: Wed, 17 Apr 2019 13:13:40 +0200 From: Johan Hovold To: Charles Yeh Cc: Johan Hovold , Greg KH , linux-usb@vger.kernel.org, =?utf-8?B?WWVoLkNoYXJsZXMgW+iRieamrumRq10=?= Subject: Re: [PATCH] USB:serial:pl2303:Add new PID to support PL2303HXN (TYPE_HXN) Message-ID: <20190417111340.GA2520@localhost> References: <20190213123000.4656-1-charlesyeh522@gmail.com> <20190402072235.GI12562@localhost> <20190415085626.GB29656@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.11.4 (2019-03-13) Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org Message-ID: <20190417111340.QitXzENeultS5nK3-dt9vhKgYMzgAPJa9xl1I3UV07k@z> On Wed, Apr 17, 2019 at 06:50:55PM +0800, Charles Yeh wrote: > Hello Sir, > > Please download the PL2303_Linux_0419.zip from > https://app.box.com/s/uh9kldrdldjnmjffku8gkdvvaq5496tk > > > > After the actual test (I have tested the old PL2303H chip on Linux), > > > when I plug in the PL2303H (TYPE_01), the Linux code will execute the code: > > > if (spriv->quirks & PL2303_QUIRK_LEGACY) itinerary code. > > > So I confirm This "PL2303_QUIRK_LEGACY" of code refers to PL2303H(TYPE_01) > > > > Correct, but my question was about bit 0x20 for TYPE_01 devices; why > > isn't it being as set as for TYPE_HX? > > > > TYPE_01 / TYPE_HX / TYPE_HXN are different hardware design. > Please refer to PL2303_Linux_0419\PL2303_TYPE_01_UART_Flow.jpg & > PL2303_TYPE_HX_UART_Flow.jpg Thanks, that will be very helpful. > > Well, without documentation it is hard to give advice. But the > > information you provided above, indicates that you should not be > > overwriting these registers completely for HXN either when updating the > > flow-control settings. Only the bits 2..4 (and possibly 0..1) should be > > written. > > > > Take a look at the patches I merged for doing this on the older devices. > > You should be able to use the same helper when updating these > > registers. > > Please refer to PL2303_Linux_0419\ > PL2303_TYPE_01_UART_Flow.jpg & > PL2303_TYPE_HX_UART_Flow.jpg & > PL2303G_TYPE_HXN_UART_Flow.jpg > > > > If you have other questions (whether it's my newly written patch code or > the code that originally existed), please try to raise it... Thanks! I will, thanks. I'm looking at how best to abstract this now. > The code that originally existed; not what I wrote.. > But I have rewritten many times to a lot of customers... > probably can also guess the usage of the original code. > > > I just used > "git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git" > to get the latest Linux kernel. > > The code I see in the pl2303_set_termios function > is still pl2303_vendor_write(serial,0x0,0x41), > Not pl2303_update_reg(serial,0,PL2303_FLOWCTRL_MASK,0x40); Yes, you need to base it on my usb-next branch (or linux-next): git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial.git > Can I write a new patch? > "git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git" > But I don't want to rewrite the original code. > For example "pl2303_vendor_write(serial,0x0,0x41)" > Because that's the old code.. Not that I added the patch code this time. Got it, but please take a look my usb-next branch. I'll try to clean up the current driver some more based on your feedback. I'll get back to you as soon as have something concrete and we'll get the HXN support in place. Meanwhile here are few questions: 1. Can bcdUSB be used to detect the HXN devices? 2. Does the old (type 01 and hx) devices require the register address to be ORed with 0x80 when reading? 3. And the HXN does not need that ORing with 0x80 it seems? 4. How do you use the chip-reset register (0x7) on HXN; do you write 0x03 if you only want to reset both data pipes? And please try to respond inline when replying, no need to keep second copy at the end of your mails. Thanks, Johan