Dear community.
We have a problem about the EMMC Write Protection for specific segments。
We coded the program according to the JESD84-B45(emmc 4.5).This process is shown in the following diagram.But we found that the return value of the CMD31(SEND_WR_PROTECT_TYPE) was always not correct, and after executing this code,we could still write this block, so we thought the block was unlocked. And we found that the register was set correctly(US_PERM_WP_DIS and US_PWR_WP_EN), and the CMD28(SET_WR_PROT) was transferred correctly whose response was also OK.
So would you know the reason why we were failed?Or can you offer us some suggests or some code examples?
Thanks very much!.
Best.
wangwang.wang
Hi wangwang
cmd31 marked as "reserved" in Table 67-5. Commands for MMC/SD/SDIO Cards
i.MX6DQ Reference Manual
http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6DQRM.pdf
In general one can try to narrow down if this is caused by emmc or i.mx by
testing emmc on another processor or trying brand new card.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
But the function of CMD31 is to verify whether Write Protection is successful.Even if we didn't use CMD31, we could still write this block.
you can try to narrow down if this is caused by emmc or i.mx by
testing emmc on another processor or trying brand new card.