From owner-freebsd-hackers Thu Nov 6 08:41:24 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id IAA26362 for hackers-outgoing; Thu, 6 Nov 1997 08:41:24 -0800 (PST) (envelope-from owner-freebsd-hackers) Received: from out2.ibm.net (out2.ibm.net [165.87.194.229]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id IAA26357 for ; Thu, 6 Nov 1997 08:41:21 -0800 (PST) (envelope-from mouth@ibm.net) Received: from slip129-37-53-114.ca.us.ibm.net (slip129-37-53-114.ca.us.ibm.net [129.37.53.114]) by out2.ibm.net (8.8.5/8.6.9) with SMTP id QAA168704 for ; Thu, 6 Nov 1997 16:41:16 GMT From: mouth@ibm.net (John Kelly) To: hackers@FreeBSD.ORG Subject: Startech 16650 Date: Thu, 06 Nov 1997 17:42:34 GMT Message-ID: <3461f284.240807732@smtp-gw01.ny.us.ibm.net> References: In-Reply-To: X-Mailer: Forte Agent 1.01/16.397 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by hub.freebsd.org id IAA26358 Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk On Wed, 5 Nov 1997 20:50:51 -0500 (EST), Evan Champion wrote: >> What's a 16650 (is this the thing w/ the 256 byte FIFO) ? > >32 byte, on-chip flow control and 460.8 Kbps max port speed. The Startech 16C650 has a 32-byte FIFO, but they also make a quad version, 4 UARTs on a chip called the 16C654 which has 64-byte FIFOs. 460.8k is the max port speed for common implementations, and that would be the case where a 7.3728 MHz clock is used. But the databook says the chip can take any clock input up to 24 MHz, giving a maximum possible "baud" rate of 1,500k, assuming your serial cable and other external hardware could handle signals at that speed. >No, 16650's run the port at 4x whatever speed you set it to. Only if using a 7.3728 MHz clock. But if using the typical 1.8432 MHz clock found on older serial adapters you will get the usual 1x speeds. >So a port set at 57600 is treated as 230.4 Kbps. Again, only with the 7.3728 MHz clock. I have a serial card which lets me select the clock via hardware jumpers: 1.8432 MHz for 1x speeds, 3.6864 MHz for 2x speeds, or 7.3728 MHz for 4x speeds. Also, there is a new software bit setting on the 650 to create even more UART confusion: MCR bit 7. If set to "1" on the 650, then the clock is further divided by 4 to provide speed compatibility with software written for the older 550 UART. The reason for dividing by 4 is because a 7.3728 MHz clock is exactly 4 times faster than the 1.8432 MHz clock typically used with a 550. In other words, if using a 7.3728 MHz clock with a 650, and you want the older 1x speeds instead of the newer 4x speeds, set MCR bit 7 to "1" on the 650. On the other hand, if you can select the older 1.8432 MHz clock via hardware jumpers as my serial card allows, you don't have to worry about setting MCR bit 7 -- and in fact don't want to, because if using a 1.8432 MHz clock, you would inadvertently lower all your expected baud rates by a factor of 4. This situation provides much opportunity for confusion among serial device driver writers and users. BTW, who maintains the FreeBSD SIO driver? John