Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Nov 2006 18:40:24 GMT
From:      Marcel Moolenaar <xcllnt@mac.com>
To:        freebsd-i386@FreeBSD.org
Subject:   Re: i386/105616: UART PCI device just silent...
Message-ID:  <200611181840.kAIIeOIe089943@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR i386/105616; it has been noted by GNATS.

From: Marcel Moolenaar <xcllnt@mac.com>
To: Helge Oldach <puc-uart@oldach.net>
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Sat, 18 Nov 2006 10:31:52 -0800

 On Nov 18, 2006, at 10:14 AM, Helge Oldach wrote:
 
 > Hi Marcel,
 >
 > thanks for your response.
 >
 > Marcel Moolenaar:
 >> On Nov 16, 2006, at 12:46 PM, Helge Oldach wrote:
 >>
 >>> --- sys/dev/uart/uart_bus_pci.c.ctm	Wed Aug  2 16:24:19 2006
 >>> +++ sys/dev/uart/uart_bus_pci.c	Wed Nov 15 10:18:56 2006
 >>> @@ -101,6 +101,8 @@
 >>>  	8 * DEFAULT_RCLK },
 >>>  { 0x1409, 0x7168, 0x1409, 0x4028, "Timedia Technology Serial
 >>> Port", 0x10,
 >>>  	8 * DEFAULT_RCLK },
 >>> +{ 0x1409, 0x7168, 0x1409, 0x4037, "Timedia Technology Serial
 >>> Port", 0x10,
 >>> +	8 * DEFAULT_RCLK },
 >>>  { 0x1409, 0x7168, 0x1409, 0x5025, "Timedia Technology Serial
 >>> Port", 0x10,
 >>>  	8 * DEFAULT_RCLK },
 >>>  { 0x1409, 0x7168, 0x1409, 0x5027, "Timedia Technology Serial
 >>> Port", 0x10,
 >>>
 >>
 >> The patch is not right. The PCI device you talk about is a *dual*  
 >> serial
 >> I/O card. As such, puc(4) needs to attach to it, not uart(4).  
 >> Adding the
 >> PCI ids to uart(4) will only cause a conflict, not to mention that if
 >> uart(4) attaches, it only attaches to the first.
 >
 > Am I mistaken or, is it actually the case that puc(4) attaches to the
 > board and not uart(4)?
 >
 > puc0: <Dolphin Peripherals 4036> port 0x2000-0x201f irq 10 at  
 > device 14.0 on pci0
 > uart2: <16550 or compatible> on puc0
 > uart2: fast interrupt
 > uart3: <16550 or compatible> on puc0
 > uart3: fast interrupt
 
 As it shows, puc0 attaches to the pci0 bus. This logically represents
 that puc checks the PCI ids. It also shows that uart2 and uart3 attach
 to puc0. Consequently (by design), uart gets the clock information from
 puc. If puc has it wrong, then uart will not work well.
 
 >> However, the patch shows that the clock on these cards is 8 times the
 >> default clock.
 >
 > That was just a rough guess, copied from seemingly similar cards.
 >
 > So I understand no specific puc(4) attribution needs to be made for  
 > this
 > card. It is already properly recognized, albeit with misleading  
 > text in
 > pucdata.c:
 >
 >         {   "Dolphin Peripherals 4036",
 >             {   0x1409, 0x7168, 0,      0       },
 >             {   0xffff, 0xffff, 0,      0       },
 >             {
 >                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
 >                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
 >             },
 >         },
 
 Hmmm, if puc currently has a clock of 8 times the default, then
 we may have another problem. Could you check if puc got it
 wrong as it is? Simply select a baudrate that's 8 times higher than
 the baudrate you want. If you can communicate, then your card
 does *not* have a clock that's 8 times default.
 
 If you can't get any data transmitted or received when you select
 differing baudrates (to compensate for a lock that's wrong) then
 we obviously have another problem.
 
 >> Note also that I have not heard of uart(4) being wrong in classifying
 >> the type as 16550, 1660 or otherwise.
 >
 > Fine with me. I am not claiming the source mentioned is correct. I  
 > just
 > say there appears to be some disagreement.
 
 The disagreement may be important. Maybe your card has "false"
 PCI ids and is recognized for something it isn't. Of course,
 there may also be bugs in the source code that exhibit them-
 selves this way. It would be good to find out what it is...
 
 -- 
 Marcel Moolenaar
 xcllnt@mac.com
 
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611181840.kAIIeOIe089943>