Unstable boot on 2GB and 4GB RockPros with 2020.10
Just updated my RockPros to 2020.10-1 and noticed that boot is a bit unstable again. This time it doesn't seem to be eMMC related like my earlier findings (and mixup) with .04 and .07.
Here's what happens on failed boot, it always gets stuck on Booting using the fdt blob at 0x1f00000
U-Boot TPL 2020.10-1 (Oct 14 2020 - 10:47:37)
Channel 0: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
Channel 1: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
256B stride
lpddr4_set_rate: change freq to 400000000 mhz 0, 1
lpddr4_set_rate: change freq to 800000000 mhz 1, 0
Trying to boot from BOOTROM
Returning to boot ROM...
U-Boot SPL 2020.10-1 (Oct 14 2020 - 10:47:37 +0000)
Trying to boot from MMC2
U-Boot 2020.10-1 (Oct 14 2020 - 10:47:37 +0000) Manjaro ARM
SoC: Rockchip rk3399
Reset cause: RST
Model: Pine64 RockPro64 v2.1
DRAM: 3.9 GiB
PMIC: RK808
MMC: mmc@fe310000: 2, mmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from SPIFlash... Invalid bus 0 (err=-19)
*** Warning - spi_flash_probe_bus_cs() failed, using default environment
In: serial
Out: serial
Err: serial
Model: Pine64 RockPro64 v2.1
Net: eth0: ethernet@fe300000
starting USB...
Bus usb@fe380000: USB EHCI 1.00
Bus usb@fe3a0000: USB OHCI 1.0
Bus usb@fe3c0000: USB EHCI 1.00
Bus usb@fe3e0000: USB OHCI 1.0
Bus dwc3: usb maximum-speed not found
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@fe380000 for devices... 1 USB Device(s) found
scanning bus usb@fe3a0000 for devices... 1 USB Device(s) found
scanning bus usb@fe3c0000 for devices... 1 USB Device(s) found
scanning bus usb@fe3e0000 for devices... 1 USB Device(s) found
scanning bus dwc3 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 2 1 0
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
292 bytes read in 15 ms (18.6 KiB/s)
1:Manjaro ARM
Retrieving file: /initramfs-linux.img
8440787 bytes read in 823 ms (9.8 MiB/s)
Retrieving file: /Image
25278976 bytes read in 2431 ms (9.9 MiB/s)
append: initrd=/initramfs-linux.img earlycon=uart8250,mmio32,0xff1a0000 earlyprintk console=tty1 console=ttyS2,1500000 root=LABEL=ROOT_MNJRO rw rootwait video=eDP-1:1920x1080@60 sdhci.debug_quirks=0x2020000 loglevel=7
Retrieving file: /dtbs/rockchip/rk3399-rockpro64-v2.dtb
77035 bytes read in 36 ms (2 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
As next few lines should be
Loading Ramdisk to f171a000, end f1f26bd3 ... OK
Loading Device Tree to 00000000f1704000, end 00000000f1719cea ... OK
I'm just guessing this is RAM related. I ran some test reboot loops to get numbers on how frequently this happens. Here's result:
Round: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Fail on boot: | 1 | 11 | 64 | 9 | 6 | 28 | 5 | 7 | 1 | 5 |
So it looks somewhat random fail happening at ~14 in average, but happened once on power on and once after hard reset (reset button). Flashing 07-2 back makes it work again (over 300 reboots ok).