
Hi Kever,
With regards to the SPL size issue, I believe that the CONFIG_ROCKCHIP_SPL_BACK_TO_BROM option should work with all of the rk3288 boards. So if your patch causes unbootable SPL's because they're too big, then you should probably enable the BROM macro (and disable OF_PLATDATA).
Firefly uses a different method to shrink the SPL which causes a bunch of changes throughout the codebase. This patch would need to be applied to the OF_PLATDATA sections for firefly to work.
Vagrant,
An alternative for you might be to disable OF_PLATDATA for firefly and enable BACK_TO_BROM. You may not be getting any output because you didn't modify your burning process. See the README.rockchip section on CONFIG_ROCKCHIP_SPL_BACK_TO_BROM for details, but you have to dd your images slightly differently with this macro enabled.
Also, you might get more info from Ziyuan's DEBUG advice.
Sandy Patterson
On Sun, Sep 11, 2016 at 10:01 PM, Ziyuan Xu xzy.xu@rock-chips.com wrote:
hi Vagrant,
On 2016年09月11日 03:01, Vagrant Cascadian wrote:
On 2016-09-10, Ziyuan Xu wrote:
On 2016年09月09日 03:28, Vagrant Cascadian wrote:
On 2016-09-08, Kever Yang wrote:
The rk3288 spl size is very close to 32KB while the rk3288 bootrom has the limitation of maximum size of SPL is 32KB. After apply this patch, the SPL size will exceed 32KB if we do not enable macro CONFIG_ROCKCHIP_SPL_BACK_TO_BROM.
With CONFIG_ROCKCHIP_SPL_BACK_TO_BROM=y, it fails to boot with no
output on the console.
This patch has test with 2GB DDR3 and 2GB/4GB LPDDR3.
Thanks for the patch!
Unfortunately, fails to build the firefly-rk3288 target, using arm-linux-gnueabihf-gcc (Debian 6.1.1-9) 6.1.1 20160705, applied to u-boot master 01c5075506afcb7a74e0db8600af8979f45881b5:
CC spl/arch/arm/mach-rockchip/rk3288/sdram_rk3288.o
arch/arm/mach-rockchip/rk3288/sdram_rk3288.c: In function 'conv_of_platdata': arch/arm/mach-rockchip/rk3288/sdram_rk3288.c:1042:30: error: 'struct dtd_rockchip_rk3288_dmc' has no member named 'rockchip_num_channels'; did you mean 'rockchip_noc'? plat->num_channels = of_plat->rockchip_num_channels;
plat->num_channels = of_plat->rockchip_num_channels;
plat->num_channels = 2;
firefly-rk3288 deploy CONFIG_OF_PLATDATA, driver read platform data from include/generated/dt-structs.h which is generated according to dts file. Please try above change.
With this change, it builds, but it hangs at boot:
U-Boot SPL 2016.09-rc2+dfsg1-2~20160910~6 (Sep 10 2016 - 18:51:28) Trying to boot from MMC1
U-Boot 2016.09-rc2+dfsg1-2~20160910~6 (Sep 10 2016 - 18:51:28 +0000)
Model: Firefly-RK3288 DRAM:
Could you help to add DEBUG macro in common.h like: #indef CONFIG_SPL_BUILD #define DEBUG #endif
So that we can figure out where it is.
This is on a firefly with 2GB of ram. I also have one with 4GB of ram, hence my interest in this patch series!
live well, vagrant