Legacy memstick support + FTL questions

Alex Dubov oakad at yahoo.com
Tue Feb 23 21:20:50 EST 2010


> > 
> > It is so and not so.
> > It appears, length is not transmitted as part of
> actual TPC payload.
> > However, number of data payload bytes is always
> determined by the media
> > register values. If this condition is not maintained
> all sorts of bad
> > things may happen.
> It is finally clear to me.
> While googling I found that in fact the CRC is transmitted
> after data in
> both directions
> (ieeexplore.ieee.org/iel5/40/18745/00865865.pdf?arnumber=865865)
> 
> So, if host transmits too much or little that media
> expects, it will
> treat wrong bytes as the CRC, and vise versa. thus both
> ends have to
> know exactly how many bytes to expect.

Yes, the CRC is there as well. 

> 
> One last thing that I probably will accepts as is. It
> appears that card
> has some special way to tell the host that command if
> complete
> regardless or serial/parallel mode, since there is special
> hw register
> (bit 29 of register 16) that is polled only after commands,
> and I
> verified that it takes significant time to turn that bit
> on, thus I
> suspect that card can somehow inform the host that it not
> only accepted
> the TPC, but actually done with the command.
> 

There are no any special modes.
It's just sampling the SDIO line at the right time.

This is, however, should not be of any importance, because a proper
driver should always establish the reason for the failure. It means
you better read the interrupt register and upon checking it, get status
register values as well.

TI adapters, for instance, do not support all these tricks (which are
mostly helpful when dealing with MSPro, with its much refined and more
sensible command set). On the other hand, they are the best adapters around
and closely follow Sony's reference design (or, quite probably, reference
design was made by TI in the first place).



      



More information about the linux-mtd mailing list