When the host is powered on, it puts all the card devices in the card recognition mode and completes the operations such as setting the effective operation voltage range, card recognition and the relative address of the Request Card.
1. Send the instruction limit 0 so that the card device is in the idle status;
2. send command route 8. If the card device has response, it indicates that the card is sd2.0 or above;
3. Send command serial 55 + acmd41, which is used to detect whether the operating voltage of the card device meets the requirements of the host;
Before sending commands such as acmd41, you need to send the limit 55 command. In sdio, The acmd41 command is replaced by limit 5.
4. Send the command 201711 to convert the operating voltage to 1.8 V;
5. Send the command cmd2 to obtain the CIA;
6. Send the command cmd3 to obtain the RCA (relative card address)
SD initialization Analysis
When the system is powered on, the SDI controller scans all the devices on the bus and initializes the devices mounted on the bus. Scanning and initialization are completed by the mmc_scan function. The following is the initialization flowchart of the Linux Driver (thanks to the Linkin diagram ).
The initialization processes of sdio, SD, and MMC are slightly different and are backward compatible.