[U-Boot] [PATCH] RFC/BUG Workaround regression with "mkimage -T rksd".

While this patch allows "mkimage -T rksd" to work, boot is still broken in other ways, so something more needs to be fixed.
Partially Reverts "rockchip: jerry: Enable EDP and HDMI video output"
This partiall reverts commit 74336f7daa4b1a45d04ddc9ef05737af54ae4836.
For some reason, the change made to the rk3288.dtsi broke "mkimage -T rksd", which resulted in a different image type that fails to boot:
$ ./tools/mkimage -T rksd -n rk3288 -d spl/u-boot-spl-dtb.bin u-boot-spl-dtb.rksd Warning: SPL image is too large (size 0x80ec) and will not boot $ ./tools/mkimage -l u-boot-spl-dtb.rksd Image Type: MVEBU Boot from (null) Image Image version:0 Data Size: -4 Bytes = 4194304.00 kB = 4096.00 MB Load Address: 00000000 Entry Point: 00000000
Normally, mkimage -T rksd should generate an image like this:
mkimage -l u-boot-spl-dtb.rksd GP Header: Size 3b8cdcfc LoadAddr be9f9d51
However, booting with the "fixed" .rksd image still fails, probably because of issues in the device-tree:
U-Boot 2016.03-rc2 (Feb 18 2016 - 04:08:20 +0000)
Model: Firefly-RK3288 DRAM: 2 GiB Video device 'vop@ff930000' cannot allocate frame buffer memory -ensure the device is set up before relocation Error binding driver 'rk_vop': -28 Video device 'vop@ff940000' cannot allocate frame buffer memory -ensure the device is set up before relocation Error binding driver 'rk_vop': -28 Some drivers failed to bind initcall sequence 7ffb0a10 failed at call 00109f9b (err=-28)
Hopefully a more complete fix will be obvious to someone, or there is a better way to generate boot images for firefly-rk3288.
Signed-off-by: Vagrant Cascadian vagrant@debian.org ---
arch/arm/dts/rk3288.dtsi | 1 - 1 file changed, 1 deletion(-)
diff --git a/arch/arm/dts/rk3288.dtsi b/arch/arm/dts/rk3288.dtsi index e51c75c..e2a65be 100644 --- a/arch/arm/dts/rk3288.dtsi +++ b/arch/arm/dts/rk3288.dtsi @@ -707,7 +707,6 @@ iommus = <&vopl_mmu>; power-domains = <&power RK3288_PD_VIO>; status = "disabled"; - u-boot,dm-pre-reloc; vopl_out: port { #address-cells = <1>; #size-cells = <0>;

Hi,
On Feb 17, 2016 21:32, "Vagrant Cascadian" vagrant@debian.org wrote:
While this patch allows "mkimage -T rksd" to work, boot is still broken in other ways, so something more needs to be fixed.
Partially Reverts "rockchip: jerry: Enable EDP and HDMI video output" This partiall reverts commit 74336f7daa4b1a45d04ddc9ef05737af54ae4836.
For some reason, the change made to the rk3288.dtsi broke "mkimage -T rksd", which resulted in a different image type that fails to boot:
$ ./tools/mkimage -T rksd -n rk3288 -d spl/u-boot-spl-dtb.bin
u-boot-spl-dtb.rksd
Warning: SPL image is too large (size 0x80ec) and will not boot $ ./tools/mkimage -l u-boot-spl-dtb.rksd Image Type: MVEBU Boot from (null) Image Image version:0 Data Size: -4 Bytes = 4194304.00 kB = 4096.00 MB Load Address: 00000000 Entry Point: 00000000
Normally, mkimage -T rksd should generate an image like this:
mkimage -l u-boot-spl-dtb.rksd GP Header: Size 3b8cdcfc LoadAddr be9f9d51
However, booting with the "fixed" .rksd image still fails, probably because of issues in the device-tree:
U-Boot 2016.03-rc2 (Feb 18 2016 - 04:08:20 +0000)
Model: Firefly-RK3288 DRAM: 2 GiB Video device 'vop@ff930000' cannot allocate frame buffer memory -ensure
the device is set up before relocation
Error binding driver 'rk_vop': -28 Video device 'vop@ff940000' cannot allocate frame buffer memory -ensure
the device is set up before relocation
Error binding driver 'rk_vop': -28 Some drivers failed to bind initcall sequence 7ffb0a10 failed at call 00109f9b (err=-28)
Hopefully a more complete fix will be obvious to someone, or there is a better way to generate boot images for firefly-rk3288.
Most likely this is just that the SPL image size is to large. Unfortunately rockchip has a hard 32KB limit. We need to cut things down a bit.
Regards, Simon
Signed-off-by: Vagrant Cascadian vagrant@debian.org
arch/arm/dts/rk3288.dtsi | 1 - 1 file changed, 1 deletion(-)
diff --git a/arch/arm/dts/rk3288.dtsi b/arch/arm/dts/rk3288.dtsi index e51c75c..e2a65be 100644 --- a/arch/arm/dts/rk3288.dtsi +++ b/arch/arm/dts/rk3288.dtsi @@ -707,7 +707,6 @@ iommus = <&vopl_mmu>; power-domains = <&power RK3288_PD_VIO>; status = "disabled";
u-boot,dm-pre-reloc; vopl_out: port { #address-cells = <1>; #size-cells = <0>;
-- 2.1.4
participants (2)
-
Simon Glass
-
Vagrant Cascadian