eMMC errors on RK3588 (rock5b)

Eugen Hristev eugen.hristev at collabora.com
Thu May 25 11:23:22 CEST 2023


Hi Jonas,

I tried some basic eMMC read/write commands, and in my setup with 
rock5b, it fails at single/multiple block read/write , even if 
sometimes, the initial read works fine.

Here is some log :


=> mmc read 0x50000000 64 1
CMD_SEND:0
                 ARG                      0x00000000
                 MMC_RSP_NONE
CMD_SEND:8
                 ARG                      0x000001aa
                 RET                      -110
CMD_SEND:55
                 ARG                      0x00000000
                 RET                      -110
CMD_SEND:0
                 ARG                      0x00000000
                 MMC_RSP_NONE
CMD_SEND:1
                 ARG                      0x00000000
                 MMC_RSP_R3,4             0x40ff8080
CMD_SEND:1
                 ARG                      0x40060000
                 MMC_RSP_R3,4             0x40ff8080
CMD_SEND:1
                 ARG                      0x40060000
                 MMC_RSP_R3,4             0x40ff8080
CMD_SEND:1
                 ARG                      0x40060000
                 MMC_RSP_R3,4             0xc0ff8080
CMD_SEND:2
                 ARG                      0x00000000
                 MMC_RSP_R2               0x15010042
                                          0x4a544434
                                          0x5203d923
                                          0x738d5900

                                         DUMPING DATA
                                         000 - 15 01 00 42
                                         004 - 4a 54 44 34
                                         008 - 52 03 d9 23
                                         012 - 73 8d 59 00
CMD_SEND:3
                 ARG                      0x00010000
                 MMC_RSP_R1,5,6,7         0x00000500
CMD_SEND:9
                 ARG                      0x00010000
                 MMC_RSP_R2               0xd0270132
                                          0x0f5903ff
                                          0xf6dbffef
                                          0x8e404000

                                         DUMPING DATA
                                         000 - d0 27 01 32
                                         004 - 0f 59 03 ff
                                         008 - f6 db ff ef
                                         012 - 8e 40 40 00
CMD_SEND:7
                 ARG                      0x00010000
                 MMC_RSP_R1,5,6,7         0x00000700
CMD_SEND:8
                 ARG                      0x00000000
                 MMC_RSP_R1,5,6,7         0x00000900
CMD_SEND:6
                 ARG                      0x03b70200
                 MMC_RSP_R1b              0x00000900
CMD_SEND:13
                 ARG                      0x00010000
                 MMC_RSP_R1,5,6,7         0x00000900
CURR STATE:4
CMD_SEND:6
                 ARG                      0x03b90100
                 MMC_RSP_R1b              0x00000900
CMD_SEND:13
                 ARG                      0x00010000
                 MMC_RSP_R1,5,6,7         0x00000900
CURR STATE:4
CMD_SEND:6
                 ARG                      0x03b70600
                 MMC_RSP_R1b              0x00000900
CMD_SEND:13
                 ARG                      0x00010000
                 MMC_RSP_R1,5,6,7         0x00000900
CURR STATE:4
CMD_SEND:8
                 ARG                      0x00000000
                 MMC_RSP_R1,5,6,7         0x00000900

MMC read: dev # 0, block # 100, count 1 ... CMD_SEND:17
                 ARG                      0x00000064
                 MMC_RSP_R1,5,6,7         0x00000900
1 blocks read: OK
=> mmc write 0x50000000 64 1

MMC write: dev # 0, block # 100, count 1 ... mmc bwrite1
mmc bwrite2
CMD_SEND:17
                 ARG                      0x00000000
                 MMC_RSP_R1,5,6,7         0x00000900
CMD_SEND:18
                 ARG                      0x00000040
                 MMC_RSP_R1,5,6,7         0x00000900
CMD_SEND:12
                 ARG                      0x00000000
                 MMC_RSP_R1b              0x00000b00
CMD_SEND:18
                 ARG                      0x00000002
                 MMC_RSP_R1,5,6,7         0x00000900
CMD_SEND:12
                 ARG                      0x00000000
                 MMC_RSP_R1b              0x00000b00
mmc bwrite3
CMD_SEND:24
                 ARG                      0x00000064
                 RET                      -70
mmc write failed
0 blocks written: ERROR
=> mmc write 0x50000000 64 5

MMC write: dev # 0, block # 100, count 5 ... mmc bwrite1
mmc bwrite2
mmc bwrite3
CMD_SEND:25
                 ARG                      0x00000064
                 RET                      -70
mmc write failed
0 blocks written: ERROR
=> mmc read 0x50000000 64 5

MMC read: dev # 0, block # 100, count 5 ... CMD_SEND:18
                 ARG                      0x00000064
                 RET                      -110
0 blocks read: ERROR
=> mmc read 0x50000000 64 1

MMC read: dev # 0, block # 100, count 1 ... CMD_SEND:17
                 ARG                      0x00000064
                 RET                      -110
0 blocks read: ERROR
=>



So now after this attempt, there is a timeout when reading too.


Can you try to reproduce this on your setup as well ?

P.S. booting from eMMC works fine. When I am trying this, I am booting 
from the eMMC.

Thanks !


More information about the U-Boot mailing list