hello,
I'm working on a product based on s32g platform using bsp32-release.
I find that the rpmb read/ write function doesn't work in uboot phase.
after adding some logs in "drivers/mmc/fsl_esdhc_imx.c"
I find that emmc register status is incorrect after try to read/write rpmb storage: (line 577)
563 /* Wait until all of the blocks are transferred */
564 if (data) {
565 #ifdef CONFIG_SYS_FSL_ESDHC_USE_PIO
566 esdhc_pio_read_write(priv, data);
567 #else
568 flags = DATA_COMPLETE;
569 if ((cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK) ||
570 (cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200)) {
571 flags = IRQSTAT_BRR;
572 }
573
574 do {
575 irqstat = esdhc_read32(®s->irqstat);
576
577 if (irqstat & IRQSTAT_DTOE) {
/* error occurs in this condition check */
578 err = -ETIMEDOUT;
579 goto out;
580 }
581
582 if (irqstat & DATA_ERR) {
583 err = -ECOMM;
584 goto out;
585 }
586 } while ((irqstat & flags) != flags);
if I don't try to read/write rpmb, the basic functions of emmc are OK.
once I got the rpmb error, basic functions of emmc turns to be unavaliable.(ex: read write emmc)
please help to check, thanks a lot!