public inbox for linux-serial@vger.kernel.org
 help / color / mirror / Atom feed
From: "Chris Friesen" <cfriesen@nortel.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org
Subject: Re: [BUG] serial base baud misdetected in 2.6.27
Date: Tue, 04 Nov 2008 14:29:33 -0600	[thread overview]
Message-ID: <4910B0AD.3020802@nortel.com> (raw)
In-Reply-To: <20081104192253.151d6ef3@lxorguk.ukuu.org.uk>

Alan Cox wrote:
> On Tue, 04 Nov 2008 12:24:45 -0600
> "Chris Friesen" <cfriesen@nortel.com> wrote:
> 
>> I'm running an ATCA7101 board.  This board has two 16550 ports that get 
>> detected as ttyS4 and ttyS5.
>>
>> With a much earlier kernel (2.6.14) the serial port base speed is 
>> correctly detected as 230400, which gives the desired 115200 when I 
>> specify that on the kernel commandline.
>>
>> With 2.6.16 and 2.6.27 (not sure about the intervening kernels) the 
>> serial port base speed is detected as 921600, which means that I need to 
>> specify 460800 on the commandline to get a real speed of 115200 (as 
>> verified by an external terminal server).
>>
>> Any ideas what could be causing this misdetection?  I'm having lab 
>> issues right now so I can't track it down, but I'll have a go at it 
>> eventually.
> 
> If this is a PCI card it may be matching against a PCI entry for a
> similar card with different crystals and need the right svid/sdid adding.

This is an ATCA board, so it's not a separate PCI card, but it does look 
like it's hanging off the PCI bus.  The vendor/device matches to an Exar 
Corp. XR17C152, which is given a base_baud of 921600 in 
drivers/serial/8250_pci.c.

According to the chip specs, 921600 is correct with the default crystal 
and control register values.  However, other crystals can be used and 
there's also a control register bit to enable a prescalar which cuts the 
baud rate by a factor of four.  I suspect that one of these has been 
done on our boards.

The confusing thing is that the 2.6.14 code seems to also use a value of 
921600, but somehow it works.  I wonder if our kernel vendor has tweaked 
something in the code to adjust this value later on.

Chris



  reply	other threads:[~2008-11-04 20:29 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-04 18:24 [BUG] serial base baud misdetected in 2.6.27 Chris Friesen
2008-11-04 19:22 ` Alan Cox
2008-11-04 20:29   ` Chris Friesen [this message]
2008-11-04 20:36     ` Alan Cox
2008-11-04 21:30       ` Chris Friesen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4910B0AD.3020802@nortel.com \
    --to=cfriesen@nortel.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox