lkml.org 
[lkml]   [2000]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch] Support for 3Com PCI modem + Generic PCI serials
Hello,

> If someone has access to the PCI specifications, and can tell me whether
> (at least in some standards fantasyland) there's a reliable way of
> finding out that information, that would be useful. Until then, the
> hard-coded table is going to be safer, so any kind of hueristics is
> going to have to be under a #ifdef, so we can remove it easily if it
> locks up people's systems.

The PCI specs (revision 2.2) say:

Base Class 07h

This base class is defined for all types of simple communications
controllers. Several sub-class values are defined, some of these having
specific well-known register-level programming interfaces.

subclass prog-if meaning
00 00 Generic XT-compatible serial controller
01 16450-compatible serial controller
02 16550
03 16650
04 16750
05 16850
06 16950
01 * parallel port
02 00 Multiport serial controller
03 00 Generic modem
01 Hayes compatible modem with 16450
compatible interface
02 16550
03 16650
04 16750
80 00 Other communications device

For Hayes-compatible modems, the first base address register (at offset
10h) maps the appropriate compatible (i.e., 16450, 16550, etc.) register
set for the serial controller at the beginning of the mapped space. Note
that these registers can be either memory or I/O mapped depending on
what kind of BAR is used.

If the devices you've seen behave sanely (i.e., they don't use the standard
class numbers if they have non-standard interface), I think the following
approach would be reliable enough to be used by the driver by default:

If a device has class 0700 and prog-if 00 to 06 or class 0703 and prog-if
01 to 04, use the first resource not depending on whether it's memory or I/O.
Maybe we could reject the device if it has more than one region defined.

Have a nice fortnight
--
Martin `MJ' Mares <mj@ucw.cz> <mj@suse.cz> http://atrey.karlin.mff.cuni.cz/~mj/
"And on the seventh day, He exited from append mode."

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:55    [W:0.110 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site