fixing a PUC / uart speed issue
Marcel Moolenaar
xcllnt at mac.com
Sat Mar 24 06:31:59 UTC 2007
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 at mac.com
More information about the freebsd-questions
mailing list