I'm using Kinetis K27 connected to a eMMC chip, 8 bits data, VCC=3.3v and VCCQ=1.8v.
After upgrading from SDK 2.7.0 to 2.8.0 the application no longer worked, it stopped in a forever loop in MMC_SendOperationCondition.
Unless I have misunderstood something, I had to add following code to fix the problem :
status_t MMC_CardInit(mmc_card_t *card)
assert((card->hostVoltageWindowVCC != kMMC_VoltageWindowNone) &&
(card->hostVoltageWindowVCC != kMMC_VoltageWindow120));
assert(card->hostVoltageWindowVCCQ != kMMC_VoltageWindowNone);
uint32_t opcode = 0U;
// Bugfix, opcode voltage mask was never set !
case kMMC_VoltageWindows270to360 : opcode = MMC_OCR_V270TO360_MASK; break;
case kMMC_VoltageWindow170to195 : opcode = MMC_OCR_V170TO195_MASK; break;
case kMMC_VoltageWindow120 : break;
case kMMC_VoltageWindowNone : break;
Hi, Sorry for the late reply, i didn't get any notification about your query.
The device is a SanDisk iNAND 7250 supporting up to eMMC 5.1. Kinetis K27F supports eMMC 4.2/4.3 according to the ref manual.