Date: Fri, 23 Mar 2007 23:10:09 -0700 From: Marcel Moolenaar <xcllnt@mac.com> To: Mike Tancsa <mike@sentex.net> Cc: freebsd-questions@freebsd.org Subject: Re: fixing a PUC / uart speed issue Message-ID: <7FF1D403-84EB-4FD3-A183-46BBC484F9D3@mac.com> In-Reply-To: <200703240449.l2O4n159087350@lava.sentex.ca> References: <200703240449.l2O4n159087350@lava.sentex.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mar 23, 2007, at 9:49 PM, Mike Tancsa wrote: > Hi, > I have a mini-pci UART that has a problem with its speed. When I > connect to it at 300bps the other side sees this as 1200. e.g. > > Other PC PUC device > 4800 1200 > 9600 2400 > 19200 4800 *snip* > I am guessing something needs to be changed in the puc driver for it ? > > /* Oxford Semiconductor OX16PCI954 PCI UARTs */ > { "Oxford Semiconductor OX16PCI954 UARTs", > { 0x1415, 0x9501, 0, 0 }, > { 0xffff, 0xffff, 0, 0 }, > { > { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, > { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ }, > { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ }, > { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ }, > }, > }, > > > but what ? Try changing the frequency from COM_FREQ to (4 * COM_FREQ). The frequency is driving the baudrate generator and given that the baudrate is off by a factor of 4, it follows that we program the baudrate generator with a divisor that corresponds to a frequency that's off by a factor of 4 as well. HTH, -- Marcel Moolenaar xcllnt@mac.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7FF1D403-84EB-4FD3-A183-46BBC484F9D3>