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