December 15, 2025

Another look at the Fire3

The Fire3 is the "NanoPi Fire3". Along with the NanoPi M3, it is a board based on the Samsung S5P6818 chip with 8 cores.

The 8 cores are a pair of 4-core A53 clusters, which we have seen in other products.

The chip actually seems to have been designed by Nexell. Nexell is a partner company to Samsung, in particular doing SoC design for the automotive sector.

In the U-boot sources I have for the Fire3, I see board/nexell and arch/arm/mach-nexell. There is also board/samsung, but no arch/arm/mach-samsung

I'll note in passing that when the board boots up I see bl1 announce itself, but not bl31. I do not see samsung or nexell mentioned in the list of recognized platform ports. I have a source tree for bl1 in my collection from 2018, but I don't see this available online in 2025.

What about psci support for starting secondary cores? Is this available from bl1? Is it needed? Will the SD card I have still boot and run linux

I have U-boot source tree unique to the Fire3 also. I see two defconfig files in it that mention the s5p6818:

configs/artik710_raptor_legacy_defconfig
configs/s5p6818_drone_defconfig:
I am not sure what I used to build U-boot for the Fire3 back in 2018. I will have to dig through my notes.

Interrupts and the Fire3

I had some notes that suggested that I managed to get interrupts working on the Fire3. If that was true, it would have been the only aarch64 board in my "collection" for which that was true.

I am skeptical. My Timer demo from 2018 does include my GICv2 driver. When I run it (in 2025) I see no indication that interrupts are working. It announces that it runs at EL2 (launched by U-boot), so I can probably apply the "fix" from my RK3328 works and get things to work.

Can we boot and run linux?

I found a micro-USB wall wart and use it to power up the board. I can type characters and get to the U-boot prompt easily. It does the Kyu network boot via:
boot_kyu=echo Booting Kyu via dhcp ; dhcp 0x40000000 ; go 0x40000000
bootaddr=0x40000000
bootcmd=run boot_kyu
I try "run mmcboot", but it does not work. It should. This is what originally did boot linux. I think what is going on is that this SD card has only U-boot on it. It is the end product of me rebuilding U-boot to get network support.

I'll have to reflash another SD card with linux. I still have this file available from 2018:

s5p6818-friendly-core-xenial-4.4-arm64-20180615.img.zip
I check the FriendlyARM site again 12-2025 and find this:
s5p6818-sd-friendlycore-xenial-4.4-arm64-20230825.img.gz
The site offers both arm64 and armhf, which I find confusing. I read that armhf is 32 bit with floating point, which is certainly NOT what I want -- why would anyone want it on this hardware?

Xenial is Ubuntu 16.04, based on Debian 8 (Stretch), which is pretty old (the same they offered back in 2018), but if it works that is fine. Adding packages to it may be problematic, but I don't expect to do much if anything with linux on these boards.


Have any comments? Questions? Drop me a line!

Tom's electronics pages / tom@mmto.org