Next-in-Thread Next Message

Sad Trouble with Cirrus ctlr & multiple PCI busses 

Forum: PCMCIA driver development
Date: 1999, Oct 30
From: Dave Tuttle Dave_T

It looks like I am going to have to dive into the source code, but perhaps someone can help. I have an 'industrial PC' system based on a Force CPCI-730 processor board in a CompactPCI backplane. My PCMCIA slot (not CardBus) is via a Ramix PMC230 mezzanine card with a Cirrus PD6729 controller. There is a middling-complicated bus structure, such that the Cirrus chip is behind a DEC PCI Bridge.

For reasons unknown, everything appears to work except for card recognition. The system cannot read the CIS for any card that I insert, in spite of getting the insertion signal. The Ramix people suggested that I have to reprogram the PCI bus bridge to create a memory window (to something, for somewhere) to access the CIS. Is there something else I am missing?

The processor is a Pentium Pro Mobile (low power) at 333 MHz, with a system bus at 100 MHz, 128MB of SDRAM with ECC. The PCI busses all run at 33 MHz. Here is a listing of the PCI structure, from /proc/pci:

PCI devices found:
  Bus  0, device   0, function  0:
    Host bridge: Intel 440BX - 82443BX Host (no AGP) (rev 3).
      Medium devsel.  Master Capable.  Latency=64.  
      Prefetchable 32 bit memory at 0xfe800000 [0xfe800008].
  Bus  0, device   7, function  0:
    ISA bridge: Intel 82371AB PIIX4 ISA (rev 2).
      Medium devsel.  Fast back-to-back capable.  Master Capable.  No bursts.  
  Bus  0, device   7, function  1:
    IDE interface: Intel 82371AB PIIX4 IDE (rev 1).
      Medium devsel.  Fast back-to-back capable.  Master Capable.  Latency=64.  
      I/O at 0xfcd0 [0xfcd1].
  Bus  0, device   7, function  2:
    USB Controller: Intel 82371AB PIIX4 USB (rev 1).
      Medium devsel.  Fast back-to-back capable.  IRQ 10.  Master Capable.  Latency=64.  
      I/O at 0xfce0 [0xfce1].
  Bus  0, device   7, function  3:
    Bridge: Intel 82371AB PIIX4 ACPI (rev 2).
      Medium devsel.  Fast back-to-back capable.  
  Bus  0, device   8, function  0:
    Ethernet controller: DEC DC21142 (rev 65).
      Medium devsel.  Fast back-to-back capable.  IRQ 10.  Master Capable.  Latency=165.  Min Gnt=20.Max Lat=40.
      I/O at 0xfc00 [0xfc01].
      Non-prefetchable 32 bit memory at 0xfedffc00 [0xfedffc00].
  Bus  3, device   4, function  0:
    Ethernet controller: DEC DC21142 (rev 65).
      Medium devsel.  Fast back-to-back capable.  IRQ 9.  Master Capable.  Latency=165.  Min Gnt=20.Max Lat=40.
      I/O at 0xdc00 [0xdc01].
      Non-prefetchable 32 bit memory at 0xfcdff800 [0xfcdff800].
  Bus  3, device   5, function  0:
    Ethernet controller: DEC DC21142 (rev 65).
      Medium devsel.  Fast back-to-back capable.  IRQ 9.  Master Capable.  Latency=165.  Min Gnt=20.Max Lat=40.
      I/O at 0xd880 [0xd881].
      Non-prefetchable 32 bit memory at 0xfcdff400 [0xfcdff400].
  Bus  3, device   6, function  0:
    Ethernet controller: DEC DC21142 (rev 65).
      Medium devsel.  Fast back-to-back capable.  IRQ 10.  Master Capable.  Latency=165.  Min Gnt=20.Max Lat=40.
      I/O at 0xd800 [0xd801].
      Non-prefetchable 32 bit memory at 0xfcdff000 [0xfcdff000].
  Bus  3, device   7, function  0:
    Ethernet controller: DEC DC21142 (rev 65).
      Medium devsel.  Fast back-to-back capable.  IRQ 5.  Master Capable.  Latency=165.  Min Gnt=20.Max Lat=40.
      I/O at 0xd480 [0xd481].
      Non-prefetchable 32 bit memory at 0xfcdfec00 [0xfcdfec00].
  Bus  0, device   9, function  0:
    PCI bridge: DEC DC21150 (rev 3).
      Medium devsel.  Fast back-to-back capable.  Master Capable.  Latency=99.  Min Gnt=12.
  Bus  0, device  10, function  0:
    PCI bridge: DEC DC21150 (rev 3).
      Medium devsel.  Fast back-to-back capable.  Master Capable.  Latency=64.  Min Gnt=4.
  Bus  1, device  12, function  0:
    PCMCIA bridge: Cirrus Logic CL 6729 (rev 7).
      Slow devsel.  IRQ 5.  
      I/O at 0xecfc [0xecfd].
  Bus  1, device  13, function  0:
    VGA compatible controller: Chips & Technologies Unknown device (rev 100).
      Vendor id=102c. Device id=c0.
      Medium devsel.  Fast back-to-back capable.  IRQ 9.  
      Non-prefetchable 32 bit memory at 0xfd000000 [0xfd000000].
  Bus  2, device  13, function  0:
    PCI bridge: DEC DC21152 (rev 3).
      Medium devsel.  Fast back-to-back capable.  Master Capable.  Latency=64.  Min Gnt=4.
  Bus  2, device  14, function  0:
    Bridge: Tundra Unknown device (rev 2).
      Vendor id=10e3. Device id=860.
      Medium devsel.  Fast back-to-back capable.  IRQ 9.  Master Capable.  Latency=64.  
      Non-prefetchable 32 bit memory at 0xfcffe000 [0xfcffe000].
      Non-prefetchable 32 bit memory at 0xfcf00000 [0xfcf00000].

