[Letux-kernel] LX20 prototype is booting

H. Nikolaus Schaller hns at goldelico.com
Fri Apr 25 15:38:15 CEST 2025


Hi all,

As already indicated I have been making progress on the LX20 variant of the LX16.

For this I have patched the U-Boot tree to make it possible to build an X2000 SPL and U-Boot.
Results are here:

	https://git.goldelico.com/?p=letux-uboot.git;a=shortlog;h=refs/heads/ingenic-x1600-v3

In most cases it was just a cross-port of what we have modified for the LX16.

Binaries are here, ready for "makesd":

	https://download.goldelico.com/letux-u-boot/Letux-X20/latest/

New is that the scipt to patch the RAM_ID into the u-boot binary is now included in the tree. 
It is located in Letux/patch-xburst so that it should be possible to reconstruct the binaries
from source.

Attached is a boot log, but it was to be expected that the kernel does not boot since
we have no working device tree blob.

Note: reading of the µSD is very slow (~1 MB/s). Maybe we need a hack like this:

	https://git.goldelico.com/?p=letux-uboot.git;a=commit;h=c94e51d5451071ecca0e0a2a9224ee32fdc0064a

In the attached log we just see what is set by code and not what should be...
AFAIR I did use the vendor boot over USB and copied the values from the boot log of the x1600...

And in the long run we should have our own lx16 and lx20 configs in board.cfg and include/configs
instead of patches of halley6.h and halley5.h

BR,
Nikolaus


U-Boot SPL 2013.07-00018-g7bcbaca7d2a-dirty (Apr 25 2025 - 14:39:23)
ERROR EPC 80111c58
Current Version: V2
CPA_CPAPCR:0310086d
CPM_CPMPCR:07c0484d
CPM_CPEPCR:0310186d
CPM_CPCCR:9a094410
DDR: W63AH6NKB_BI type is : LPDDR3
DDRP_INNOPHY_CALIB_DELAY_AL:00000051
DDRP_INNOPHY_CALIB_DELAY_AH:00000051
-----ddr_readl(DDRP_INNOPHY_CALIB_DONE): 00000003


U-Boot 2013.07-00018-g7bcbaca7d2a-dirty (Apr 25 2025 - 14:39:23)

Board: Letux X20 (Ingenic XBurst2 X2000-V12 SoC)
DRAM:  128 MiB
Top of RAM usable for U-Boot at: 88000000
Reserving 505k for U-Boot at: 87f80000
Reserving 16416k for malloc() at: 86f58000
Reserving 32 Bytes for Board Info at: 86f57fe0
Reserving 128k for boot params() at: 87f60000
Reserving 124 Bytes for Global Data at: 86f57f64
Stack Pointer at: 86f57f48
Now running in RAM - U-Boot at: 87f80000
MMC:   MSC: 0
In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
Hit any key to stop autoboot:  0 
lx20# 
lx20# 
lx20# run bootcmd
reading /uImage
5620211 bytes read in 5601 ms (979.5 KiB/s)
reading /ingenic/lx20.dtb
18725 bytes read in 69 ms (264.6 KiB/s)
Writing to MMC(0)... done
## Booting kernel from Legacy Image at 80a00000 ...
  Image Name:   Linux-6.15.0-rc3+
  Image Type:   MIPS Linux Kernel Image (gzip compressed)
  Data Size:    5620147 Bytes = 5.4 MiB
  Load Address: 80100000
  Entry Point:  80a27134
  Verifying Checksum ... OK
## Flattened Device Tree blob at 83000000
  Booting using the fdt blob at 0x83000000
  Uncompressing Kernel Image ... OK
  Loading Device Tree to 87ff8000, end 87fff924 ... OK
arch_fixup_memory_node

Starting FDT kernel 80a27134(-2, 87ff8000, 00000000, 0);...




More information about the Letux-kernel mailing list