MMC Subsystem Test ################## This test is designed to verify the MMC protocol stack implementation, and run stress tests to verify large data transfers succeed using the subsystem. Due to the differences between underlying SD host controller drivers, this test also serves as a complete test for the SDHC driver implementation in use. It requires an SD card be connected to the board to pass, and will perform destructive I/O on the card, wiping any data present. The test has the following phases: * Init test: verify the SD host controller can detect card presence, and test the initialization flow of the MMC subsystem to verify that the stack can correctly initialize an SD card. * IOCTL test: verify the SD subsystem correctly implements IOCTL calls required for block devices in Zephyr. * Read test: verify that single block reads work, followed by multiple block reads. Ensure the subsystem will reject reads beyond the end of the card's stated size. * Write test: verify that single block writes work, followed by multiple block writes. Ensure the subsystem will reject writes beyond the end of the card's stated size. * R/W test: write data to the MMC card, and verify that it is able to be read back without error. Perform this R/W combination at several sector locations across the MMC card.