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
Question Hardware issues with Rock64 grobbs 11 1,862 07-24-2021, 10:23 AM
Last Post: robinkyle11
  Trustzone support for Rock64 capablegh 1 143 07-17-2021, 10:15 AM
Last Post: capablegh
  Python GPIO Library for the Rock64 (R64.GPIO) Leapo 37 39,616 07-02-2021, 03:20 PM
Last Post: klausfelix
  rock64, compile problems "illegal instruction", "memory fault" -> ddr_333Mhz? klausfelix 0 136 07-02-2021, 03:13 PM
Last Post: klausfelix
Information Serial Console for the Rock64 MarkHaysHarris777 33 31,361 06-24-2021, 12:24 PM
Last Post: mikeklien
  lost eletronic component rock64 marvin1986 1 377 06-01-2021, 06:27 PM
Last Post: 8bit
Shocked Rock64 - Reboots after few minutes addezai 2 524 04-22-2021, 07:03 PM
Last Post: addezai
  Rock64 Long Term stability ramprasad 4 2,045 03-16-2021, 07:23 PM
Last Post: Rocklobster
  Rock64 No Audio - Solved wbecks 11 15,711 03-15-2021, 03:15 PM
Last Post: lowry
  Safest way to send shutdown signal to headless Rock64 SMB server? bmurphr1 3 1,272 03-14-2021, 06:01 PM
Last Post: clach04

Forum Jump:


Users browsing this thread: 1 Guest(s)