diff mbox

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

Message ID 1455769928-9103-1-git-send-email-vagrant@debian.org
State RFC
Delegated to: Simon Glass
Headers show

Commit Message

Vagrant Cascadian Feb. 18, 2016, 4:32 a.m. UTC
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(-)

Comments

Simon Glass Feb. 18, 2016, 4:38 a.m. UTC | #1
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
>
diff mbox

Patch

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>;