[U-Boot] Rockchip RV1108 eMMC initialization fail

Hi, I am trying to use eMMC as a storage medium for my custom board based on Rockchip RV1108.
I have already made the changes as described in this thread:
http://u-boot.10912.n7.nabble.com/Rockchip-RV1108-eMMC-support-not-working-t...
about using eMMC with RV1108.
When U-boot starts, and I try to access the eMMC, here is what I get:
=> mmc info 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 0x003F8000 CMD_SEND:1 ARG 0x40300000 MMC_RSP_R3,4 0x003F8000 CMD_SEND:0 ARG 0x00000000 MMC_RSP_NONE CMD_SEND:1 ARG 0x40300000 MMC_RSP_R3,4 0x003F8000 CMD_SEND:1 ARG 0x40300000 MMC_RSP_R3,4 0x003F8000 CMD_SEND:1 ARG 0x40300000 MMC_RSP_R3,4 0x003F8000 CMD_SEND:1 ARG 0x40300000 MMC_RSP_R3,4 0x003F8000 CMD_SEND:1 ARG 0x40300000 MMC_RSP_R3,4 0x003F8000 CMD_SEND:1 ARG 0x40300000 MMC_RSP_R3,4 0x003F8000 CMD_SEND:1 ARG 0x40300000 MMC_RSP_R3,4 0x003F8000 CMD_SEND:1 ARG 0x40300000 MMC_RSP_R3,4 0x003F8000 CMD_SEND:1 ARG 0x40300000 MMC_RSP_R3,4 0x003F8000 CMD_SEND:1 ARG 0x40300000 MMC_RSP_R3,4 0xC03F8000 CMD_SEND:2 ARG 0x00000000 MMC_RSP_R2 0x07FFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF
DUMPING DATA 000 - 07 FF FF FF 004 - FF FF FF FF 008 - FF FF FF FF 012 - FF FF FF FF CMD_SEND:3 ARG 0x00010000 RET -110
So, as the last line says, I get Linux error code -110, which means "Connection timed out".
Here is info about the card I am using:
Flash Info: Manufacturer: SAMSUNG,value=00 Flash Size: 7457MB Block Size: 512KB Page Size: 2KB ECC Bits: 0 Access Time: 40 Flash CS: Flash<0>
I have also tried with different SD cards on Rockchip MINI EVB RV1108 board, but I get the same error.
I get the same error with U-boot from Rockchip, and mainline U-boot from Denx.
Any ideas?
Thanks, Alex
-- Sent from: http://u-boot.10912.n7.nabble.com/

Hello,
On Mon, Nov 12, 2018 at 10:26 AM alex94 aleksandar.nedelkovski@vorteksed.com.mk wrote:
I am trying to use eMMC as a storage medium for my custom board based on Rockchip RV1108.
I have already made the changes as described in this thread:
http://u-boot.10912.n7.nabble.com/Rockchip-RV1108-eMMC-support-not-working-t...
about using eMMC with RV1108.
When U-boot starts, and I try to access the eMMC, here is what I get:
Did you try my patchset to add it?
https://patchwork.ozlabs.org/project/uboot/list/?series=72834
Please give it a try.

I tried it, but the same error still occurs :/
-- Sent from: http://u-boot.10912.n7.nabble.com/

On 11/12/2018 10:23 AM, alex94 wrote:
Hi, I am trying to use eMMC as a storage medium for my custom board based on Rockchip RV1108.
I have already made the changes as described in this thread:
http://u-boot.10912.n7.nabble.com/Rockchip-RV1108-eMMC-support-not-working-t...
about using eMMC with RV1108.
When U-boot starts, and I try to access the eMMC, here is what I get:
=> mmc info CMD_SEND:0 ARG 0x00000000 MMC_RSP_NONE CMD_SEND:8 ARG 0x000001AA RET -110 CMD_SEND:55 ARG 0x00000000 RET -110
How does the log look for an SD ? I suspect it's probably clock or pinmux that's broken.

The log for SD card is the same like the one I posted, when using mainline u-boot from Denx. When using u-boot from rockchip, the log is slightly different, but it is the same error. I will put that log here too as soon as I can.
-- Sent from: http://u-boot.10912.n7.nabble.com/

On 11/12/2018 04:25 PM, alex94 wrote:
The log for SD card is the same like the one I posted, when using mainline u-boot from Denx. When using u-boot from rockchip, the log is slightly different, but it is the same error. I will put that log here too as soon as I can.
Command 8 fails, which is the first command to which the card must respond. Thus, something is fundamentally wrong with the communication with the card.

