Skip site navigation (1)Skip section navigation (2)
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>