Rock64 does not boot - SPI problem [resolved]
#1
Hi everybody,

I need some help with my rock64 - it does not boot up. I purchased it second hand, the previous owner said that since he tried to re-flash the SPI it does not come up again. 

I attached a serial console to watch the boot process and now I‘m stuck. Here are the boot messages (appearing in an eternal loop):

Resetting CPU ...

DDR version 1.06 20170424
In
SRX
LPDDR3
786MHz
Bus Width=32 Col=11 Bank=8 Row=15/15 CS=2 Die Bus-Width=32 Size=4096MB
ddrconfig:7
OUT

U-Boot SPL 2017.09-ga0a2b48 (Feb 19 2018 - 18:43:53)
setup_ddr_param  1
booted from SPI flash
Trying to boot from SPI
"Synchronous Abort" handler, esr 0x02000000
ELR:     200000
LR:      1890
x 0: 0000000000400000 x 1: 0000000000000000
x 2: 0000000000200000 x 3: 0000000000000180
x 4: 0000000000000002 x 5: 000000000000ace4
x 6: 000000000000003b x 7: 00000000ff190000
x 8: 0000000000000b8c x 9: 000000002ed96880
x10: 00000000005ffcac x11: 000000000000dc98
x12: 0000000000000b67 x13: 0000000000000b90
x14: 00000000005ffd0c x15: 000000000000dc98
x16: 0000000000000000 x17: 0000000000000000
x18: 00000000005ffea0 x19: 000000000000d498
x20: 000000000000d480 x21: 0000000000000000
x22: 00000000005ffe70 x23: 00000000005ffe58
x24: 000000000000b50b x25: 000000000000b4f3
x26: 000000000000d000 x27: 00000000deadbeef
x28: 0000000000000430 x29: 00000000005ffde0

Resetting CPU ...

...

All attempts of erasing or re-flashing the SPI as described here do not work. The rock64 does not seem to come to the point where it would be able to read from the micro sd card. 

Does anybody have a hint for me? Do I need a eMMC card to boot from? Or are there ways of erasing the SPI flash memory through the GPIO pins?

Any help is greatly appreciated! Thanks!
#2
Oh dear, sounds like you are in a pickle...

AFAIK, the SPI has been flashed with some form of bootloader, and you aren't booting from eMMC, you won't be able to boot from a SD card, the boot order is eMMC -> SPI Flash -> SD -> USB. As far as erasing from GPIO, I'm not sure... I'm guessing it's possible if the SPI Flash is sharing the common SPI pins. Path of least resistance will be eMMC + a USB/eMMC adapter. I'll write a SD card image for rock64 and double check tomorrow though...
#3
(03-21-2018, 06:04 AM)pfeerick Wrote: Oh dear, sounds like you are in a pickle...

AFAIK, the SPI has been flashed with some form of bootloader, and you aren't booting from eMMC, you won't be able to boot from a SD card, the boot order is eMMC -> SPI Flash -> SD -> USB. As far as erasing from GPIO, I'm not sure... I'm guessing it's possible if the SPI Flash is sharing the common SPI pins. Path of least resistance will be eMMC + a USB/eMMC adapter. I'll write a SD card image for rock64 and double check tomorrow though...

I have no issues booting from SD with uboot on SPI. Could that be because the uboot on SPI boots the system on the SD? Doing it this very moment testing OMV 4, so I know it works. 

As for OPs pickle, I guess lifting one leg of the SPI chip would be a hardware solution - it can always be resoldered.
You can find me on IRC, Discord and Twitter


#4
(03-21-2018, 06:34 AM)Luke Wrote:
(03-21-2018, 06:04 AM)pfeerick Wrote: Oh dear, sounds like you are in a pickle...

AFAIK, the SPI has been flashed with some form of bootloader, and you aren't booting from eMMC, you won't be able to boot from a SD card, the boot order is eMMC -> SPI Flash -> SD -> USB. As far as erasing from GPIO, I'm not sure... I'm guessing it's possible if the SPI Flash is sharing the common SPI pins. Path of least resistance will be eMMC + a USB/eMMC adapter. I'll write a SD card image for rock64 and double check tomorrow though...

I have no issues booting from SD with uboot on SPI. Could that be because the uboot on SPI boots the system on the SD? Doing it this very moment testing OMV 4, so I know it works. 

