LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Rob Prowel <prowel@kuchera.com>
To: linux-kernel@vger.kernel.org
Subject: questions about 8250 uart support for adhoc boards
Date: Fri, 23 Feb 2007 12:05:48 -0500	[thread overview]
Message-ID: <45DF1EEC.4040602@kuchera.com> (raw)

I have a PC104 embedded system and am trying to make a Diamond 
Emerald-mm-opto four port serial board work in a recent kernel version 
(>=2.6.17).  The vendor only validates the board against 2.6.11: a 
kernel nearly two years old and several serial kernel config parameters 
have changed in that time period.

the board uses two 16c2850 uarts and has four ports.  It supports 
interrupt sharing through an ISR bitmask.

since the recent 2.6.x kernels now break down the non-standard uart 
support into specific hardware groups I cannot figure out how to get the 
blasted thing to register/recognize with setserial.  the MULTIPORT 
option no longer exists in the kernel code so I had to explicitly 
compile in "fourport" support just so ttyS4 through ttyS7 would be 
accessible...and yes, you can assume that I've increased the available 
ports using 8250.nr_uarts=16

At least now, with fourport compiled into the kernel, I can use 
setserial to see the uarts and correctly identify them...but the shared 
interrupt vector doesn't seem to work.  I haven't even attempted yet to 
try stty or echoing data our to an o-scope.

Here is the setserial dialog

# for i in 0 1 2 3 4 5 6 7; do setserial /dev/ttyS$i; 
done                          
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
/dev/ttyS4, UART: unknown, Port: 0x01a0, IRQ: 2, Flags: Fourport
/dev/ttyS5, UART: unknown, Port: 0x01a8, IRQ: 2, Flags: Fourport
/dev/ttyS6, UART: unknown, Port: 0x01b0, IRQ: 2, Flags: Fourport
/dev/ttyS7, UART: unknown, Port: 0x01b8, IRQ: 2, Flags: Fourport

# sh /root/setserial
+ SS=/bin/setserial
++ /bin/setserial /dev/ttyS4 port 0x120 irq 12 autoconfig '^fourport'
++ /bin/setserial /dev/ttyS5 port 0x128 irq 12 autoconfig '^fourport'
++ /bin/setserial /dev/ttyS6 port 0x130 irq 12 autoconfig '^fourport'
++ /bin/setserial /dev/ttyS7 port 0x138 irq 12 autoconfig '^fourport'
++ /bin/setserial /dev/ttyS4 set_multiport port1 0x244 mask1 0x0f match1 0
Cannot get multiport config: Invalid argument

# for i in 0 1 2 3 4 5 6 7; do setserial /dev/ttyS$i; done             
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
/dev/ttyS4, UART: 16850, Port: 0x0120, IRQ: 12
/dev/ttyS5, UART: 16850, Port: 0x0128, IRQ: 12
/dev/ttyS6, UART: 16850, Port: 0x0130, IRQ: 12
/dev/ttyS7, UART: 16850, Port: 0x0138, IRQ: 12
-bash-3.1#

and the isadump shows that the ports are visible

# # dump uart registers
# isadump -f -y 0x120 32
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: 00 10 01 00 00 60 00 00 00 10 01 00 00 60 00 00
10: 00 10 01 00 00 60 00 00 00 10 01 00 00 60 00 80

# # dump ISR at 0x244
# isadump -f -y 0x240 16
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: ff ff ff ff 00 ff ff ff ff ff ff ff ff ff ff ff
-bash-3.1#



I would so much appreciate if someone intimately familiar with the 
serial drivers could enlighten me as to what is going on here.

I'm not registered on the kernel list so CC to my email address would be 
appreciated.


Thanks,
Rob Prowel
Kuchera Defense Systems




             reply	other threads:[~2007-02-23 17:18 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-23 17:05 Rob Prowel [this message]
2007-02-23 20:21 ` questions about 8250 uart support for adhoc boards Russell King
2007-02-23 20:48   ` Rob Prowel
2007-02-24 20:34     ` Stuart MacDonald
2007-02-26 17:02       ` Rob Prowel
2007-02-26 18:05         ` Russell King
2007-02-27 14:24           ` Rob Prowel
2007-02-27 17:38             ` Russell King
2007-02-27 19:06               ` Stuart MacDonald
2007-02-27 20:40                 ` Rob Prowel
2007-03-08 15:16                   ` Russell King

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=45DF1EEC.4040602@kuchera.com \
    --to=prowel@kuchera.com \
    --cc=linux-kernel@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;
as well as URLs for NNTP newsgroup(s).