RFC/BUG Workaround regression with "mkimage -T rksd".
PATCH 1/1 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 at ff930000' cannot allocate frame buffer memory -ensure the device is set up before relocation Error binding driver 'rk_vop': -28
Video device 'vop at 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.
---
arch/arm/dts/rk3288.dtsi | 1 - 1 file changed, 1 deletion(-)
arch/arm/dts/rk3288.dtsi +0 -1
@@ -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>;
Signature · 1 line
2.1.4
PATCH 1/1 RFC/BUG Workaround regression with "mkimage -T rksd".
Hi,
Quoted 4 lines · Vagrant Cascadian
While this patch allows "mkimage -T rksd" to work, boot is still broken in other ways, so something more needs to be fixed.
Quoted 8 lines
Partially Reverts "rockchip: jerry: Enable EDP and HDMI video output"
This partiall reverts commit
74336f7daa4b1a45d04ddc9ef05737af54ae4836.For some reason, the change made to the
rk3288.dtsibroke "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
Quoted 13 lines
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: 00000000Normally, mkimage -T rksd should generate an image like this:
mkimage -l u-boot-spl-dtb.rksd
GP Header: Size3b8cdcfcLoadAddrbe9f9d51
Quoted 8 lines
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 GiBVideo device 'vop at
ff930000' cannot allocate frame buffer memory -ensure
the device is set up before relocation
Quoted 2 lines
Error binding driver '
rk_vop': -28
Video device 'vop atff940000' cannot allocate frame buffer memory -ensure
the device is set up before relocation
Quoted 6 lines
Error binding driver '
rk_vop': -28
Some drivers failed to bind
initcall sequence7ffb0a10failed at call00109f9b(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
Quoted 22 lines
Signed-off-by Vagrant Cascadian <[email protected]>---
arch/arm/dts/rk3288.dtsi | 1 - 1 file changed, 1 deletion(-)arch/arm/dts/rk3288.dtsi +0
-2@@ -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