As for OPs pickle, I guess lifting one leg of the SPI chip would be a hardware solution - it can always be resoldered.

Thank you all for your help and suggestions! As for lifting legs of the SPI: that would definitely far beyond my capabilities! Wink  Maybe shorting some of the pins during power-up could be a workaround?

But - as far as I understand the situation, getting and using an eMMC card would be the easiest way of solving this, right?
#5
The control terminal of SPI-FLASH is displayed at 40pin(Pi-2_BUS).
Just as eMMC could be temporarily disabled with jumper SW,
By dropping 21pin(GPIO3_A2: SPI_RXD_M2) to GND.
It is possible to obtain the effect of temporarily disabling SPI.

You can boot from microSD using this technique.

If you have an environment that can use serial console
After that, you can take the same measures as eMMC recovery

--- Regarding the subsequent matters,
many things have already been written in this community ---
For example)
Stop at the u-boot prompt temporarily, then remove the jumper and start up
....
#6
(03-21-2018, 08:39 AM)t4_4t Wrote: The control terminal of SPI-FLASH is displayed at 40pin(Pi-2_BUS).
Just as eMMC could be temporarily disabled with jumper SW,
By dropping 21pin(GPIO3_A2: SPI_RXD_M2) to GND.
It is possible to obtain the effect of temporarily disabling SPI.

You can boot from microSD using this technique.

(...)
That sounds like the perfect advice - thanks a lot! I'll try that this evening. Cheers!
#7
IT WORKED! THANK YOU GUYS SO MUCH!!!  Smile

Indeed, shorting gpio pins 20 and 21 during start-up disabled the SPI flash, so I could manage to boot from mirco sd - which I prepared with ayufan's image for erasing the SPI flash. Only tricky thing was to find the right moment on which I had to stop shorting pins 20 & 21, so that the erase script could do it's work. 

But now everything is fine and my rock64 boots from sd card like a charm. Yay! 

Again: thank you for your quick and qualified help! This community is awesome! Big Grin 

...and now - I can start fiddling around with my sbc...  Cool
#8
(03-21-2018, 06:34 AM)Luke Wrote: I have no issues booting from SD with uboot on SPI. Could that be because the uboot on SPI boots the system on the SD? Doing it this very moment testing OMV 4, so I know it works. 

As for OPs pickle, I guess lifting one leg of the SPI chip would be a hardware solution - it can always be resoldered.

That's correct Luke. the boot order of the rock64 is such that if you have put a bootloader on the SPI, then for it to then boot from the SD card it needs to be able pass control over to the SD card. So if the uboot on the SPI is corrupt, it won't continue onto the SD card. And I didn't want to mention lifting legs of the SPI just yet... that's just tempting fate! Wink Thankfully the SPI Flash is on the RPi SPI header pins, so as t4_4t pointed out, you can simply suppress it's responses to commands !


Possibly Related Threads…
Thread Author Replies Views Last Post
  Rock64 No Audio @ Debian 12 dmitrymyadzelets 2 1,115 04-08-2024, 06:47 AM
Last Post: dmitrymyadzelets
  OpenWRT on the Rock64 CanadianBacon 14 10,791 04-03-2024, 08:48 AM
Last Post: helpmerock
  Rock64 bricked shawwwn 7 7,028 03-17-2024, 12:22 PM
Last Post: dmitrymyadzelets
  Rock64 won't boot luminosity7 10 6,023 03-16-2024, 08:33 AM
Last Post: dmitrymyadzelets
  Rock64 doesn't boot dstallmo 1 742 03-16-2024, 08:29 AM
Last Post: dmitrymyadzelets
  Boot from SPI first mjnck 1 1,935 02-29-2024, 02:12 PM
Last Post: reukiodo
  How well does Rock64 deal with HDR and Atmos on Kodi? drvlikhell 3 2,710 04-29-2023, 04:24 AM
Last Post: newestssd
  Rock64 board not working, no HDMI no Ethernet. EDited 3 4,286 01-17-2023, 02:31 PM
Last Post: Flagtrax
  ROCK64 v3 can it boot from USB? Tsagualsa 4 2,971 11-29-2022, 11:31 AM
Last Post: Macgyver
  rock64 v3 spiflash Macgyver 0 1,059 11-28-2022, 02:18 PM
Last Post: Macgyver

Forum Jump:


Users browsing this thread: 3 Guest(s)