PCI1520 on IXP425 -- can't read CIS correctly.

David Vrabel <[email protected]> Thu, 18 Dec 2003 10:03:54 +0000
Newsgroups gmane.linux.pcmcia.devel
Organization Arcom Control Systems Ltd
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------000405070204000907050701
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

I have an IXP425 (ARM/XScale) based board here with a TI PCI1520 CardBus 
controller and a single CF socket.

I'm trying to get the yenta driver in 2.4.21 working.  I've:
   * Added the PCI1520 PCI ID.
   * Manually set the interrupt routing registers to use parallel PCI.
   * Forced the number of sockets to 1 (MAX_SOCKETS == 1) as the second 
socket is wired to a custom CPLD (a CF -> ISA bridge).

This results in card insertions and removables being detected.

The IXP425 only has a 64 Mbyte PCI window so I set the valid memory 
regions in the cardmgr configuration appropriately.  The driver then 
allocates a suitable memory window for the card memory.

The problem is that reads of the CIS from the card don't result in the 
expected data.  I get 0x00 flipping to 0xff (occasionally) and other 
(apparent) garbage.

Checking with a scope I can see actively from the various CF card 
signals -- in particular REG# is active and there's actively on OE# so 
I'm assuming it's trying to read the CIS data.

The board has no EEPROM for preprogramming the PCI1520's registers.  I'm 
fairly sure I'm manually setting them appropriately though.

Attached is the output of lspci -vv -xxx.

David Vrabel
-- 
David Vrabel, Design Engineer

Arcom, Clifton Road           Tel: +44 (0)1223 411200 ext. 3233
Cambridge CB1 7EA, UK         Web: http://www.arcom.com/


_____________________________________________________________________
The message in this transmission is sent in confidence for the attention of the addressee only and should not be disclosed to any other party. Unauthorised recipients are requested to preserve this confidentiality. Please advise the sender if the addressee is not resident at the receiving end.

This message has been checked for all viruses by MessageLabs Virus Control Centre.
--------------000405070204000907050701
Content-Type: text/plain;
 name="pci1520-lspci.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="pci1520-lspci.txt"

00:02.0 CardBus bridge: Texas Instruments PCI1250 PC card Cardbus Controller (rev 01)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 168, Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin A routed to IRQ 7
	Region 0: Memory at 4bffc000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=01, subordinate=04, sec-latency=176
	Memory window 0: 04000000-043ff000 (prefetchable)
	Memory window 1: 04400000-047ff000
	I/O window 0: 00004000-000040ff
	I/O window 1: 00004400-000044ff
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+
	16-bit legacy interface ports at 0001
00: 4c 10 55 ac 07 00 10 02 01 00 07 06 08 a8 82 00
10: 00 c0 ff 4b a0 00 00 02 00 01 04 b0 00 00 00 04
20: 00 f0 3f 04 00 00 40 04 00 f0 7f 04 00 40 00 00
30: fc 40 00 00 00 44 00 00 fc 44 00 00 07 01 c0 05
40: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 70 d0 40 0c 00 00 00 00 00 00 00 00 22 00 00 00
90: c0 00 40 60 00 00 00 00 00 00 00 00 00 00 00 00
a0: 01 00 12 fe 00 80 c0 00 01 08 00 00 1f 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


--------------000405070204000907050701--



-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click