11-28-2019, 01:49 PM
(11-28-2019, 02:16 AM)PakoSt Wrote: ...I too want a second SPI flash memory slot on future PBPs. Or just the solder pads that would allow hardware mods to add one.
I wonder if dual-SPI would be realistic (for normal use and recovery). Or slotted SPI?
But let's see how uboot will progress
The RK3399 reference I just looked at, has 6 x SPI interfaces. Only SPI1 can be used for boot flash memory. So, we can't use the SPI interfaces for alternante boot flash images directly.
However, I was looking for a way to recover a failed SPI u-boot. This is what I came up with;
- Stage 1 code to select u-boot image, that has recovery by looking at a special SD card
- data to select image 1 or 2
- u-boot image 1
- u-boot image 2
So, under normal conditions, we have an old, working u-boot, (maybe lacking a feature like NVMe boot), installed in one SPI u-boot slot. And we want to install a new, less tested image into the second slot. We then run a program to install new u-boot image and change the boot image selection to newest.
If the new u-boot image fails in such a way we can't work around the problems easily, we install a SD card that has a special signature our stage 1 code recognizes. If stage 1 sees this, it changes the u-boot image selection to the other one, (aka old u-boot image), and proceeds to boot.
We can also have stage 1 look for a second signature on the SD card. If found, boot off the SD card. that way, we have a choice.
Since this is all open source, the exact location and data of these signatures would be well known and documented.
So, that's my solution to the SPI issue where we could "brick" our Pinebook Pros.
--
Arwen Evenstar
Princess of Rivendale
Arwen Evenstar
Princess of Rivendale