A5E U-Boot with NVME Support

I succesfully compiled an U-Boot with NVMe Support enabled, but no SD-Card Support. I want to flash it to the SPI NOR but it doesnt work.

I tried sunxi-fel, but that didnt work.

sudo ./sunxi-fel -p spiflash-write 0x00000 boot0_spinor_sun55iw3p1.bin
sudo ./sunxi-fel -p spiflash-write 0x08000 fes1_sun55iw3p1.bin
sudo ./sunxi-fel -p spiflash-write 0x10000 sboot_sun55iw3p1.bin
sudo ./sunxi-fel -p spiflash-write 0x20000 u-boot-sun55iw3p1.bin
[sudo] password for pi:
SPI support not implemented yet for 1890 (A523)!
SPI support not implemented yet for 1890 (A523)!
SPI support not implemented yet for 1890 (A523)!
SPI support not implemented yet for 1890 (A523)!

https://mega.nz/folder/Gv5VjKqL#SLnQdtk8XS8j3twNSFLsVQ

1 Like

Tried flashing it via PhoenixSuit, stuck on fes1.

Could you provide the serial port logs during the SPI-NOR flashing process?

00000001 0.00000000 [22912] [2025.03.23-14.19.31:010][436]LogSelfUpdateService: ExecuteEpicGamesUpdater: Executing: “Z:/Program Files (x86)/Epic Games/Launcher/Portal/Binaries/Win64/EpicGamesUpdater.exe” queryinstallation
00000002 0.01456130 [22912] [2025.03.23-14.19.31:024][436]LogSelfUpdateService: ExecuteEpicGamesUpdater: “Z:/Program Files (x86)/Epic Games/Launcher/Portal/Binaries/Win64/EpicGamesUpdater.exe” queryinstallation - SUCCESS.
00000003 17.65702629 [31628] IN 1
00000004 17.65764999 [31628] Too Many Devices Plugin!
00000005 23.33405495 [31628] Kein Ger?t verbunden!
00000006 27.63205719 [31628] OUT 1
00000007 30.24243164 [31628] IN 1
00000008 30.24471283 [31628] OnBurnBegin
00000009 30.24658012 [31628] m_FesParser.SetSunxiInfo .\BurnByAddressMan.cpp 426 239
00000010 30.28192902 [31628] ResetEvent m_shFesEvent:0x698
00000011 30.29130173 [31628] [fel]++++++++RecordDev:\?\USB#VID_1F3A&PID_EFE8#6&28cf390b&0&5#{0e57c50f-0ccc-4ad2-a895-93c5ed119860}
00000012 30.29186821 [31628] ********* before Fel2Fes *********
00000013 30.29193306 [31628] ***************************************
00000014 30.29213142 [31628] ToolEntry_fel****
00000015 30.29221725 [31628] ***************************************
00000016 30.29302979 [31628] magic eGON.BT0È4¿Î`¹, it is fes1
00000017 30.29308891 [31628] down and run fes1 at addr 0x4c000
00000018 30.29413986 [31628] Clear dram log OK.
00000019 30.60071945 [31628] DOWN FES1_dram OK

Any news? Did you succeed?

https://mega.nz/folder/Gv5VjKqL#SLnQdtk8XS8j3twNSFLsVQ It took me 3 months to modernize the drivers and now its finally booting (from the sd card), but the u-boot doesnt recognize my nvme drive.
=> pci enum
=> pci info
uclass_find_device_by_seq: 0 0

  • -1 0 ‘pcie@4800000’
  • found
    Scanning PCI devices on bus 0
    BusDevFun VendorId DeviceId Device Class Sub-Class

00.00.00 0x16c3 0xabcd Bridge device 0x04

1 Like

If you could share the source alongside the built binaries we could have a look, too.

best

Uploaded it to mega

You’re a saint for sharing this!
What method did you end up using to successfully flash it?

I use PhoenixCard 4.2.8 https://drive.google.com/drive/folders/10u2SyexeUWE0MK_acl9mFiLhmGD2Ncih

The image is still not able to detect the nvme during booting.

Currently struggling with Changing the DTS.
From my understanding:
PL11 needs to be active for 3.3 V
PB6 needs to be active for the GMA340 PCIE/USB Switch to be set to PCIE Mode
PH11 and PH12 are Reset/Wake GPIOS and theres a PIN for PCIE-CLK, but I dont know what to do with that.

https://pastebin.com/iyUrZNiM The NVME now gets detected, but booting from it is not yet working and im unsure how to make it automatically boot from the nvme, without access via uart

2 Likes

You can check out the nvme-enabled commit for orangepi 4a based on t527, maybe it will help you in some way: https://github.com/orangepi-xunlong/u-boot-orangepi/commit/cf5885b15efde8821948bc27759cfc44144e37f3

Thank you.
My main problem right now is that my U-Boot can read larger files than a few kB from the nvme.
I’m unsure if its the nvme driver or something else.

Ive tested the dts and pci/nvme drivers from orange pi and somehow with their drivers I cant even get the NVMe detected, probably has to do with the USB/PCIE Switch