Date: Fri, 11 Nov 2011 23:06:19 +0200 From: JD Louw <jdl.ntq@gmail.com> To: freebsd-usb@freebsd.org Subject: [uslcom][patch] Add GPIO support Message-ID: <CAB-7mS6-kZk_Vxyd%2BQ-cGBEdAzqw=-QAh4GnH2OPVYC1fE5hqA@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
--bcaec520f1bd86f6b604b17be40b Content-Type: text/plain; charset=ISO-8859-1 This patch adds custom IOCTLs to read and write the 4 GPIO pins on the cp2103 usb-to-serial chip. Time from IOCTL to actual pin change is pretty slow though. --bcaec520f1bd86f6b604b17be40b Content-Type: text/plain; charset=US-ASCII; name="gpio.patch.txt" Content-Disposition: attachment; filename="gpio.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_guvodzts0 SW5kZXg6IHNlcmlhbC91c2xjb20uYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzZXJpYWwvdXNsY29tLmMJKHJl dmlzaW9uIDIyNzQ1MykKKysrIHNlcmlhbC91c2xjb20uYwkod29ya2luZyBjb3B5KQpAQCAtNDIs NiArNDIsNyBAQAogI2luY2x1ZGUgPGRldi91c2IvdXNiZGkuaD4KICNpbmNsdWRlIDxkZXYvdXNi L3VzYmRpX3V0aWwuaD4KICNpbmNsdWRlICJ1c2JkZXZzLmgiCisjaW5jbHVkZSA8ZGV2L3VzYi91 c2JfaW9jdGwuaD4KIAogI2RlZmluZQlVU0JfREVCVUdfVkFSIHVzbGNvbV9kZWJ1ZwogI2luY2x1 ZGUgPGRldi91c2IvdXNiX2RlYnVnLmg+CkBAIC03NSw2ICs3Niw3IEBACiAjZGVmaW5lCVVTTENP TV9DVFJMCQkweDA3CiAjZGVmaW5lCVVTTENPTV9SQ1RSTCAgICAgICAgICAgIDB4MDgKICNkZWZp bmUJVVNMQ09NX1NFVF9GTE9XQ1RSTCAgICAgMHgxMworI2RlZmluZQlVU0xDT01fVkVORE9SX1NQ RUNJRklDCTB4ZmYKIAogLyogVVNMQ09NX1VBUlQgdmFsdWVzICovCiAjZGVmaW5lCVVTTENPTV9V QVJUX0RJU0FCTEUJMHgwMApAQCAtMTEzLDYgKzExNSwxMCBAQAogI2RlZmluZQlVU0xDT01fRkxP V19SVFNfT04gICAgICAweDAwMDAwMDQwIC8qIFJUUyBzdGF0aWMgYWN0aXZlICovCiAjZGVmaW5l CVVTTENPTV9GTE9XX1JUU19IUyAgICAgIDB4MDAwMDAwODAgLyogUlRTIGhhbmRzaGFrZSAqLwog CisvKiBVU0xDT01fVkVORE9SX1NQRUNJRklDIHZhbHVlcyAqLworI2RlZmluZQlVU0xDT01fV1JJ VEVfTEFUQ0gJMHgzN0UxCisjZGVmaW5lCVVTTENPTV9SRUFEX0xBVENICTB4MDBDMgorCiBlbnVt IHsKIAlVU0xDT01fQlVMS19EVF9XUiwKIAlVU0xDT01fQlVMS19EVF9SRCwKQEAgLTE0NSw2ICsx NTEsOCBAQAogc3RhdGljIHZvaWQgdXNsY29tX3NldF9kdHIoc3RydWN0IHVjb21fc29mdGMgKiwg dWludDhfdCk7CiBzdGF0aWMgdm9pZCB1c2xjb21fc2V0X3J0cyhzdHJ1Y3QgdWNvbV9zb2Z0YyAq LCB1aW50OF90KTsKIHN0YXRpYyB2b2lkIHVzbGNvbV9zZXRfYnJlYWsoc3RydWN0IHVjb21fc29m dGMgKiwgdWludDhfdCk7CitzdGF0aWMgaW50IHVzbGNvbV9pb2N0bChzdHJ1Y3QgdWNvbV9zb2Z0 YyAqLCB1aW50MzJfdCwgY2FkZHJfdCwgaW50LAorCQlzdHJ1Y3QgdGhyZWFkICopOwogc3RhdGlj IGludCB1c2xjb21fcHJlX3BhcmFtKHN0cnVjdCB1Y29tX3NvZnRjICosIHN0cnVjdCB0ZXJtaW9z ICopOwogc3RhdGljIHZvaWQgdXNsY29tX3BhcmFtKHN0cnVjdCB1Y29tX3NvZnRjICosIHN0cnVj dCB0ZXJtaW9zICopOwogc3RhdGljIHZvaWQgdXNsY29tX2dldF9zdGF0dXMoc3RydWN0IHVjb21f c29mdGMgKiwgdWludDhfdCAqLCB1aW50OF90ICopOwpAQCAtMTkyLDYgKzIwMCw3IEBACiAJLnVj b21fY2ZnX3NldF9kdHIgPSAmdXNsY29tX3NldF9kdHIsCiAJLnVjb21fY2ZnX3NldF9ydHMgPSAm dXNsY29tX3NldF9ydHMsCiAJLnVjb21fY2ZnX3NldF9icmVhayA9ICZ1c2xjb21fc2V0X2JyZWFr LAorCS51Y29tX2lvY3RsID0gJnVzbGNvbV9pb2N0bCwKIAkudWNvbV9jZmdfcGFyYW0gPSAmdXNs Y29tX3BhcmFtLAogCS51Y29tX3ByZV9wYXJhbSA9ICZ1c2xjb21fcHJlX3BhcmFtLAogCS51Y29t X3N0YXJ0X3JlYWQgPSAmdXNsY29tX3N0YXJ0X3JlYWQsCkBAIC01OTEsNiArNjAwLDU3IEBACiAJ fQogfQogCitzdGF0aWMgaW50Cit1c2xjb21faW9jdGwoc3RydWN0IHVjb21fc29mdGMgKnVjb20s IHVpbnQzMl90IGNtZCwgY2FkZHJfdCBkYXRhLAorICAgIGludCBmbGFnLCBzdHJ1Y3QgdGhyZWFk ICp0ZCkKK3sKKwlzdHJ1Y3QgdXNsY29tX3NvZnRjICpzYyA9IHVjb20tPnNjX3BhcmVudDsKKwlz dHJ1Y3QgdXNiX2RldmljZV9yZXF1ZXN0IHJlcTsKKwlpbnQgZXJyb3IgPSAwOworCXVpbnQ4X3Qg bGF0Y2g7CisKKwlEUFJJTlRGKCJjbWQ9MHglMDh4XG4iLCBjbWQpOworCisJc3dpdGNoIChjbWQp IHsKKworCWNhc2UgVVNCX0dFVF9HUElPOgorCQlyZXEuYm1SZXF1ZXN0VHlwZSA9IFVTTENPTV9S RUFEOworCQlyZXEuYlJlcXVlc3QgPSBVU0xDT01fVkVORE9SX1NQRUNJRklDOworCQlVU0VUVyhy ZXEud1ZhbHVlLCBVU0xDT01fUkVBRF9MQVRDSCk7CisJCVVTRVRXKHJlcS53SW5kZXgsIDApOwor CQlVU0VUVyhyZXEud0xlbmd0aCwgc2l6ZW9mKGxhdGNoKSk7CisKKyAgICAgICAgCWlmICh1Y29t X2NmZ19kb19yZXF1ZXN0KHNjLT5zY191ZGV2LCAmc2MtPnNjX3Vjb20sIAorCQkgICAgJnJlcSwg JmxhdGNoLCAwLCAxMDAwKSkgeworCQkJRFBSSU5URigiR2V0IExBVENIIGZhaWxlZFxuIik7CisJ CQllcnJvciA9IEVJTzsKKwkJfQorCQkqKHVpbnQ4X3QgKilkYXRhID0gbGF0Y2g7CisJCWJyZWFr OworCisJY2FzZSBVU0JfU0VUX0dQSU86CisJCXJlcS5ibVJlcXVlc3RUeXBlID0gVVNMQ09NX1dS SVRFOworCQlyZXEuYlJlcXVlc3QgPSBVU0xDT01fVkVORE9SX1NQRUNJRklDOworCQlVU0VUVyhy ZXEud1ZhbHVlLCBVU0xDT01fV1JJVEVfTEFUQ0gpOworCQlVU0VUVyhyZXEud0luZGV4LCAoKih1 aW50MTZfdCAqKWRhdGEpKTsKKwkJVVNFVFcocmVxLndMZW5ndGgsIDApOworCQkKKyAgICAgICAg CWlmICh1Y29tX2NmZ19kb19yZXF1ZXN0KHNjLT5zY191ZGV2LCAmc2MtPnNjX3Vjb20sIAorCQkg ICAgJnJlcSwgTlVMTCwgMCwgMTAwMCkpIHsKKwkJCURQUklOVEYoIlNldCBMQVRDSCBmYWlsZWRc biIpOworCQkJZXJyb3IgPSBFSU87CisJCX0KKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlEUFJJ TlRGKCJ1bmtub3duXG4iKTsKKwkJZXJyb3IgPSBFTk9JT0NUTDsKKwkJYnJlYWs7CisJfQorCisJ cmV0dXJuIChlcnJvcik7Cit9CisKIHN0YXRpYyB2b2lkCiB1c2xjb21fd3JpdGVfY2FsbGJhY2so c3RydWN0IHVzYl94ZmVyICp4ZmVyLCB1c2JfZXJyb3JfdCBlcnJvcikKIHsKSW5kZXg6IHVzYl9p b2N0bC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tIHVzYl9pb2N0bC5oCShyZXZpc2lvbiAyMjc0NTMpCisrKyB1 c2JfaW9jdGwuaAkod29ya2luZyBjb3B5KQpAQCAtMjg5LDYgKzI4OSwxMCBAQAogI2RlZmluZQlV U0JfR0VUX0NNX09WRVJfREFUQQlfSU9SICgnVScsIDE4MCwgaW50KQogI2RlZmluZQlVU0JfU0VU X0NNX09WRVJfREFUQQlfSU9XICgnVScsIDE4MSwgaW50KQogCisvKiBHUElPIGNvbnRyb2wgKi8K KyNkZWZpbmUJVVNCX0dFVF9HUElPCQlfSU9SICgnVScsIDE4MiwgaW50KQorI2RlZmluZQlVU0Jf U0VUX0dQSU8JCV9JT1cgKCdVJywgMTgzLCBpbnQpCisKIC8qIFVTQiBmaWxlIHN5c3RlbSBpbnRl cmZhY2UgKi8KICNkZWZpbmUJVVNCX0ZTX1NUQVJUCQlfSU9XICgnVScsIDE5Miwgc3RydWN0IHVz Yl9mc19zdGFydCkKICNkZWZpbmUJVVNCX0ZTX1NUT1AJCV9JT1cgKCdVJywgMTkzLCBzdHJ1Y3Qg dXNiX2ZzX3N0b3ApCg== --bcaec520f1bd86f6b604b17be40b--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAB-7mS6-kZk_Vxyd%2BQ-cGBEdAzqw=-QAh4GnH2OPVYC1fE5hqA>