Re: [PATCH again] [libata] libata driver for bf548 on chip ATAPI controller.

From: Sonic Zhang
Date: Wed Aug 15 2007 - 04:56:04 EST


On 8/14/07, Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:
> > +/**
> > + * Register transfer timing table
> > + */
>
> Libata has a complete set of transfer mode tables and timing functions -
> any reason for not using them ?
>

After a bit investigation, I find the timing paramters difined in
struct ata_timing are different from that in hardware manual of BF548.

struct ata_timing {
unsigned short mode; /* ATA mode */
unsigned short setup; /* t1 */
unsigned short act8b; /* t2 for 8-bit I/O */
unsigned short rec8b; /* t2i for 8-bit I/O */
unsigned short cyc8b; /* t0 for 8-bit I/O */
unsigned short active; /* t2 or tD */
unsigned short recover; /* t2i or tK */
unsigned short cycle; /* t0 */
unsigned short udma; /* t2CYCTYP/2 */
};


BF548 PIO timing registers:
u8 teoc_reg;
u8 t2_reg;

u4 t4_reg;
u8 t2_pio;
u4 t1_reg;

u8 teoc_pio;

BF548 UDMA timing registers:
u8 tenv;
u8 tack;

u8 tcyc_tdvs;
u8 tdvs;

u8 tmli;
u8 tss;

u8 trp;
u8 tzah;

I can't find a simple way to configure bf548 registers with the ata_timing data.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/