PXA2xx pcmcia to compact flash on 2.6.13

John Heil armdev at scsoftware.sc-software.com
Fri Dec 16 01:30:16 EST 2005


On Thu, 15 Dec 2005, Pavel Roskin wrote:

> Hi, John!
>
> On Thu, 2005-12-15 at 11:00 -0800, John Heil wrote:
> > I've done a bind_request to get ide-cs.c to manage the compact flash.
> > bind_request completes successfully and I then call ide_attach in
> > ide-cs.
>
> I guess you circumvented reading CIS by doing this.  I'm not sure if you
> can read CIS at all.

Hi Pavel,

Thnx for responding...

Actually, bind_request calls pcmcia_device_add and that is the ioctl i/f
for cardmgr when it detect pcmcia hotplug.

>
> > ide_attach does a pcmcia_register_client and ds.c ultimately drives
> > GetFirstTuple which is failing w 'No more items'
>
> This means that the client driver cannot find CIS.

Exactly.

My concern is that the PXA270 hardware PCMCIA area, at 0x20000000,
may not be correctly ioremapped by cs/ds to find where the CIS is being
returned at.

Is that possible ?

>
> > What am I missing?
> > What do I need to get this running quickly ?
>
> In order from "quick and dirty" to "correct" (but I cannot assure you
> that every approach is feasible):
>
> Comment out all CIS reading code and initialize whatever the driver
> reads from CIS with reasonable values.
>

That approach sounds extreme and frought w risk and complexity...

...I envisioned fixing the CIS read problem, thus completing the
ide_attach pcmcia_register_client correctly and then successfully completing the
subsequent ide_config function, just as ide-cs.o does when it is loaded
as a module.

Are you implying that even if I _were_ to get good CIS data, the approach
will/would not work for some reason.

If yes, then why ?...

The path I chose, AFAIK, approximates what cardmgr does to load ide-cs.o
as a module, which works find on my laptop running FC2 and 2.6.11.7.

I can't use ide-cs as a module since I don't have access to a file system,
for modules nor cardmgr nor the newer pcmciautils, ergo a kernel only
approach.

I'm doing this on 2.6.13, on the prototype PXA270 board I'm working on...
I thought from my reading, that 2.6.13 was far enough along to pull this
off w minimal grief.

> Hardcode CIS of the card as binary data.
>
> Figure out how to read CIS from the card.  You need the bridge
> specification for that.

The PXA270 does not have a bridge. It is a SOC and merely manages
the pcmcia signals and the hardware address range for I/O, Attribute
and Memory Space which starts @ 0x20000000.

It is linux's access to this address range that concern's me.

Thnx again,
johnh

>
> --
> Regards,
> Pavel Roskin
>




More information about the linux-pcmcia mailing list