linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: "David Clark" <dlclark@chtech.com>
To: <linuxppc-embedded@ozlabs.org>
Subject: RE: 16-bit PCMCIA resource allocation
Date: Mon, 26 Feb 2007 15:09:44 -0600	[thread overview]
Message-ID: <007801c759ea$70eabdc0$0f01a8c0@longhorn> (raw)
In-Reply-To: <000001c7511a$f8ef4b60$0f01a8c0@longhorn>

This issue turned out to be a PCB design problem.  Thank you for your
assistance.

David Clark
Senior Software Engineer
C&H Technologies, Inc
Web: http:\\www.chtech.com
Phone: 512-733-2621
Fax: 512-733-2629
Email: dlclark@chtech.com
 

-----Original Message-----
From: linuxppc-embedded-bounces+dlclark=chtech.com@ozlabs.org
[mailto:linuxppc-embedded-bounces+dlclark=chtech.com@ozlabs.org] On
Behalf Of David Clark
Sent: Thursday, February 15, 2007 10:04 AM
To: linuxppc-embedded@ozlabs.org
Subject: 16-bit PCMCIA resource allocation 

I am having difficulty getting 16-bit PCMCIA cards to work on a custom
MPC8245-based board.  I am running kernel 2.6.14.2 with pcmciautils-014.
I have successfully run the network off a 32-bit PCMCIA network card so
I am certain that the interface to the PCMCIA socket is functional.  I'm
thinking it is just a resource allocation issue but I am having
difficulty understanding how it is supposed to work.  When I insert the
card or call "pccardctl insert" I receive the error "cs: unable to map
card memory."

>From following the source I can tell that the error occurs when the
kernel is trying read the cards CIS and it fails to allocate/map memory
to do so.  Do I need to tell the kernel to reserve a block of memory for
16-bit PCMCIA cards?  I assume this would be from the PCI busses address
space.  Is this done using the "/etc/pcmcia/config.opts" file?  I was
under the impression that I didn't need this file for a Yenta socket in
a PPC environment. Could is be the way my PCIbus is setup? ...

Any hints are greatly appreciated.

David Clark  

Below are a few relevant outputs.

********    pccardctl status  ********    
Socket 0:
  5.0V 16-bit PC Card

********    dmesg  ********    
dmesg
oop registered
io scheduler deadline registered
RAMDISK driver initialized: 4 RAM disks of 32768K size 1024 blocksize
QS6612: Registered new driver
Linux Tulip driver version 1.1.13 (May 11, 2002)
tulip0:  EEPROM default media type Autosense.
tulip0:  Index #0 - Media 100baseTx (#3) described by a 21143 SYM PHY
(4) block.
tulip0:  Index #1 - Media 100baseTx-FDX (#5) described by a 21143 SYM
PHY (4) bl
ock.
tulip0:  Index #2 - Media 10baseT (#0) described by a 21142 Serial PHY
(2) block
..
tulip0:  Index #3 - Media 10baseT-FDX (#4) described by a 21142 Serial
PHY (2) b
lock.
eth0: Digital DS21143 Tulip rev 65 at c9002c00, 00:40:42:07:00:04, IRQ
16.
Yenta: CardBus bridge found at 0000:00:14.0 [0000:0000]
PCI: Bus 2, cardbus bridge: 0000:00:14.0
  IO window: 00000000-000001ff
  IO window: 00000400-000005ff
  PREFETCH window: bf8ff000-bfcfefff
  MEM window: 80000000-803fffff
Yenta: Enabling burst memory read transactions
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:00:14.0, mfunc 0x00101000, devctl 0x66
Yenta TI: socket 0000:00:14.0 probing PCI interrupt failed, trying to
fix
Yenta TI: socket 0000:00:14.0 falling back to parallel PCI interrupts
Yenta TI: socket 0000:00:14.0 parallel PCI interrupts ok
Yenta: ISA IRQ mask 0x0000, PCI irq 19
Socket status: 30000410
pcmcia: parent PCI bridge I/O window: 0xfe000000 - 0xfebfffff
pcmcia: parent PCI bridge Memory window: 0x80000000 - 0xfcffffff
mice: PS/2 mouse device common for all mice
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
cs: memory probe 0x80000000-0xfcffffff:IP-Config: Complete:
      device=eth0, addr=192.168.1.228, mask=255.255.255.0,
gw=255.255.255.255,
     host=vx411c, domain=, nis-domain=(none),
     bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath=
RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem).
Freeing unused kernel memory: 100k init
 - nothing to change...
 - nothing to change...
 excluding 0x80000000-0xfcffffff
cs: unable to map card memory!
cs: unable to map card memory!
- nothing to change...
 - data bits = 8
 - parity = none
 - stop bits = 1
 - RTS/CTS is disabled
 - baud rate = 57600<5>***CH DEBUG:  s->callback->event() = 0xc0121b54
cs: unable to map card memory!
cs: unable to map card memory!


********    lspci -vvv   ********    
~ # lspci -vvv
00:00.0 Host bridge: Motorola MPC8245 [Unity] (rev 14)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Step
ping- SERR- FastB2B-
	Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- 
