linux-mips
[Top] [All Lists]

Re: CompactFlash on PCMCIA problems

To: linux-mips@linux-mips.org
Subject: Re: CompactFlash on PCMCIA problems
From: Ulrich Eckhardt <eckhardt@satorlaser.com>
Date: Wed, 13 Apr 2005 16:51:04 +0200
In-reply-to: <200504081610.32088.eckhardt@satorlaser.com>
Organization: Sator Laser GmbH
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <200504081610.32088.eckhardt@satorlaser.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: KMail/1.7.2
Ulrich Eckhardt wrote:
> I'm trying to code the glue to connect the vanilla ATA drivers with a CF
> card connected to an Au1100. I managed to access the CIS parts of the card
> but then the problems start: the area where I'd expect to find the ATA
> controller's registers mirrors every byte twice, just as if the address
> used was first shifted by one.
>
> Here's a sketch of what I'm doing:
>
> 1. Setup SYS_PINFUNC so the PCMCIA interface is used

Well, at least I tried to...

[...]
> At this moment, I think I should be able to talk to the ATA controller via
> the first few bytes of the ioremapped PCMCIA_IO_PHYS_ADDR, but that area
> has this weird mirrored byte behaviour which I don't understand.

Setting the PC flag in SYS_PINFUNC in fact DISables the PCMCIA driver, leaving 
PREG, PCE1, PCE2 and PWE as GPIO pins. These seem unused for 16 bit accesses 
to the attribute memory but required for the 8 bit accesses to the ATA 
controller's registers, causing the funny behaviour.

"Principle of maximum surprise."

oh, well....

Uli

<Prev in Thread] Current Thread [Next in Thread>