1MMC Subsystem Test
2##################
3
4This test is designed to verify the MMC protocol stack implementation,
5and run stress tests to verify large data transfers succeed using the
6subsystem. Due to the differences between underlying SD host controller drivers,
7this test also serves as a complete test for the SDHC driver implementation in
8use. It requires an SD card be connected to the board to pass, and will
9perform destructive I/O on the card, wiping any data present. The test has
10the following phases:
11
12* Init test: verify the SD host controller can detect card presence, and
13  test the initialization flow of the MMC subsystem to verify that the stack
14  can correctly initialize an SD card.
15
16* IOCTL test: verify the SD subsystem correctly implements IOCTL calls required
17  for block devices in Zephyr.
18
19* Read test: verify that single block reads work, followed by multiple
20  block reads. Ensure the subsystem will reject reads beyond the end of
21  the card's stated size.
22
23* Write test: verify that single block writes work, followed by multiple
24  block writes. Ensure the subsystem will reject writes beyond the end of
25  the card's stated size.
26
27* R/W test: write data to the MMC card, and verify that it is able
28  to be read back without error. Perform this R/W combination at several
29  sector locations across the MMC card.
30