<MAbort+ >SERR- <PERR-
	Latency: 64, Cache Line Size 08
	Interrupt: pin A routed to IRQ 0
	Region 0: Memory at <unassigned> (32-bit, prefetchable)
	Region 2: Memory at <unassigned> (32-bit, prefetchable)

00:10.0 I2O: Anchor Chips Inc. AN3042Q CO-MEM Lite (rev 02) (prog-if 01)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Step
ping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort
- <MAbort- >SERR- <PERR-
	Latency: 128, Cache Line Size 08
	Interrupt: pin ? routed to IRQ 20
	Region 0: Memory at 00000000bfff8000 (32-bit, non-prefetchable)
[size=32
K]
	Region 1: I/O ports at bffff8 [size=8]

00:12.0 Ethernet controller: Digital Equipment Corporation DECchip
21142/43 (rev
 41)
	Subsystem: Unknown device 0400:0001
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Step
ping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort
- <MAbort- >SERR- <PERR-
	Latency: 128 (5000ns min, 10000ns max), Cache Line Size 08
	Interrupt: pin A routed to IRQ 16
	Region 0: I/O ports at bfff00 [size=128]
	Region 1: Memory at 00000000bfff7c00 (32-bit, non-prefetchable)
[size=1K
]
	Expansion ROM at 00000000dfbc0000 [disabled] [size=256K]

00:13.0 PCI bridge: Texas Instruments PCI2250 PCI-to-PCI Bridge (rev 02)
(prog-i
f 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Step
ping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort
- <MAbort- >SERR- <PERR-
	Latency: 128, Cache Line Size 08
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=128
	I/O behind bridge: 00bfe000-00bfefff
	Memory behind bridge: bfe00000-bfefffff
	Prefetchable memory behind bridge: bfd00000-bfdfffff
	Secondary status: 66Mhz- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort
- <MAbort+ <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
	Capabilities: [dc] Power Management version 1
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot
-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:14.0 CardBus bridge: Texas Instruments PCI1620 PC Card Controller
(rev 01)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Step
ping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort
- <MAbort- >SERR- <PERR-
	Latency: 168, Cache Line Size 08
	Interrupt: pin A routed to IRQ 19
	Region 0: Memory at 00000000bfcff000 (32-bit, non-prefetchable)
[size=4K
]
	Bus: primary=00, secondary=02, subordinate=05, sec-latency=176
	Memory window 0: bf8ff000-bfcfe000 (prefetchable)
	Memory window 1: 80000000-803ff000
	I/O window 0: 00000000-000001ff
	I/O window 1: 00000400-000005ff
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+
PostWrite+
	16-bit legacy interface ports at 0001

00:14.2 System peripheral: Texas Instruments PCI1620 Firmware Loading
Function (
rev 01)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Step
ping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort
- <MAbort- >SERR- <PERR-
	Latency: 128 (1750ns min, 1000ns max), Cache Line Size 08
	Interrupt: pin ? routed to IRQ 19
	Region 0: I/O ports at bf9fc0 [size=64]
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot
-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-


********    lspcmcia -vvv   ********    
~ # lspcmcia -vvv
Socket 0 Bridge:   	[yenta_cardbus] 	(bus ID: 0000:00:14.0)
	Configuration:	state: suspended	ready: yes
			Voltage: 5.0V Vcc: 5.0V Vpp: 5.0V
			Available IRQs: none
			Available ioports:	0xfe000000 - 0xfebfffff
			Available iomem:	--none--


********    /proc/iomem   ********    
~ # cat /proc/iomem
80000000-fcffffff : PCI host bridge
  80000000-803fffff : PCI CardBus #02
  bf8ff000-bfcfefff : PCI CardBus #02
  bfcff000-bfcfffff : 0000:00:14.0
    bfcff000-bfcfffff : yenta_socket
  bfd00000-bfdfffff : PCI Bus #01
  bfe00000-bfefffff : PCI Bus #01
  bfff7c00-bfff7fff : 0000:00:12.0
    bfff7c00-bfff7fff : tulip
  bfff8000-bfffffff : 0000:00:10.0
  fc004500-fc004507 : serial


********    /proc/ioports   ********     
~ # cat /proc/ioports
fe000000-febfffff : PCI host bridge
  fe000000-fe0001ff : PCI CardBus #02
  fe000400-fe0005ff : PCI CardBus #02
  febf9fc0-febf9fff : 0000:00:14.2
  febfe000-febfefff : PCI Bus #01
  febfff00-febfff7f : 0000:00:12.0
    febfff00-febfff7f : tulip
  febffff8-febfffff : 0000:00:10.0
~ #






_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

      parent reply	other threads:[~2007-02-26 21:09 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-15 16:04 16-bit PCMCIA resource allocation David Clark
2007-02-16 11:16 ` Asier Llano Palacios
2007-02-16 16:32   ` David Clark
2007-02-19  8:58     ` Asier Llano Palacios
2007-02-26 21:07       ` David Clark
2007-02-26 21:09 ` David Clark [this message]

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='007801c759ea$70eabdc0$0f01a8c0@longhorn' \
    --to=dlclark@chtech.com \
    --cc=linuxppc-embedded@ozlabs.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).