PINE64
Rock64 does not boot - SPI problem [resolved] - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: ROCK64 (https://forum.pine64.org/forumdisplay.php?fid=85)
+--- Forum: General Discussion on ROCK64 (https://forum.pine64.org/forumdisplay.php?fid=86)
+--- Thread: Rock64 does not boot - SPI problem [resolved] (/showthread.php?tid=5877)



Rock64 does not boot - SPI problem [resolved] - csharpy - 03-21-2018

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!


RE: Rock64 does not boot - SPI problem - pfeerick - 03-21-2018

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...


RE: Rock64 does not boot - SPI problem - Luke - 03-21-2018

(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.


RE: Rock64 does not boot - SPI problem - csharpy - 03-21-2018

(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?


RE: Rock64 does not boot - SPI problem - t4_4t - 03-21-2018

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
....


RE: Rock64 does not boot - SPI problem - csharpy - 03-21-2018

(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!


RE: Rock64 does not boot - SPI problem - csharpy - 03-21-2018

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


RE: Rock64 does not boot - SPI problem - pfeerick - 03-21-2018

(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 !