Hi,
It's not easy to write code which works with (nearly) every
card because the cards are far away from the MMC specification;
code which does only what the specification says does not work.
And some parameters are experimental values because some times
are not limited in the specification.
Please explain further if you can. Give specific examples of
which brands of cards are different and how they are different.
I can do a web search for the specification files, but I need to
know which brands to look for.
Documentation can be found at www.sandisk.com.
At some states the cards need more wait cycles than the standard allows,
even if they are only clocked with 4 MHz spi clock. I have not see a
standard conforming card; even the cards from sandisk do have a non
standard behavior especially at writing data.
Although the standard says that illegal/unknown commands are ignored i
have killed some cards during debugging the driver. Some customers
returned dead cards; some can be initialized but they do return no data
and some can“t even be initialized.
Regards
Rolf F.