[U-Boot] rockchip: rk3288: Possible regression in sdram setup

Romain Perier romain.perier at collabora.com
Fri Jan 6 11:28:49 CET 2017


Hello,

I have a strange behaviour with the SPL on rk3288.

When I build u-boot-rockchip master for the rock2 (rock2_defconfig), I 
can easily start u-boot SPL and u-boot from an sdcard (the emmc boot 
partition is erased so my board starts in maskrom mode by default) 
without any issues.


Now, I load uboot SPL and uboot over usb:

- I power up the board

- I generate an image for the bootrom:

# tools/mkimage -n rk3288 -T rkimage -d spl/u-boot-spl-dtb.bin out

- I uploaded this image via usb to the board

# cat out | openssl rc4 -K 7c4e0304550509072d2c7b38170d1711 | 
../tools/rkflashtool/rkflashtool l

I get no output from the SPL. I have investigated and found that it is 
caused by sdram_rk3288.c: sdram_init(). More especially by the function 
phy_pctrl_reset(). I enabled EARLY_UART and added 2 printascii() in this 
function. This functions hangs in the second for loop. I hacked this 
function locally, I reduce the number of iterations from 4 to 3 then I 
added 2 uart outputs to this function and "OH!":   it works, I get the 
following output:

pctrl_reset:for
pctrl_reset:end for
pctrl_reset:for
pctrl_reset:end for

U-Boot SPL 2016.11-08675-ga4ae4ddda3-dirty (Jan 06 2017 - 10:35:41)



Now, if I remove my printascii() functions completly, it's no longer 
working. Which suggests that it might have something to do with busy 
wait delays... (I could be wrong)

 From the sdram setup point of view, I don't see a real difference 
between an SPL loaded from sdcard and an SPL loaded via usb.

Rockchip guys: Would you have an idea about the problem ?


Thanks,

Regards,

Romain



More information about the U-Boot mailing list