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