xref: /plan9/sys/src/cmd/usb/serial/ucons.c (revision d578950961079cf846383c5f4c4eed3f40282dd5)
14d52e0f0SDavid du Colombier #include <u.h>
24d52e0f0SDavid du Colombier #include <libc.h>
34d52e0f0SDavid du Colombier #include <thread.h>
44d52e0f0SDavid du Colombier #include "usb.h"
54d52e0f0SDavid du Colombier #include "usbfs.h"
64d52e0f0SDavid du Colombier #include "serial.h"
74d52e0f0SDavid du Colombier #include "ucons.h"
84d52e0f0SDavid du Colombier 
94d52e0f0SDavid du Colombier Cinfo uconsinfo[] = {
104d52e0f0SDavid du Colombier 	{ Net20DCVid,	Net20DCDid },
114d52e0f0SDavid du Colombier 	{ 0,		0 },
124d52e0f0SDavid du Colombier };
134d52e0f0SDavid du Colombier 
144d52e0f0SDavid du Colombier int
uconsmatch(char * info)154d52e0f0SDavid du Colombier uconsmatch(char *info)
164d52e0f0SDavid du Colombier {
174d52e0f0SDavid du Colombier 	Cinfo *ip;
184d52e0f0SDavid du Colombier 	char buf[50];
194d52e0f0SDavid du Colombier 
204d52e0f0SDavid du Colombier 	for(ip = uconsinfo; ip->vid != 0; ip++){
214d52e0f0SDavid du Colombier 		snprint(buf, sizeof buf, "vid %#06x did %#06x",
224d52e0f0SDavid du Colombier 			ip->vid, ip->did);
2380e9508eSDavid du Colombier 		dsprint(2, "serial: %s %s\n", buf, info);
244d52e0f0SDavid du Colombier 		if(strstr(info, buf) != nil)
254d52e0f0SDavid du Colombier 			return 0;
264d52e0f0SDavid du Colombier 	}
274d52e0f0SDavid du Colombier 	return -1;
284d52e0f0SDavid du Colombier }
294d52e0f0SDavid du Colombier 
3080e9508eSDavid du Colombier static int
ucseteps(Serialport * p)31*d5789509SDavid du Colombier ucseteps(Serialport *p)
3280e9508eSDavid du Colombier {
33*d5789509SDavid du Colombier 	Serial *ser;
34*d5789509SDavid du Colombier 
35*d5789509SDavid du Colombier 	ser = p->s;
36*d5789509SDavid du Colombier 
37*d5789509SDavid du Colombier 	p->baud = ~0;	/* not real port */
38*d5789509SDavid du Colombier 	ser->maxrtrans = ser->maxwtrans = 8;
39*d5789509SDavid du Colombier 	devctl(p->epin,  "maxpkt 8");
40*d5789509SDavid du Colombier 	devctl(p->epout, "maxpkt 8");
4180e9508eSDavid du Colombier 	return 0;
4280e9508eSDavid du Colombier }
434d52e0f0SDavid du Colombier 
4480e9508eSDavid du Colombier /* all nops */
454d52e0f0SDavid du Colombier Serialops uconsops = {
4680e9508eSDavid du Colombier 	.seteps = ucseteps,
474d52e0f0SDavid du Colombier };
48