> --------------

I have tried this on RedHat Linux 5.2 with Pcmcia 3.0.9, on RedHat Linux 6.0 with 3.0.9, and on RedHat 6.1 with both 3.0.9 and 3.1.3. Nothing works. Here is the typical system log, the last entry following insertion of a SanDisk SDP3B FlashDisk ATA card:

 Linux PCMCIA Card Services 3.1.3
   kernel build: 2.2.12-20 #1 Mon Sep 27 10:40:35 EDT 1999
   options:  [pci] [cardbus] [apm] [pnp]
 PnP: PNP BIOS installation structure at 0xc00f7170
 PnP: PNP BIOS version 1.0, entry at f0000:a317, dseg at 400
 PCI routing table version 1.0 at 0xfded0
 Intel PCIC probe: 
   Cirrus PD6729 PCI-to-PCMCIA at bus 1 slot 12, port 0xecfc, 2 sockets
     host opts [0]: [ring] [6/16/2] [6/36/2]
     host opts [1]: [ring] [6/16/2] [6/36/2]
     ISA irqs (default) = 11 polling interval = 1000 ms
 cs: IO port probe 0x1100-0x17ff: clean.
 cs: IO port probe 0x0110-0x04ff: excluding 0x158-0x15f 0x290-0x297 0x378-0x37f
 cs: IO port probe 0x0a00-0x0aff: clean.
 memory_cs: mem0: anonymous: unknown size

/etc/sysconfig/pcmcia:

 PCMCIA=yes
 PCIC="i82365"
 PCIC_OPTS="cycle_time=10 fast_pci=1 cmd_time=16 setup_time=6 recov_time=2 poll_interval=100 irq_list=11,12"
 CORE_OPTS="cis_speed=350 probe_mem=0"
 CARDMGR_OPTS=
 SCHEME=

/etc/pcmcia/config.opts:

 #
 # Local PCMCIA Configuration File
 #
 # System resources available for PCMCIA devices
 #
 include port 0x110-0x4ff, port 0x1100-0x17ff
 include memory 0xc8000-0xcffff
 include memory 0xa0000000-0xa0ffffff
 #include memory 0x60000000-0x60ffffff
 #
 # Extra port range for IBM Token Ring
 #
 include port 0xa00-0xaff
 #
 # Resources we should not use, even if they appear to be available
 #
 # First built-in serial port
 exclude irq 4
 # Second built-in serial port
 exclude irq 3
 # First built-in parallel port
 exclude irq 7

> ----------

Dave Tuttle, NorthStar Internetworking

Next-in-Thread Next Message

Messages Inline: 1 All Outline: 1 2 All

1. Note I think you're right about the bridge being the issue by David Hinds, 1999, Nov 02
(_ Agree Thanks for the reply; "Have doc, will travail" by Dave Tuttle, 1999, Nov 02
(_ None It doesn't need to be fancy... by David Hinds, 1999, Nov 02

Add Message to: "Trouble with Cirrus ctlr & multiple PCI busses"

Members Subscribe Admin Mode Show Frames Help for HyperNews at pcmcia-cs.sourceforge.net 1.10