I should also mention that, I put U-boot itself into SD card/eMMC, so when I start the board, it gets loaded into RAM from SD card/eMMC. But after it loads and I can interact with it, I cannot communicate with the memory card(using the 'mmc' set of commands).
I have managed to find a workaround on Rockchip MINI EVB RV1108 board, putting the kernel image into USB, which I have access to, through the 'usb' commands. After the kernel starts, the SD card gets recognized by the kernel, and I can load the root filesystem from the SD card. So the problem is, after U-boot starts, I cannot use the SD card to load the kernel.
But on my custom board, I dont have USB, and I have to use the eMMC all the way through.
Also, here is the U-boot log when it starts, so under the MMC field, my eMMC gets recognized:
DDR Version V1.03 20180118 set vdd core 1.15v In 600MHz DDR3 Bus Width=16 Col=10 Bank=8 Row=13 CS=1 Die Bus-Width=16 Size=128MB mach:2 OUT
U-Boot 2018.11-rc3-00062-g26cc40d8c4-dirty (Nov 12 2018 - 11:43:08 +0100)
Model: Rockchip RV1108 Evaluation board DRAM: 128 MiB APLL: 600000000 DPLL:1200000000 GPLL:1188000000 ACLK_BUS: 148500000 ACLK_PERI:148500000 HCLK_PERI:148500000 PCLK_PERI:74250000 MMC: dwmmc@30110000: 0 In: serial@10210000 Out: serial@10210000 Err: serial@10210000 Model: Rockchip RV1108 Evaluation board Hit any key to stop autoboot: 0 =>
I appreciate a lot for the help till now, Regards, Alex
-- Sent from: http://u-boot.10912.n7.nabble.com/

On Mon, Nov 12, 2018 at 1:25 PM alex94 aleksandar.nedelkovski@vorteksed.com.mk wrote:
The log for SD card is the same like the one I posted, when using mainline u-boot from Denx. When using u-boot from rockchip, the log is slightly different, but it is the same error. I will put that log here too as soon as I can.
You might have PIN conflicts. Try to disable the SPI NOR and GMAC to start.

I tried that, but the same error happens.
I saw that here in the first post:
http://u-boot.10912.n7.nabble.com/Rockchip-RV1108-eMMC-support-not-working-t...
in the U-boot log, GPLL is 384000000, where in my log is 1188000000.
Also, in the same post from above, what kind of MMC card is used?
And here is the U-boot log, when I enable debug in include/common.h just to put more information.
DDR Version V1.03 20180118 set vdd core 1.15v In 600MHz DDR3 Bus Width=16 Col=10 Bank=8 Row=13 CS=1 Die Bus-Width=16 Size=128MB mach:2 OUT uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'root_driver' - not found uclass_find_device_by_seq: 0 2 - 2 -1 'serial@10210000' - not found ofnode_read_u32: reg-offset: (not found) ofnode_read_u32: reg-shift: 0x2 (2) ofnode_read_u32: clock-frequency: 0x16e3600 (24000000)
U-Boot 2018.11-rc3-00069-g72b191da5a-dirty (Nov 13 2018 - 16:02:21 +0100)
Model: Rockchip RV1108 Evaluation board DRAM: 128 MiB uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'root_driver' - not found ofnode_read_u32_array: ranges: ofnode_read_string: regulator-name: vcc5v0_otg uclass_find_device_by_seq: 0 2 - 2 -1 'serial@10210000' - 1 -1 'serial@10220000' - 0 -1 'serial@10230000' - not found uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'pinctrl' - not found uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'syscon@10300000' - -1 -1 'syscon@20060000' - -1 -1 'syscon@202a0000' - not found ofnode_read_u32_array: interrupts: ofnode_read_u32_array: interrupts: ofnode_read_u32_array: interrupts: ofnode_read_u32: reg-offset: (not found) ofnode_read_u32: reg-shift: 0x2 (2) uclass_find_device_by_seq: 0 -1 uclass_find_device_by_seq: 0 0 - -1 -1 'oscillator' - -1 -1 'clock-controller@20200000' - not found ofnode_read_u32_array: interrupts: APLL: 600000000 DPLL:1200000000 GPLL:1188000000 ACLK_BUS: 148500000 ACLK_PERI:148500000 HCLK_PERI:148500000 PCLK_PERI:74250000 ofnode_read_u32: clock-frequency: 0x16e3600 (24000000) MMC: uclass_find_device_by_seq: 0 0 - 0 -1 'dwmmc@30110000' - not found uclass_find_device_by_seq: 1 0 - 0 -1 'dwmmc@30110000' - found uclass_find_device_by_seq: 0 0 - 0 -1 'dwmmc@30110000' - not found ofnode_read_u32_array: interrupts: ofnode_read_u32: bus-width: 0x8 (8) ofnode_read_bool: non-removable: true ofnode_read_u32: fifo-depth: 0x100 (256) ofnode_read_bool: fifo-mode: false ofnode_read_u32_array: clock-freq-min-max: uclass_find_device_by_seq: 0 1 - 0 0 'dwmmc@30110000' - not found uclass_find_device_by_seq: 1 1 - 0 0 'dwmmc@30110000' - not found dwmmc@30110000: 0 In: serial@10210000 Out: serial@10210000 Err: serial@10210000 Model: Rockchip RV1108 Evaluation board =>
-- Sent from: http://u-boot.10912.n7.nabble.com/

On Tue, Nov 13, 2018 at 1:47 PM alex94 aleksandar.nedelkovski@vorteksed.com.mk wrote:
I tried that, but the same error happens.
I saw that here in the first post:
http://u-boot.10912.n7.nabble.com/Rockchip-RV1108-eMMC-support-not-working-t...
in the U-boot log, GPLL is 384000000, where in my log is 1188000000.
Also, in the same post from above, what kind of MMC card is used?
Our board has a very minimal dts, we removed a lot of the nodes while adding support for it. Something like this: http://termbin.com/gqyd
Give this a go and see if it helps.
-- Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9 9981-7854 Mobile: +1 (347) 903-9750
participants (3)
-
alex94
-
Marek Vasut
-
Otavio Salvador