[U-Boot] rockchip: firefly-rk3288 broken - DRAM wrong?

Hello,
v2016.01 is the last release to boot Linux on the Firefly-RK3288 for me. On v2016.03 or master there is no output from the kernel.
This coincides with the DRAM getting misdetected as 512 MiB:
U-Boot SPL 2016.03-00634-g563d8d9 (Apr 03 2016 - 16:29:17) Trying to boot from MMC1
U-Boot 2016.03-00634-g563d8d9 (Apr 03 2016 - 16:29:17 +0200)
Model: Firefly-RK3288 DRAM: 512 MiB MMC: dwmmc@ff0f0000: 0, dwmmc@ff0c0000: 1 *** Warning - bad CRC, using default environment
stdio_add_devices: Video device failed (ret=-19) In: serial Out: serial Err: serial Net: Net Initialization Skipped No ethernet found. Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0(part 0) is current device ** No partition table - mmc 0 ** switch to partitions #0, OK mmc1 is current device Scanning mmc 1:1... Found U-Boot script /boot.scr 473 bytes read in 45 ms (9.8 KiB/s) ## Executing script at 00000000 6082320 bytes read in 559 ms (10.4 MiB/s) 38354 bytes read in 135 ms (277.3 KiB/s) 7409264 bytes read in 647 ms (10.9 MiB/s) Kernel image @ 0x2000000 [ 0x000000 - 0x5ccf10 ] ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Ramdisk to 1d369000, end 1da79e70 ... OK Loading Device Tree to 1d35c000, end 1d3685d1 ... OK
Starting kernel ...
vs.
U-Boot SPL 2016.01 (Apr 03 2016 - 16:47:26) Trying to boot from MMC
U-Boot 2016.01 (Apr 03 2016 - 16:47:26 +0200)
Model: Firefly-RK3288 DRAM: 2 GiB MMC: dwmmc@ff0c0000: 0, dwmmc@ff0f0000: 1 *** Warning - bad CRC, using default environment
In: serial@ff690000 Out: serial@ff690000 Err: serial@ff690000 Net: Net Initialization Skipped No ethernet found. Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Found U-Boot script /boot.scr 473 bytes read in 51 ms (8.8 KiB/s) ## Executing script at 00000000 6082320 bytes read in 1222 ms (4.7 MiB/s) 38354 bytes read in 155 ms (241.2 KiB/s) 7409264 bytes read in 1450 ms (4.9 MiB/s) Kernel image @ 0x2000000 [ 0x000000 - 0x5ccf10 ] ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Ramdisk to 1f8ef000, end 1ffffe70 ... OK Loading Device Tree to 1f8e2000, end 1f8ee5d1 ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x500 [...]
Any hints for speeding up bisection appreciated.
Regards, Andreas

Am 03.04.2016 um 18:05 schrieb Andreas Färber:
v2016.01 is the last release to boot Linux on the Firefly-RK3288 for me. On v2016.03 or master there is no output from the kernel.
Correction: Plain v2016.03 does work but not openSUSE's package.
This coincides with the DRAM getting misdetected as 512 MiB:
Seems to be unrelated, v2016.03 shows this wrong and boots okay.
ed980b8c62fbe17052ec6151a68b5b0be3809485 is the first bad commit commit ed980b8c62fbe17052ec6151a68b5b0be3809485 Author: Alexander Graf agraf@suse.de Date: Fri Mar 4 01:10:07 2016 +0100
efi_loader: hook up in build environment
Now that we have all the bits and pieces ready for EFI payload loading support, hook them up in Makefiles and KConfigs so that we can build.
Signed-off-by: Alexander Graf agraf@suse.de Reviewed-by: Simon Glass sjg@chromium.org Tested-by: Simon Glass sjg@chromium.org [trini: Enable only when we of OF_LIBFDT, disable on kwb and colibri_pxa270] Signed-off-by: Tom Rini trini@konsulko.com
:040000 040000 39afb5c6a29cf0276e2feed6aa29e62830280cc3 68cf7063ac43b33f961f5fc9480025acb664fa35 M configs :040000 040000 07ad6ac05b1bef1615fad09cedf0b6b75bca110d 4d279e0dc7a78e556f7e644ea1509fa59603b5d6 M lib
Regards, Andreas

Am 03.04.2016 um 21:32 schrieb Andreas Färber afaerber@suse.de:
Am 03.04.2016 um 18:05 schrieb Andreas Färber: v2016.01 is the last release to boot Linux on the Firefly-RK3288 for me. On v2016.03 or master there is no output from the kernel.
Correction: Plain v2016.03 does work but not openSUSE's package.
This coincides with the DRAM getting misdetected as 512 MiB:
Seems to be unrelated, v2016.03 shows this wrong and boots okay.
ed980b8c62fbe17052ec6151a68b5b0be3809485 is the first bad commit commit ed980b8c62fbe17052ec6151a68b5b0be3809485 Author: Alexander Graf agraf@suse.de Date: Fri Mar 4 01:10:07 2016 +0100
efi_loader: hook up in build environment
Now that we have all the bits and pieces ready for EFI payload loading support, hook them up in Makefiles and KConfigs so that we can build.
So I take it that you successfully bisected to this commit with upstream master?
In that case consider me puzzled. As quick fix you should be able to just disable CONFIG_EFI in your .config file.
As for why it breaks this particular board, I can only speculate. Maybe something gets aligned somewhere else? I'm happy to get my hands dirty with you on it tomorrow though ;).
Alex

Am 03.04.2016 um 21:59 schrieb Alexander Graf:
Am 03.04.2016 um 21:32 schrieb Andreas Färber afaerber@suse.de:
Am 03.04.2016 um 18:05 schrieb Andreas Färber: v2016.01 is the last release to boot Linux on the Firefly-RK3288 for me. On v2016.03 or master there is no output from the kernel.
Correction: Plain v2016.03 does work but not openSUSE's package.
[...]
ed980b8c62fbe17052ec6151a68b5b0be3809485 is the first bad commit commit ed980b8c62fbe17052ec6151a68b5b0be3809485 Author: Alexander Graf agraf@suse.de Date: Fri Mar 4 01:10:07 2016 +0100
efi_loader: hook up in build environment
Now that we have all the bits and pieces ready for EFI payload loading support, hook them up in Makefiles and KConfigs so that we can build.
So I take it that you successfully bisected to this commit with upstream master?
Yes. After wading through lots of v2016.01..v2016.03 commits where SPL was often too large to test, I came up with no conclusive findings. And re-testing v2016.03 suddenly worked - I assume that I forgot to initially test a self-built one without your backported patches. A git-bisect for v2016.03..563d8d93585035fa2a0b20190c1008eb625432c4 then pointed to the above mainline commit.
In that case consider me puzzled. As quick fix you should be able to just disable CONFIG_EFI in your .config file.
Confirming that master boots again when I disable CONFIG_EFI_LOADER.
On other boards such as Jetson TK1 (extlinux.conf) or Cubietruck (boot.scr) I have had no such problem with our 2016.03 based EFI-enabled package.
Regards, Andreas
participants (2)
-
Alexander Graf
-
Andreas Färber