collapseos/blk/430
Virgil Dupras 124da6adec Move SD Card subsystem outside of RC2014 recipe and add protocols
Although the SPI Relay driver is RC2014-specific, the SD Card driver
is generic enough to be a subsystem. That's the second subsystem we
add and this warrants, I think, the formalization of a new concept:
protocols.
2020-08-16 14:30:33 -04:00

17 lines
743 B
Plaintext

: _err (spid) ABORT" SDerr" ;
( Tight definition ahead, pre-comment.
Initialize a SD card. This should be called at least 1ms
after the powering up of the card. We begin by waking up the
SD card. After power up, a SD card has to receive at least
74 dummy clocks with CS and DI high. We send 80.
Then send cmd0 for a maximum of 10 times, success is when
we get 0x01. Then comes the CMD8. We send it with a 0x01aa
argument and expect a 0x01aa argument back, along with a
0x01 R1 response. After that, we need to repeatedly run
CMD55+CMD41 (0x40000000) until the card goes out of idle
mode, that is, when it stops sending us 0x01 response and
send us 0x00 instead. Any other response means that
initialization failed. )