Subject: PCI vendor id 0x11c1: Fujitsu vs Lucent
To: None <tech-kern@netbsd.org>
From: Michael Richardson <mcr@solidum.com>
List: tech-kern
Date: 12/15/1999 18:03:45
-----BEGIN PGP SIGNED MESSAGE-----


  [I hope tech-kern is the best place for PCI vendor confusions]

  According to http://www.pcisig.com/membership/vendors/sorted.html
(which is members only, I think), there are four Fujitsu vendor IDs:

0x10CA	                FUJITSU MICROELECTRONIC., INC.
0x10CF			FUJITSU LIMITED
0x119E			FUJITSU MICROELECTRONICS LTD
0x151D			FIJUTSU COMPUTER PRODUCTS OF AMERICA

  NetBSD's pcidevs file contains:

vendor FUJITSU		0x10ca	Fujitsu
vendor FUJITSU2		0x10d0	Fujitsu Limited (2nd PCI Vendor ID)
vendor FUJITSU3		0x119e	Fujitsu (3th PCI Vendor ID)
vendor FUJITSU4		0x11c1	Fujitsu Limited (4th PCI Vendor ID)

  Also:

/* Fujtsu products */
product FUJITSU4	LTMODEM	0x0440	K56flex DSVD LTMODEM

  I have just received a Lucent eval board (for an FPGA/PCI part), for which
I'm writing a device driver, which probes as:

Fujitsu Limited (4th PCI Vendor ID) product 0x5400 (undefined subclass 0x00) at pci1 dev 18 function 0 not configured

  The 0x11c1/0x5400 are correct according to the documentation that I have.
The 0x11c1 does not show up in the PCI SIG's list, but that (only 0x12A3
for Lucent), but that may be because Lucent MicroElectronics is shy. I have
asked the PCI SIG people about this.
  
  I suspect that Fujitsu has produced a modem with a Lucent part on it,
thus the confusion. Grep'ing in sys/dev/pci for FUJITSU4 reveals nothing, but
I suspect that sys/dev/pci/puc.c attaches it due to a class/subclass
matching.(Does PCI "serial" really mean 8250/16450/16550 compat by definition?)

  So, I suspect that I can fix the Fujitsu4 vendor ID to be Lucent without
impacting any user's of the "K56flex DSVD LTMODEM". 

  BTW: why doesn't pucdata.c use symbolic values?

  So, if there are no objections, I will do:

469c469
< vendor FUJITSU4               0x11c1  Fujitsu Limited (4th PCI Vendor ID)
- ---
> vendor LUCENTMICRO    0x11c1  Lucent MicroElectronics
507a508
> vendor FUJITSU4               0x151D  Fujitsu of America
824,825c825,828
< /* Fujtsu products */
< product FUJITSU4      LTMODEM 0x0440  K56flex DSVD LTMODEM
- ---
> /* Lucent products */
> /* The LTMODEM is built upon a Lucent licensed chipset */
> product LUCENTMICRO   LTMODEM 0x0440  Fujitsu K56flex DSVD LTMODEM
> product LUCENTMICRO   OR3TP12 0x5400  OR3TP12 FPSC Eval Card  

  I would appreciate hearing from someone with a K56flex. That hardware
ownership database would come into good use.

  On a related topic, how would people feel about some code that would
be invoked by /kern/pci, that output things like Linux's /proc/pci:

phobos-[~] mcr 3 %cat /proc/pci
PCI devices found:
  Bus  0, device   0, function  0:
    Host bridge: Acer Labs Unknown device (rev 4).
      Vendor id=10b9. Device id=1541.
      Slow devsel.  Master Capable.  Latency=64.  
      Non-prefetchable 32 bit memory at 0xe0000000 [0xe0000000].
  Bus  0, device   1, function  0:
    PCI bridge: Acer Labs Unknown device (rev 4).
      Vendor id=10b9. Device id=5243.
      Slow devsel.  Master Capable.  Latency=64.  Min Gnt=11.
  Bus  0, device   2, function  0:
    USB Controller: Acer Labs M5237 USB (rev 3).
      Medium devsel.  Fast back-to-back capable.  Master Capable.  Latency=64.  Max Lat=80.
      Non-prefetchable 32 bit memory at 0xdffff000 [0xdffff000].
  Bus  0, device   7, function  0:
    ISA bridge: Acer Labs M1533 Aladdin IV (rev 195).
      Medium devsel.  Master Capable.  No bursts.  
  Bus  0, device  15, function  0:
    IDE interface: Acer Labs M5229 TXpro (rev 193).
      Medium devsel.  Fast back-to-back capable.  Master Capable.  Latency=32.  Min Gnt=2.Max Lat=4.
      I/O at 0xffa0 [0xffa1].
  Bus  0, device  18, function  0:
    Ethernet controller: LiteOn LNE100TX (rev 32).
      Medium devsel.  Fast back-to-back capable.  IRQ 11.  Master Capable.  Latency=64.  
      I/O at 0xdc00 [0xdc01].
      Non-prefetchable 32 bit memory at 0xdfffef00 [0xdfffef00].
  Bus  1, device   0, function  0:
    VGA compatible controller: ATI Mach64 GB (rev 92).
      Medium devsel.  Fast back-to-back capable.  Master Capable.  Latency=64.  Min Gnt=8.
      Prefetchable 32 bit memory at 0xce000000 [0xce000008].
      I/O at 0xcc00 [0xcc01].
      Non-prefetchable 32 bit memory at 0xcfeff000 [0xcfeff000].

   :!mcr!:            |  Solidum Systems Corporation, http://www.solidum.com
   Michael Richardson |For a better connected world,where data flows faster<tm>
 Personal: http://www.sandelman.ottawa.on.ca/People/Michael_Richardson/Bio.html
	mailto:mcr@sandelman.ottawa.on.ca	mailto:mcr@solidum.com



-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: noconv
Comment: Processed by Mailcrypt 3.5.1, an Emacs/PGP interface

iQCVAwUBOFgeT4PZOgmMo+2lAQGcMwP+OLoo4iEYVS8GRQyi0s9LZao9MoNIZ/yn
Q6Yg45/6ue6AhLW0mcnYa0NfMO+tmTh1Lo6IybedMvpzgd8It3oa8Wh+0N3TA9nG
MXFmbwtvWuc5XnMtrmgLedQOMtrV71zrGZ8LVOHySeEldba1ewUPBvygwWw+pgX8
/v9hURc5usk=
=j4/y
-----END PGP SIGNATURE-----