Decode · Allwinner
Allwinner H616 vs H618: are they the same silicon?
NOTICE: BL31: Detected Allwinner H616 SoC (1823)TF-A BL31 on an OrangePi Zero3 (Allwinner H618) prints NOTICE: BL31: Detected Allwinner H616 SoC (1823). On a Zero2 (which is genuinely H616) it prints the same line. Are they the same silicon?
Electrically, yes. The H616 and H618 both return SoC ID 0x1823 from the identification register the boot ROM and BL31 read. From the silicon's own perspective they are one die.
Product-wise, they're two SKUs of one design. Allwinner launched the H616 in 2020 and the H618 in 2022, keeping the same die but tweaking:
- Power-management pinout / package supported (H618 supports the AXP313A PMIC as well as newer packaging; H616 boards commonly ship with the AXP305).
- Media-decoding block enablement.
The differences are enough that vendor DTBs are distinct: OrangePi Zero3 uses sun50i-h618-orangepi-zero3.dtb, Zero2 uses sun50i-h616-orangepi-zero2.dtb. But the same TF-A BL31 image boots both because BL31 doesn't care about the SKU distinction: it only reads the die-level SoC ID.
Practical consequence: on H618 hardware, the U-Boot fork that comes with a stock Zero3 SD-card image often still identifies as "Zero2" in early prints, even though the kernel later prints Machine model: OrangePi Zero3 from the DTB. Same board, three names across the boot chain: H616 electrically, Zero2 in U-Boot Model, Zero3 in kernel.
References
Full walkthrough: /blog/allwinner-h616-h618-axp313-boot
Source log: /samples/bootintel-16.txt
Have a boot log with something you can't decode? Paste it into the free fingerprinter. It identifies bootloader / kernel / SoC / autoboot exposure client-side, nothing uploaded.