Subject: Re: Can not get PATA to work for Compact Flash with 2.6.28 kernel

From: "Steven A. Falco" <[email-masked]>
Date: Wed, 04 Feb 2009 09:26:25 -0500

Lixin Yao wrote:
> I redefined io functions in libata-sff.c, byte operations are converted
> to 16bit word operations. Maybe I should ask for HW changes in new
> revisions of the board.
> 

I do recommend that.  We got it wrong on our first board too. :-)  It
is much better to get the hardware right than to carry your endian SW
patch forever.

Two other potential issues: 1) making sure the "most significant
byte enable" is used, so that byte writes work correctly.  You most
likely have this correct already, or you would not have gotten this
far.

And 2) make sure you allow for the hold time / turn-off time of the
CF.  We use a 440EPx, and cannot set up the external bus controller
to generate valid cycles in all cases.  So, we added some flip-flops
to stretch the rising edge of the chip select, which guarantees proper
timing.  (I'm going a bit far afield from the purpose of this mailing
list, so if you want more details, please contact me directly.)

	Steve