Skip to content
Boot-time Allwinner FEX to Device Tree translator
Branch: master
Clone or download
mripard main: Apply Cortex-A7 init quirks when running on such a CPU
The Cortex-A7 were relying a bit more on the firmware to set up a proper
environment and a few registers.

For example, the SMP bit is needed to enable the caches, and CNTFRQ to set the
arch timers frequency.

Since the Allwinner bootloader was not doing such a job, do it ourselves.

Signed-off-by: Maxime Ripard <>
Latest commit eb73306 Nov 20, 2014


Allwinner Babelfish

sunxi-babelfish is a late-stage bootloader for Allwinner-based devices
that are unable to boot a DT-based Linux kernel, mostly because a DT
has not been written for this board yet.

It behaves as a fex-based kernel image, using the fex file to generate
the DT that the kernel will use afterwards.

To do so, it also uses the mach-id passed from the bootloader and the
DTSI that are embedded into the babelfish binary to construct a DTB
that the kernel will be able to use.

This is loosely based on pxa-impedance-matcher from Daniel Mack
(, from a conceptual
point-of-view but some code have been taken directly from it.
You can’t perform that action at this time.