[Lenny400] Reviewing the Ingenic board initialisation code

Paul Boddie paul at boddie.org.uk
Tue Jun 9 01:52:12 CEST 2015


As you might have noticed, I haven't been looking at the jz4730-related 
efforts in recent months, but I very recently got back into looking at the 
initialisation code for the jz4740 (or rather jz4720, as I have a Ben 
NanoNote), being inspired by the following collection of blog articles about 
getting code to run on the MIPS Creator CI20 board:

The CI20 bare-metal project

Since the Ben NanoNote has been supported by a U-Boot variant (maybe only 
really available via OpenWrt), and since Linux kernel support is also present 
(although that doesn't help with things like PLL and SDRAM initialisation), I 
thought it might be informative to bring the Ben up without U-Boot using a 
minimal amount of code (as opposed to using the entirety of the continuously 
changing beast that is U-Boot).

So far, I've managed to make a USB bootable stage 1 initialising the PLL and 
SDRAM (as featured in that blog series) and to glue the framebuffer 
initialisation code from U-Boot (originally from Ingenic) to a stage 2 payload 
in order to show a nice pattern on the screen. Figuring out what the USB boot 
mechanism actually does, and what the limitations really are, is pretty 
awkward as the blog author found out.

I'm now intending to extend this work to cover the jz4730 and the Letux 400. 
It rather looks like the LCD support is mostly the same, and hopefully with 
some appropriate settings and some SoC-specific adjustments, I can repeat the 
achievement on the Letux. However, I'm using the USB boot mechanism on the 


Does anyone know if it is possible to invoke this mode on the Letux, or 
whether the bootloader supports a "software" variant?


More information about the Lenny400 mailing list