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: cp210x: Implement GPIO support for CP2102N From: Martyn Welch Message-Id: <1529513516.2395.23.camel@collabora.co.uk> Date: Wed, 20 Jun 2018 17:51:56 +0100 To: Johan Hovold , Karoly Pados Cc: Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: T24gV2VkLCAyMDE4LTA2LTIwIGF0IDEyOjUyICswMjAwLCBKb2hhbiBIb3ZvbGQgd3JvdGU6Cj4g PiA+IFsgQWRkaW5nIE1hcnR5biB3aG8gaW1wbGVtZW50ZWQgdGhlIGNwMjEwNSBncGlvIHN1cHBv cnQuIF0KPiA+ID4gU28gZm9yIGNwMjEwNSB3ZSBkZWNpZGVkIGFnYWluc3QgaW1wbGVtZW50aW5n IGFuIGlucHV0IG1vZGUuIFdlCj4gPiA+IGF0IGxlYXN0Cj4gPiA+IG5lZWQgdG8gYmUgY29uc2lz dGVudCBoZXJlLCBzbyBJIHN1Z2dlc3Qgc3RhcnRpbmcgd2l0aCBkcm9wcGluZwo+ID4gPiB0aG9z ZQo+ID4gPiAKPiA+IAo+ID4gQWdhaW4sIHlvdSdyZSB0aGUgYm9zcywgYnV0IEkgZG8gZmluZCB0 aGlzIG9kZC4gVGhlc2UgYXJlIGRpZmZlcmVudAo+ID4gZGV2aWNlcyBhbmQgdGhhbmtmdWxseSBu b3cgdGhlcmUnZCBiZSBiZXR0ZXIgc3VwcG9ydCBmb3IgdGhlCj4gPiBjcDIxMDJuLAo+ID4gYW5k IHlvdSdyZSBhc2tpbmcgbWUgdG8gcmVtb3ZlIGlucHV0IHN1cHBvcnQgZm9yIGNvbnNpc3RlbmN5 Cj4gPiByZWFzb25zLgo+ID4gVG8gcmVtb3ZlIGEgZmVhdHVyZSBmb3Igb25lIGRldmljZSBqdXN0 IGJlY2F1c2UgaXQgd2Fzbid0IGNvcnJlY3RseQo+ID4gaW1wbGVtZW50ZWQgaW4gYW5vdGhlciBh bmQgd2FudGluZyB0byBzdGF5IGNvbnNpc3RlbnQgd2l0aCB0aGUKPiA+IG1pc3NpbmcKPiA+IHN1 cHBvcnQgaXMgdmVyeSBvZGQgZm9yIG1lIHRiaC4KPiA+IEkga25vdyBJJ20gaW4gbm8gcG9zaXRp b24sIGJ1dCBwbGVhc2UgbGV0IG1lIGFzayB5b3Ugb25jZSB0byBwbGVhc2UKPiA+IHJlY29uc2lk ZXIgdGhpcy4KPiAKPiBXZSdyZSBub3QgcmVtb3ZpbmcgYW55dGhpbmcgZnJvbSB0aGUga2VybmVs IHNpbmNlIG5vdGhpbmcgaGFzIHlldAo+IGJlZW4KPiBtZXJnZWQuIEknbSBhc2tpbmcgeW91IHRv IHNlcGFyYXRlIGl0IGludG8gYSBmb2xsb3cgdXAgcGF0Y2gsIHdoaWNoCj4gaWYKPiB3ZSBmaW5k IGl0IHVzZWZ1bCBhbmQgY29ycmVjdCB3b3VsZCBhbGxvdyB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5 IGZvcgo+IGNwMjEwNSBhcyB3ZWxsLgo+IAo+IFRoZSBncGlvIHBpbnMgb24gY3AyMTAybiBhbmQg Y3AyMTA1IHNoYXJlIHRoZSBzYW1lIGVsZWN0cmljYWwKPiBjaGFyYWN0ZXJpc3RpY3MgYW5kIHRo ZXJlJ3Mgbm8gZ29vZCByZWFzb24gd2h5IHdlIHNob3VsZCB0cmVhdCB0aGVtCj4gZGlmZmVyZW50 bHkuCj4gCj4gPiBUaGUgd2F5IGl0IHdhcyBkb25lIGZvciB0aGUgY3AyMTA1IHdoZXJlIHdlIG1h a2UgZXZlcnl0aGluZyBhbmQKPiA+IGV2ZXJ5b25lIG9uIHRoZSBzeXN0ZW0gdGhpbmsgdGhhdCBh IHBpbiBpcyAib3V0IiBidXQgaW4gcmVhbGl0eSBpcwo+ID4gYW4KPiA+IGlucHV0IGlzIHF1aXJr eSB0byBzYXkgdGhlIGxlYXN0LCB3aGlsZSBhdCB0aGUgc2FtZSB0aW1lIGl0IGFsc28KPiA+IGRv ZXMKPiA+IG5vdCBtYWtlIHN1cmUgdGhhdCBhbiBpbnB1dCBwaW4gKHdoaWNoIGlzIG9mIGNvdXJz ZSBub3QgbWFya2VkIGFzCj4gPiBzdWNoKSBpcyByZWFsbHkgYW4gaW5wdXQuwqDCoFdoeSBhbXB1 dGF0ZSB0aGUgY3AyMTAybiBsaWtlIHRoaXMgaWYgaXQKPiA+IGhhcyBiZWVuIGFscmVhZHkgaW1w bGVtZW50ZWQgY29ycmVjdGx5P8KgwqBJZiB3ZSB3YW50ZWQgdG8gc3RheQo+ID4gY29uc2lzdGVu dCB3aXRoIGhhbGYtZGV2ZWxvcGVkIGFuZCBpbmNvbXBsZXRlIGRyaXZlcnMgdGhlbiB0aGVyZSdk Cj4gPiBiZQo+ID4gbm8gaW1wcm92ZW1lbnRzIHRvIExpbnV4Lgo+IAoKVGhlIHJhdGlvbmFsZSBm b3IgdGhlIHBpbnMgYmVpbmcgcGVybWFuZW50bHkgY29uZmlndXJlZCBhcyBvdXRwdXQgcGlucwpp cyB0aGF0IHRoZXNlIHBpbnMgKGF0IGxlYXN0IG9uIHRoZSBjcDIxMDUpIGRvIG5vdCBhcHBlYXIg dG8gcHJvdmlkZSBhCnRydWUgaW5wdXQgbW9kZS4gVGhleSBvZmZlciBhICJwdXNoLXB1bGwiIG1v ZGUgKHdoZXJlIHRoZSB2b2x0YWdlIGlzCnB1bGxlZCBkaXJlY3RseSB0byBncm91bmQgb3Igc3Vw cGx5IHJhaWwpIGFuZCBhbiAib3Blbi1kcmFpbiIgbW9kZQood2hlcmUgdGhlIHBpbiBpcyB3ZWFr bHkgcHVsbGVkIGhpZ2ggYnkgYW4gaW50ZXJuYWwgcmVzaXN0b3IgYW5kIGNhbiBiZQpwdWxsZWQg dG8gZ3JvdW5kKS4gVW5sZXNzIEkgbWlzc2VkIHNvbWV0aGluZywgdGhlcmUgaXMgbm8gdHJpc3Rh dGUvaGlnaAppbXBlZGFuY2UgbW9kZSB0eXBpY2FsbHkgYXNzb2NpYXRlZCB3aXRoIGEgcGluIGJl aW5nIHVzZWQgYXMgaW5wdXQuCgpTdXJlLCB5b3UgY2FuIHVzZSB0aGUgb3Blbi1kcmFpbiBtb2Rl IGFzIGlucHV0IGFzIGxvbmcgYXMgeW91CnVuZGVyc3RhbmQgdGhhdCB0aGUgcGVybWFuZW50IHB1 bGwgdXAgaW4gdGhlIGNwMjAxNSBtaWdodCBoYXZlIGFuCmltcGFjdCBvbiB3aGF0IHlvdSBhcmUg cmVhZGluZy4gRm9yIGV4YW1wbGUsIGlmIHlvdSBoYXZlIGEgc2lnbmFsIHRoYXQKaXMgZXh0ZXJu YWxseSB3ZWFrbHkgcHVsbGVkIGRvd24sIGl0J3MgZ29pbmcgdG8gZGVwZW5kIG9uIHRoZSByZWxh dGl2ZQpyZXNpc3RhbmNlcyBvZiB0aGUgaW50ZXJuYWwgYW5kIGV4dGVybmFsIHJlc2lzdG9ycyBh cyB0byB3aGF0IHZvbHRhZ2UKdGhlIGxpbmUgcmVzdHMgYXQgYW5kIHRoZXJlZm9yZSB3aGF0IHN0 YXRlIHRoZSBsaW5lIGlzIGNvbnNpZGVyZWQgdG8gYmUKaW4uIFRoaXMgY291bGQgc3RvcCB0aGlu Z3Mgd29ya2luZyBpZiB5b3UgbmFpdmVseSB0aGluayB0aGUgY3AyMTA1IGlzCmFjdGluZyBhcyBh IHR5cGljYWwgaGlnaC1pbXBlZGFuY2UgaW5wdXQuCgpTbywgd2l0aCB0aGF0IGluIG1pbmQsIHdl IGNhbWUgdG8gdGhlIGRlY2lzaW9uIHRoYXQgYXMgeW91ICpjYW4qIHJlYWQKdGhlIHN0YXRlIG9m IHRoZSBvdXRwdXQgd2hlbiBpbiBvcGVuLWRyYWluIG1vZGUsIGRvaW5nIGl0IHRoYXQgd2F5IG1h eQphdm9pZCBzdWNoIHBvdGVudGlhbCBpc3N1ZXMuIEkgZGlkbid0IGRvIGFuIGV4aGF1c3RpdmUg c2VhcmNoIG9mIG90aGVyCkdQSU8gZGV2aWNlcyBhdCB0aGUgdGltZSwgc28gaWYgaXQgY2FuIGJl IHNob3duIHRoYXQgdGhlIG1ham9yaXR5IG9mCm90aGVyIEdQSU8gZHJpdmVycyB3aXRoIHN1Y2gg bGltaXRhdGlvbnMgY2FuIGJlIHBsYWNlZCBpbnRvIGFuIGlucHV0CnN0YXRlLCBJJ2QgYmUgaGFw cHkgZm9yIGl0IHRvIGJlIGNoYW5nZWQgc28gYXMgdG8gcmVtYWluIGNvbnNpc3RlbnQuCgoKTWFy dHluCi0tLQpUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5z dWJzY3JpYmUgbGludXgtdXNiIiBpbgp0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21v QHZnZXIua2VybmVsLm9yZwpNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJu ZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWwK