My VIM3L has been working well for a few months, but recently started failing to boot with errors in DDR training.
I tried booting this krescue image[1] from the SD card, and I get the same errors.
A detailed log with all the bootloader errors is available here: https://termbin.com/a925
Can you help to confirm again with the latest Android image as Terry posted above? As the board you have is the early prototype and with different DDR chipset which require timing patch for working.
@hyphop confirm with Terry to ensure that your repo already with the latest DDR timing.
Yes, my board is a VIM3L. I also have a VIM3 which is working fine.
Unfortunately, I cannot try the Android image because thatâs an image made for eMMC, and when the board is in upgrade (USB boot) mode, my PC is not detecting my board, so I cannot run the flashing/burning tools.
Is there an Android Image I could boot from an SD card?
It might be possible for me to make the card and then upload the resulting files, if theyâre not too big. You would need to format an SD card to fat32 if I recall.
I think I tried to do this before, I recall it being successful. Your choice.
If so, I can check it tonight.
Update: @khilman So far I have not had luck with this. I will let you know if that changes.
If you have the time to create an SD image, I would be glad to try.
In order for it to be a bootable image, it needs to be a raw image (with partitions already created) and that I can directly write (e.g. using âddâ on linux)
@hyphop Oops, I spoke too soon. It booted fine the first time, but on the next reboots, I see DDR training failures, and then resets. Boot log here: https://termbin.com/3z1v
It seems to be kind of random. If I do multiple hard reboots, it will occasionally boot to u-boot and then into the rescue kernel, but most of the time it fails DDR training and resets multiple times.
The u-boot in the eMMC is broken, seems you have flash other firmware to the VIM3L which doesnât support the VIM3L LPDDR4 (the correct DDR driver_vesion should be LPDDR4_PHY_V_0_1_18 on our GitHub), so that you canât boot well.
In this situation, you will also canât boot from the SD card, so that you canât use the krescure, for the boot sequence you will always boot from eMMC first, so it will always load the borken u-boot from eMMC.
So you have to reflash the eMMC via MASKROM mode.
Youâre right. I thought I had erased eMMC, but it appears not. Thanks.
Iâm now not able to get the board into MASKROM mode. The TST approach from the wiki doesnât work. On the serial console, I see that it causes the âboot timesâ counter to reset to zero, but otherwise keeps loping.
I also tried the MRegister mode, but itâs not clear from the wiki what the âtwo pads of the M registerâ are. I see a single test-point labeled M, which based on the VIM3 schematics (I hope they are the same as VIM3L for this part) looks like TP7, connected to GND. Based on that, I connect R84 to TP7 and this seems to disable the eMMC.
However, this does not seem to enable USB boot for the MASKROM as expected. Rather, it continues to keep booting from the eMMC, but fails to load FIPs from eMMC.
Looking at the initial string SM1:BL:511f6b:81ca2f;FEAT:A0F83180:20282000;POC:D;RCY:0;USB:0;EMMC:0;READ:0;0.0;CHK:0; it seems like the MASKROM is not detecting a USB connection (even though USB-C is conntected to host PC)