Date: Mon, 03 May 1999 19:21:39 -0400 (EDT) From: "Mark J. Taylor" <mtaylor@cybernet.com> To: freebsd-hackers@freebsd.org Subject: Problem in 3.1 with 16650 serial chip Message-ID: <XFMail.990503192139.mtaylor@cybernet.com>
next in thread | raw e-mail | index | archive | help
There is a problem with the 16650's: they have high-speed capabilites, but by default they are "off". This means that bit 7 of the MCR (the high bit) will be "1" by default. This causes sio probe "2" to fail, because the value that is read back from the MCR is 0x80, instead of the expected 0x00 (at least in the multiport case). Someone posted fixes for high-speed serial ports a few days ago. Perhaps it needs a review? Now that I've got one of these boards, I could test some code... Also note that this chipset has a 64 byte TX and RX FIFO. There is a datasheet at: http://www.exar.com/products/st16c654.pdf Of particular interest is page 19 (baud rate table), and page 23 (register bit definitions). A quick hack/fix to get the port to at least probe/attach would be to look at the MCR in failures[2], detect the high-speed capability by looking at bit 7, and keeping this character value as an AND/OR mask for the MCR in the com_s structure. "OR" it in for MCR writes, and "AND ~" of it on reads. Later, it could be used to set higher baud rates. --- Mark J. Taylor Networking Research Cybernet Systems mtaylor@cybernet.com 727 Airport Blvd. PHONE (734) 668-2567 Ann Arbor, MI 48108 FAX (734) 668-8780 http://www.cybernet.com/ http://www.netmax.com/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.990503192139.mtaylor>