Skip to contentSkip to conversation

rockchip: firefly-rk3288 broken - DRAM wrong?

U-Boot Andreas Färber 2 participants 4 messages Apr 3, 2016

lore
Share & tools
lore
#0 lore raw

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 at ff0f0000: 0, dwmmc at 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 at ff0c0000: 0, dwmmc at ff0f0000: 1

*** Warning - bad CRC, using default environment

In:    serial at ff690000
Out:   serial at ff690000
Err:   serial at 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

Signature · 2 lines
SUSE Linux GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Felix Imend?rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N?rnberg)
author Reviewed-by Simon Glass Tested-by Simon Glass
#1 lore raw

Am 03.04.2016 um 18:05 schrieb Andreas F?rber:

Quoted 2 lines

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.

Quoted 1 line

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 <[email protected]>
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.

[trini: Enable only when we of OF_LIBFDT, disable on kwb and
colibri_pxa270]

:040000 040000 39afb5c6a29cf0276e2feed6aa29e62830280cc3
68cf7063ac43b33f961f5fc9480025acb664fa35 M configs
:040000 040000 07ad6ac05b1bef1615fad09cedf0b6b75bca110d
4d279e0dc7a78e556f7e644ea1509fa59603b5d6 M lib

Regards,
Andreas

Signature · 2 lines
SUSE Linux GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Felix Imend?rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N?rnberg)
#2 lore raw
Quoted 16 lines

Am 03.04.2016 um 21:32 schrieb Andreas F?rber <[email protected]>:

Quoted 3 lines

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.

Quoted 1 line

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

Quoted 7 lines
Author: Alexander Graf <[email protected]>
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

#3 lore raw

Am 03.04.2016 um 21:59 schrieb Alexander Graf:

Quoted 6 lines
Quoted 6 lines

Am 03.04.2016 um 21:32 schrieb Andreas F?rber <[email protected]>:

Quoted 3 lines

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.

[...]

Quoted 11 lines
Quoted 9 lines

ed980b8c62fbe17052ec6151a68b5b0be3809485 is the first bad commit commit ed980b8c62fbe17052ec6151a68b5b0be3809485

Author: Alexander Graf <[email protected]>
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.

Quoted 1 line

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

Signature · 2 lines
SUSE Linux GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Felix Imend?rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N?rnberg)