I would like to have your expert opinion on one of our design issue to access the Compact Flash on MPC860E.

We are building an embedded system that will access Compact Flash card on MPC860E through local bus and not through PCMCIA.

The issue is how to access the CF card i.e. whether in memory mapped/io mapped/True IDE mode?

Following are some concerned points...

1: If we use PC-Card ATA memory mapped mode then we have to stick with PCMCIA specs and we also need PCMCIA bus on our board and have to use CF to PCMCIA adapter. But we dont have that much space on our board.So how can we use CF card in PC-Card ATA memory mapped mode without using adapter and what kernel drivers we can use for that?

2: The second approach is to use True IDE but in this case also we need IDE socket.
Can we use CF card using its own 50 pin connector only without using any adapter.What drivers we can use for True-IDE mode?

I read the CF specs and digged into kernel code for drivers and came up with some findings which could be right or wrong..
Pls put on your thoughts on it and correct me if i'm wrong.

1: To access CF card in "PC-Card ATA memory mapped/IO mapped" mode we have to use PCMCIA subsystem of kernel where we can use low level socket driver that do resource windows allocation and other low level operations. We also have to use linux provided Card Services (linux-kernel-source/drivers/
pcmcia/cs.c) and Driver Services (linux-kernel-source/drivers/pcmcia/ds.c) but we have to write our own client driver and application driver to access those serives.....Am I going right way????

2: To access CF card in True IDE mode we have to use "linux-kernel-source/drivers/ata/pata_platform.c" and "linux-kernel-source/drivers/ata/libata-sff.c".....I'm going right??

Your suggestions would be really helpful....