Subject: RE: CF custom implementation

From: Kiran Thota <[email-masked]>
Date: Fri, 6 May 2005 10:32:40 -0700

Ulrich,
 The ide-patch i took is from ftp://ftp.buici.com/pub/arm/patch-linux-2.6.11/
Is that good enough?

Alan was referring to PIO mode in that thread but this implementation doesnt 
have IO mode and also no IDE support. It only has memory mode and I will 
have to support it as memory. How do I do that?

Another question: If I rework the board so that the wires coming to MEMR and MEMW
are rewired to IOR and IOW respectively, does it work in TrueIDE mode? Just a thought!

Thanks,
Kiran

-----Original Message-----
From: [email-masked]
[mailto:[email-masked]]On Behalf Of Ulrich Eckhardt
Sent: Friday, May 06, 2005 12:14 AM
To: [email-masked]
Subject: Re: CF custom implementation

Kiran Thota wrote:
> I am working on a MIPS-based processor SoC which has a custom CF
> implementation over Local Bus. The CF doesnt support IO mode, interrupts, 
> 32-bit support.
> It has limited register support [no interface registers to reset the CF]. I
> am using 2.6.10 from linux-mips. I have already written a PCMCIA/CF socket
> socket for the same.
> The goal is to use the CF cards as memoy devices. Advise me on the path to
> take:
>
> PCMCIA/CF ->CS/DS -> IDE [I found a patch to make IDE work in polled mode]

Could you tell me where you found that patch?

> I am currently using Lexar and Hitachi Compact Flash cards.

CF is a standard, so this shouldn't matter.

> The CIS can be read and when the Linux boots up and I invoke cardmgr
> [v3.2.8], it sees the device as ATA/IDE Fixed Disk [Func = 4 (Fixed Disk) ]
> Is there a way to force it to come up in memory only mode? Please suggest.

I'm using a CF card attached to the PCMCIA interface of an Alchemy Au1100. 
Since my board only has a CF slot, I'm not using the whole PCMCIA stack at 
all - CONFIG_PCMCIA=no and no cardmgr. All I do is detect the card, parse the 
CIS and register the CF card with the IDE/ATA system of the kernel, just like 
Alan Cox suggested in the recent thread "ATA devices attached to arbitary 
busses". One good reason for me doing so is that I need to mount the root 
filesystem from the CF but the PCMCIA stack requires user-space helpers.

Uli

---

From: "Bogdan Vacaliuc" <[email-masked]>
Date: Sat, 7 May 2005 09:51:30 -0400

On Friday, May 06, 2005 1:33 PM, Kiran Thota wrote:

> Another question: If I rework the board so that the wires coming to
> MEMR and MEMW are rewired to IOR and IOW respectively, does it work
> in TrueIDE mode? Just a thought!  

No.  TrueIDE mode changes the meaning of many input/output pins, and thus is significantly different from PCcard IO mode so that
this will not work.

Also, you should bear in mind that (P)IO mode is more similar to IDE mode than it is to memory mode.

To operate the CF/CF+ card in memory mapped mode you will need the following signals:

A[0:10]
D[0:15]
-CD1, -CD2
-CE1, -CE2
-OE
RDY_BUSY
-REG
RESET
-WE
WP

Refer to the "CF+ & CF SPECIFICATION REV. 3.0", pg. 24-30 for details.
http://www.compactflash.org/cfspc3_0.pdf

If your cards are not going to be removable, you can get away with tying up/dn some lines.

Also, please note that on pg. 89, the specification allows for alternate ways that a CF card may 'enter' either trueIDE or memory/io
mode.  Please be aware of this, because certain software implementations may inadvertently cause -OE to stay asserted for an
extended period of time, thus causing the card to spontaneously switch modes.  This results in the card seemingly becoming opaque
until the next reset or power cycle.

Best Regards,

-bogdan