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: ftdi_sio: implement GPIO support for FT230X From: Johan Hovold Message-Id: <20180905081939.GU28861@localhost> Date: Wed, 5 Sep 2018 10:19:39 +0200 To: Karoly Pados Cc: Johan Hovold , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Loic Poulain , andy.shevchenko@gmail.com, ajaykuee@gmail.com, daniel.thompson@linaro.org List-ID: T24gVHVlLCBTZXAgMDQsIDIwMTggYXQgMDU6NTM6MTRQTSArMDAwMCwgS2Fyb2x5IFBhZG9zIHdy b3RlOgoKPiA+IEFjdHVhbGx5LCBhZnRlciB0aGlua2luZyBhYm91dCB0aGlzIHNvbWUgbW9yZSwg aXQgbWF5IGJlIGJldHRlciB0byBqdXN0Cj4gPiBjb25maWd1cmUgYWxsIHBpbnMgZHVyaW5nIHBy b2JlLiBUaGUgZGV2aWNlIGlzIG1hbmFnZWQgYnkgdGhlIGtlcm5lbCwKPiA+IGFuZCB3ZSBjYW4n dCByZWFsbHkgY29uc2lkZXIgd2hhdCB1c2VyIHNwYWNlIG1heSBoYXZlIGRvbmUgYmVmb3JlLCBh dAo+ID4gbGVhc3QgaWYgd2UgY2FuJ3QgcXVlcnkgdGhlIGRldmljZS4gQmV0dGVyIHRvIGJlIGlu IGEgY29uc2lzdGVudCBzdGF0ZQo+ID4gd2hpbGUgdGhlIGRyaXZlciBpcyBib3VuZC4KPiAKPiBU aGUgQ0JVUyBwaW5zIGRvIG5vdCBhZmZlY3QgdGhlIFVBUlQgY29tbXVuaWNhdGlvbiBpbiBhbnkg d2F5LCBzbyBpZiB3ZSdyZQo+IG5vdCB1c2luZyB0aGUgR1BJTywgSSBkb24ndCBzZWUgYW55IHJl YXNvbiB3aHkgd2Ugc2hvdWxkIGRlc3Ryb3kgdGhlIENCVVMKPiBzdGF0ZSBqdXN0IGZvciB0aGUg c2FrZSBvZiBrbm93aW5nIHdoYXQgdmFsdWUgdGhleSBoYXZlLCBldmVuIHRob3VnaCB3ZSBkb24n dAo+IHNldCBvciB1c2Ugb3IgbmVlZCB0aGVtIGFuZCB0aGVyZSBpcyBhbHNvIG5vIGludGVyYWN0 aW9uLiBCdXQgaWYgeW91IHdpc2ggc28sCj4gSSdsbCBzZXQgdGhlbSBkdXJpbmcgcHJvYmUsIEkg anVzdCB0aGluayB3ZSBhcmUgZGlzYWJsaW5nIGEgcG9zc2libGUgdXNlLWNhc2UKPiB3aXRoIG5v IGFkZGVkIGdhaW4uCgpZZWFoLCBJIHVuZGVyc3RhbmQgdGhhdCBwb2ludCwgYnV0IHN0aWxsIG5v dCBzb2xkIG9uIHRoZSBpZGVhIG9mIGhhdmluZwpwb3RlbnRpYWxseSBhbGwgZm91ciBwaW5zIGNo YW5nZSBzdGF0ZSB3aGVuIHlvdSByZXF1ZXN0IG9uZSBvZiB0aGVtLgoKR29pbmcgYmFjayBhbmQg Zm9ydGgsIHNlYW1sZXNzbHksIGJldHdlZW4gaGF2aW5nIHRoZSBrZXJuZWwgb3IgdXNlcgpzcGFj ZSBtYW5hZ2UgYSBkZXZpY2UgZ2VuZXJhbGx5IGp1c3QgaXNuJ3QgYSBzdXBwb3J0ZWQgdXNlIGNh c2UuCgpCdXQgdGhlcmUgaXMgYW5vdGhlciAoYXNwZWN0IG9mIHlvdXIpIGFyZ3VtZW50IGZvciB5 b3VyIGFwcHJvYWNoLCBhbmQKdGhhdCB3b3VsZCBiZSB0aGF0IHBlb3BsZSBtYXkgYmUgcmVseWlu ZyBvbiB0aGlzIGJlaGF2aW91ciBhbHJlYWR5LiBUaGF0CmlzLCBkdWUgdG8gbGFjayBvZiBDQlVT IHN1cHBvcnQgaW4gdGhlIGtlcm5lbCBkcml2ZXIsIHlvdSBoYXZlIGxpYmZ0ZGkKc2V0dXAgdGhv c2UgcGlucyBhbmQgdGhlbiBiaW5kIHRoZSBrZXJuZWwgZHJpdmVyLiBXb3VsZCB0aGF0IGV2ZW4g d29yawp0b2RheSAoaS5lLiBpdCdzIG5vdGhpbmcgdGhhdCBnZXRzIHJlc2V0IHdoZW4gYmluZGlu ZyB0aGUgZHJpdmVyKT8gSWYKc28sIG1lIG1heSBoYXZlIHRvIGNvbnRpbnVlIHN1cHBvcnRpbmcg aXQuCgpXaGF0IGlzIHRoZSBkZWZhdWx0IHN0YXRlIG9mIHlvdXIgZGV2aWNlcyBhZnRlciByZXNl dCBieSB0aGUgd2F5PwpBbGwgaW5wdXRzPwoKT2ssIHlvdSBtYXkgaGF2ZSBjb252aW5jZWQgbWUu IDopCgo+ID4+ICsgLyogZGV2aWNlJ3MgZGlyZWN0aW9uIHBvbGFyaXR5IGlzIGRpZmZlcmVudCBm cm9tIGtlcm5lbCdzICovCj4gPiAKPiA+IFdoeSBzbz8gWW91IGNvdWxkIGp1c3QgcmVwbGFjZSBn cGlvX2lucHV0IHdpdGggZ3Bpb19vdXRwdXQuIEkgdGhpbmsgdGhhdAo+ID4gbWF5IGJlIHByZWZl cnJlZC4KPiAKPiBUaGF0IGRvZXNuJ3QgY2hhbmdlIHRoZSBmYWN0IHRoYXQgZm9yIHRoZSBrZXJu ZWwgKGZvciBleGFtcGxlIGluCj4gZnRkaV9ncGlvX2RpcmVjdGlvbl9pbnB1dCBvciBmdGRpX2dw aW9fZGlyZWN0aW9uX291dHB1dCkgJzEnIGlzIHN0aWxsIGlucHV0LgoKQWN0dWFsbHkgdGhvc2Ug dHdvIGZ1bmN0aW9ucyBkb24ndCB0YWtlIGFueSBkaXJlY3Rpb24gYXJndW1lbnQsIGJ1dApnZXRf ZGlyZWN0aW9uKCkgZG9lcyBpbmRlZWQgcmV0dXJuIDEgZm9yIGlucHV0LiBCdXQgeW91IGNhbiBm aW5kCmV4YW1wbGVzIG9mIHRoZSBvcHBvc2l0ZSB0b28gKGUuZy4gRkxBR19JU19PVVQgaW4gZ3Bp b19kZXNjKS4KCj4gWWVzIEkga25vdyB3ZSBjYW4gZG8gdGhlIGludmVyc2lvbiBpbiB0aG9zZSBm dW5jdGlvbnMgImZvciBmcmVlIiBieSBzZXR0aW5nCj4gaW5zdGVhZCBvZiBjbGVhcmluZyBhbmQg dmljZS12ZXJzYSwgSSBqdXN0IHRob3VnaHQgaXQgaXMgYmV0dGVyIGlmIEkgY2hvb3NlCj4gdG8g c3RheSB3aXRoIHRoZSBrZXJuZWwgY29udmVudGlvbiBhbmQgdHVybiBpdCBkZXZpY2Utc3BlY2lm aWMgYXQgdGhlIGRlZXBlc3QKPiBsZXZlbCBwb3NzaWJsZS4gTm90IGFyZ3VpbmcsIGp1c3QgZXhw bGFpbmluZyB3aGF0IG15IG1vdGl2YXRpb24gd2FzLiBJJ2xsCj4gY2hhbmdlIGl0IGFzIHlvdSBy ZXF1ZXN0ZWQuCgpUaGFua3MsIEkgdGhpbmsgaW52ZXJ0aW5nIHRoZSBkaXJlY3Rpb24gbWFzayB3 aWxsIGFsbG93IGZvciBzb21lCmVhc2llci10by1mb2xsb3cgY29kZSBpbiB0aGlzIGNhc2UuCgo+ ID4gRmFjdG9yIHRoaXMgb3V0IHRvIGFuIGVlcHJvbSBoZWxwZXIgdGhhdCBjYW4gYmUgcmV1c2Vk IGJ5IG90aGVyIGNoaXAKPiA+IHR5cGVzLgo+IAo+IFllcCwgSSdsbCBjb25zdWx0IHRoZSBvdGhl ciBncGlvIHBhdGNoIHJlZ2FyZGluZyB0aGlzIGFzIHlvdSBzdWdnZXN0ZWQKPiBpbiB0aGUgb3Ro ZXIncyByZXZpZXcuIEJ5IHRoZSB3YXksIHNvcnJ5IGZvciB0aGUgcGFyYWxsZWwgc3VibWlzc2lv biwKPiBJIHdhc24ndCBhd2FyZSBvZiBQb3VsYWluJ3MgcGF0Y2ggaW4gdGhpcyBzYW1lIG1vbnRo LgoKTm8gd29ycmllcywganVzdCBhbiB1bmZvcnR1bmF0ZSBjb2luY2lkZW5jZS4gQW5kIHRoZSBt b3JlIGV5ZXMgb24gdGhpcywKdGhlIGJldHRlci4KCj4gPj4gKyBwcml2LT5nYy5uZ3BpbyA9IDQ7 Cj4gPiAKPiA+IFNob3VsZG4ndCB0aGlzIGJlIGhhbmRsZWQgdGhlIG90aGVyIHdheSByb3VuZD8g SUlSQyB0aGVyZSBhcmUgdHdvIEZUWAo+ID4gZGV2aWNlIHR5cGVzIHdpdGggZm91ciBwaW5zLCBh bmQgb25lIHR5cGUgd2hlcmUgb25seSBvbmUgcGluIGlzCj4gPiBhY2Nlc3NpYmxlLgo+IAo+IFRo ZXJlIGFyZSA0IGRldmljZXMgd2l0aCAxIEdQSU8sIDEgZGV2aWNlIHdpdGggMiBHUElPcywgMiBk ZXZpY2VzIHdpdGggNCBHUElPcywKPiBhbmQgMSBkZXZpY2Ugd2l0aCA2IEdQSU9zLiBTb3VyY2U6 IGh0dHA6Ly93d3cuZnRkaWNoaXAuY29tL0ZULVguaHRtICgybmQgdGFibGUpCj4gRG8geW91IHN0 aWxsIHdhbnQgbWUgdHVybiB0aGlzIG92ZXI/CgpZZXAsIGFzIHlvdSBub3RpY2VkIGluIHlvdXIg Zm9sbG93IHVwLCBzb21lIG9mIHRob3NlIGRldmljZXMgeW91IHJlZmVyCnRvIGFib3ZlIGFyZSBu b3QgVVNCLVVBUlQgYnJpZGdlcy4KCj4gPj4gKyNlbHNlCj4gPj4gKwo+ID4+ICtzdGF0aWMgaW50 IGZ0ZGlfc2lvX2dwaW9faW5pdChzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsKQo+ID4gCj4gPiBB cyB0aGUgdGVzdCByb2JvdCByZXBvcnRlZCwgdGhlc2Ugc2hvdWxkIHRha2UgYSBwb3J0IGFzIHRo ZWlyIGFyZ3VtZW50Lgo+IAo+IFllcywgSSBhbHJlYWR5IHNlbnQgaW4gYSB2MiBmb3IgdGhhdC4g U28gbXkgcGF0Y2ggaW5jb3Jwb3JhdGluZyB5b3VyIGZlZWRiYWNrCj4gd2lsbCBiZSB2My4KCkdy ZWF0LCB0aGFua3MuCgpKb2hhbgo=