On Sat, Mar 24, 2007 at 12:52:08AM -0400, Mike Tancsa wrote:
> Hi,
> I have a mini-pci UART that has a problem with its speed on 
> FreeBSD.  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
> 
> Its a mini-pci card on a soekris 4511 and dmesg on a RELENG_6 box shows
> 
> puc0: <Oxford Semiconductor OX16PCI954 UARTs> port 
> 0xe000-0xe01f,0xe020-0xe03f mem 
> 0xa0000000-0xa0000fff,0xa0001000-0xa0001fff irq 10 at device 16.0 on pci0
> uart4: <16950 or compatible> on puc0
> uart5: <16950 or compatible> on puc0
> uart6: <16950 or compatible> on puc0
> uart7: <16950 or compatible> on puc0
> 
> 
> [EMAIL PROTECTED]:16:0: class=0x070006 card=0x00000000 chip=0x95011415 
> rev=0x00 hdr=0x00
>      vendor     = 'Oxford Semiconductor Ltd'
>      device     = 'OX16PCI954 Quad UART'
>      class      = simple comms
>      subclass   = UART
>      cap 01[40] = powerspec 1  supports D0 D2 D3  current D0
> [EMAIL PROTECTED]:16:1:        class=0x068000 card=0x00000000 
> chip=0x95101415 rev=0x00 hdr=0x00
>      vendor     = 'Oxford Semiconductor Ltd'
>      device     = 'OX16PCI954 PCI Interface (disabled)'
>      class      = bridge
>      cap 01[40] = powerspec 1  supports D0 D2 D3  current D0
> 
> 
> product specs at
> http://www.commell.com.tw/Product/Peripheral/MiniPCI/MP-954.HTM
> 
> 
> 
> 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 ?

Set the COM_FREQ properly - according to your description COM_FREQ*4
should work.
Unfortunately the PCI device doesn't tell the xtals used on a given
hardware, so you have to manually tune this point.
I even have a 4 port card at home with the first two uart having higher
frequencies as the other two.

-- 
B.Walter                http://www.bwct.de      http://www.fizon.de
[EMAIL PROTECTED]           [EMAIL PROTECTED]            [EMAIL PROTECTED]
_______________________________________________
Soekris-tech mailing list
[email protected]
http://lists.soekris.com/mailman/listinfo/soekris-tech

Reply via email to