[Letux-kernel] MIPS-Generic Kernel on CI20

H. Nikolaus Schaller hns at goldelico.com
Sat May 24 12:40:59 CEST 2025



> Am 24.05.2025 um 08:46 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
> Hi all,
> 
> 
> So we have no choice to extend https://git.goldelico.com/?p=letux-uboot.git;a=shortlog;h=refs/heads/ci20-v2013.10
> to support FDT loading.
> 
> Good to know :)

Well, it turns out to be quite simple to modify U-Boot and get the kernel start:

diff --git a/include/configs/ci20.h b/include/configs/ci20.h
index 885598183d4..a0b8bebf28c 100644
--- a/include/configs/ci20.h
+++ b/include/configs/ci20.h
@@ -79,12 +79,16 @@
   #ifdef CONFIG_SPL_MMC_SUPPORT
  +/* FDT support */
+#define CONFIG_OF_LIBFDT       /* fdt                          */
+#define CONFIG_LMB             /* image_setup_linux() support  */
+
 /* SD/MMC card defaults */
   #define CONFIG_BOOTARGS \
        BOOTARGS_COMMON " root=/dev/mmcblk0p1"
 #define CONFIG_BOOTCOMMAND \
-       "run ethargs; ext4load mmc 0:1 0x88000000 /boot/uImage; bootm 0x88000000"
+       "run ethargs; if ext4load mmc 0:1 0x87800000 /boot/ingenic/ci20.dtb; then ext4load mmc 0:1 0x88000000 /boot/uImage; bootm 0x88000000 - 0x87800000; else ext4load mmc 0:1 0x88000000 /boot/uImage; bootm 0x88000000; fi"
   #else /* !CONFIG_SPL_MMC_SUPPORT */
 
Now I can boot the mips-generic kernel (with ll_printk) until it is stuck:

5711482 bytes read in 945 ms (5.8 MiB/s)
## Booting kernel from Legacy Image at 88000000 ...
   Image Name:   Linux-6.15.0-rc7-letux-mips+
   Image Type:   MIPS Linux Kernel Image (gzip compressed)
   Data Size:    5711418 Bytes = 5.4 MiB
   Load Address: 80010000
   Entry Point:  809581e8
   Verifying Checksum ... OK
## Flattened Device Tree blob at 87800000
   Booting using the fdt blob at 0x87800000
   Uncompressing Kernel Image ... OK

Starting kernel ...
...
ingenic_tcu_init
ingenic_tcu_clocksource_init
ingenic_tcu_setup_cevt
irq_domain_associate_locked: irq=24 hw=24
irq_domain_associate_locked: domain->ops->map=80097b88
irq_domain_associate_locked: ret=0
start_kernel: after time_init
start_kernel: after kmem_cache_init_late
start_kernel: after console_init
start_kernel: after setup_per_cpu_pageset
start_kernel: after numa_policy_init
start_kernel: after acpi_early_init
start_kernel: after late_time_init
start_kernel: after sched_clock_init
calibrate_delay_converge: start
calibrate_delay_converge: jiffies=4294937296

AFAIR we had the same initially for x1600/x2000 and it was something in clock setup.

BR,
Nikolaus



More information about the Letux-kernel mailing list