Subject: RE: Lite5200 and PCI1520

From: "Andrew Dennison" <[email-masked]>
Date: Tue, 14 Dec 2004 10:48:11 +1100

Nathan Zeitler wrote:

> Hello Wolfgang,
> 
>> Now what? Is it a custom board, or a Lite5200?
> 
> My apologies.  It is a custom board based closely on the design of the
> Lite5200.  Thus we are able to put a PCI1520 chip on the same PCB and
> connect it to the MPC5200 PCI bus.

Nathan,
I posted a question on cardbus with the 5200 a few weeks ago but got no
reply. I think the reason is that cardbus / pcmcia support may not have
been considered when the 5200 PCI memory map was laid out, but I would
love to be contradicted!

I also have a custom board with a mpc5200, pci1520 cardbus bridge, DDR,
etc.

Which kernel are you using?

I'm using Denx linuxppc_2_4_devel cvs and so far I've had to make several
changes to get close to a working system. I've changed the PCI bus mapping
so ISA I/O (ie PCMCIA) is at the bottom of the PCI address space, from my
reading / debugging this seems to be required to get PCMCIA to work. I
initially tried hacking yenta.c to use a high I/O range (like you have)
but this doesn't seem to be the solution. My memory map is now as follows:

/*
 * VPC mapping deviates from icecube so PCMCIA can work!
 * From Processor to PCI:
 *   PCI Mem Space: 0x40000000 - 0x50000000 -> 0x40000000 - 0x50000000
(256 MB)
 *   PCI I/O Space: 0x50000000 - 0x51000000 -> 0x00000000 - 0x01000000 (16
MB)
 *
 * From PCI to Processor:
 *   System Memory: 0x80000000 -> 0x00000000
 */

this also requires:
#define _IO_BASE	isa_io_base 
and isa_io_base to be set to the correct virtual address, pci_dram_offset
= 0x8000000, among other changes.

I also have a few outstanding issues that I haven't resolved yet, hence I
haven't posted a full patch, but I can now load and configure a wireless
ethernet card. Loading cardbus drivers currently fails when accessing PCI
configuration space on the cardbus bus, and I haven't sorted this out yet.

Part of the reason for my reply is also to check if my current approach
(remapping the PCI address space) is sane - comments anyone? I have made
similar changes in u-boot and can now read / write CF cards so it seems
like the right approach for the kernel too.

Andrew