UDMA for Compact Flash over PC Card?

Piotras piotras at gmail.com
Fri Apr 6 04:34:22 EDT 2007


Am I correct to assume that the PXA DMA engine is using
DMA signaling on the PCMCIA bus? Do you use WIN_READDMA*/
WIN_WRITEDMA* commands to access the CF card?

Could you provide the details of your CF card?


Thanks,

Piotr


On 4/5/07, Steven Newbury <s_j_newbury at yahoo.co.uk> wrote:
>
> --- Piotras <piotras at gmail.com> wrote:
>
> > Hi Steve,
> >
> > Thanks for your replay.
> >
> > My device supports 250ns cycle (according to CIS). I set it up
> > for MMIO (PCMCIA) using the Thomas Kleffel's patch and verified
> > the settings of the window registers in PCMCIA bridge. The
> > measured throughput for reading from the CF does not exceed 2MB/s.
> >
> > I verified the actual time for MMIO reads from data register
> > by the CPU. The average time for reading 16-bits word is about
> > 1us (it's consistent with the throughput). When I was changing
> > the cycle timing, the measured time for reads changed accordingly
> > (~750ns + cycle time). I cannot verify what causes this ~750ns
> > delay. Maybe it's the propagation delay introduced by the two
> > bridges (CPU-PCI and PCI-PCMCIA). If it would be the case, the
> > DMA by PCMCIA bridge could give significant improvement.
> >
> > After I send the previous email I realized that the PCMCIA bridge
> > datasheet is older then ATA specification that introduced UDMA.
> > I think that the DMA supported by the PCMCIA bridge is something
> > similar to single-word/multi-word DMA. The Compact Flash
> > Specification does not specify any of these for PCMCIA. Still some
> > vendors could possibly implement it...
>
> I actually have burst DMA working on the PXA PCMCIA interface.  I've actually
> had transfers of >8MiB/s with a CF card although I was overclocking IO, rather
> than using MMIO due to my inability to get it to deliver interrupts as I
> mentioned previously...  I really need to have another look at that!
> >
>
>
> Steve



More information about the linux-pcmcia mailing list