[Letux-kernel] LX20 prototype is booting

H. Nikolaus Schaller hns at goldelico.com
Thu May 1 22:06:13 CEST 2025


Hi all,

I gave code review another chance and I quickly found that I had commented out
the chosen node to choose the console uart2. The reason was that I initially
did not have any UART nodes and had to disable it to get a DTB compiled...

Now the new list:

> Am 01.05.2025 um 15:50 schrieb H. Nikolaus Schaller <hns at goldelico.com>:

> + probes drivers
> - does not support UART2 as console/printk buffered output

console works now :)

> - is stuck when (or after) probing gpio-keys

still stuck but:
Most likely the gpio-keys are not the real reason...

Well, they are. If I remove the gpio-keys from the DTS,
the LED continues to blink and the boot process stops at

[    0.017004] NET: Registered PF_PACKET protocol family
[    0.017004] registered taskstats version 1
[    0.017004] Loading compiled-in X.509 certificates
[    0.017004] clk: Not disabling unused clocks
[    0.017004] Warning: unable to open an initial console.
[    0.017004] Waiting for root device /dev/mmcblk0p2...


> ? can control LEDs (GPIOs)

heartbeat blinks until it finishes probing gpis-keys

> ? can access µSD

this is more likely the reason.

> ? boots to a login:
> ? USB
> ? second µSD

Some observations from the boot log:
- there is an earlycon reported on uart0
- ledtrig-cpu is activated and can blink the LEDs
- log time stamps stop - I remember we had something similar on the jz4730 and it was some broken clock timer

Any suggestions how to proceed and find out more? (Well, I should build some more prototypes and distribute)

BR,
Nikolaus

U-Boot SPL 2013.07-00029-g9db17d3c9a1-dirty (Apr 29 2025 - 14:32:18)
ERROR EPC fe6f5ace
Current Version: V2
calculated CPM_CPAPCR:03100861
defined CPM_CPAPCR:02e049cd
CPA_CPAPCR:02e048cd
calculated CPM_CPMPCR:07c04841
defined CPM_CPMPCR:0af0c9cd
CPM_CPMPCR:0af0c8cd
calculated CPM_CPEPCR:03101861
defined CPM_CPEPCR:019059cd
CPM_CPEPCR:019058cd
calculated CPM_CPCCR:9a094410
defined CPM_CPCCR:9a094410
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-00029-g9db17d3c9a1-dirty (Apr 29 2025 - 14:32:18)

Board: Letux X20 (Ingenic XBurst2 X2000-V12 SoC)
DRAM:  128 MiB
Top of RAM usable for U-Boot at: 88000000
Reserving 506k 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
mmc_get_env_addr: offset = 0xcac00
mmc_get_env_addr: final offset = 0xcac00
In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
Hit any key to stop autoboot:  0 
reading /uImage
5604985 bytes read in 5676 ms (963.9 KiB/s)
reading /ingenic/lx20.dtb
14663 bytes read in 65 ms (219.7 KiB/s)
mmc_get_env_addr: offset = 0xcac00
mmc_get_env_addr: final offset = 0xcac00
Writing to MMC(0)... done
## Booting kernel from Legacy Image at 80a00000 ...
   Image Name:   Linux-6.15.0-rc4-letux-lx20+
   Image Type:   MIPS Linux Kernel Image (gzip compressed)
   Data Size:    5604921 Bytes = 5.3 MiB
   Load Address: 80010000
   Entry Point:  80937000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 87ff9000, end 87fff946 ... OK
arch_fixup_memory_node
arch_fixup_memory_node: ret=0
linux_params_init: ram_size = 128
linux_params_init: flags = 83 GD_FLG_ENV_DEFAULT = 100

Starting FDT kernel 80937000(-2, 87ff9000, 00000000, 0);...

[    0.000000] Linux version 6.15.0-rc4-letux-lx20+ (hns at iMac.local) (mipsel-linux-gnu-gcc (GCC) 6.3.0, GNU ld (GNU Binutils) 2.27) #2444 PREEMPT Thu May  1 20:53:58 CEST 2025
[    0.000000] CPU0 revision is: 00132000 (Ingenic XBurst II)
[    0.000000] FPU revision is: 00f32000
[    0.000000] MIPS: machine is Letux LX20v0.2
[    0.000000] earlycon: x1000_uart0 at MMIO 0x10032000 (options '')
[    0.000000] printk: legacy bootconsole [x1000_uart0] enabled
[    0.000000] printk: debug: ignoring loglevel setting.
[    0.000000] Reserved memory: created DMA memory pool at 0x02000000, size 0 MiB
[    0.000000] OF: reserved mem: initialized node reserved_mem at 2000000, compatible id shared-dma-pool
[    0.000000] OF: reserved mem: 0x02000000..0x0201ffff (128 KiB) map non-reusable reserved_mem at 2000000
[    0.000000] cma: Reserved 32 MiB at 0x02800000
[    0.000000] Primary instruction cache 32kiB, PIPT, 8-way, 128 sets, linesize 32 bytes.
[    0.000000] Primary data cache 32kiB, PIPT, 8-way, 128 sets, linesize 32 bytes.
[    0.000000] Unified secondary cache 512kiB, PIPT, 16-way, 512 sets, linesize 64 bytes.
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Kernel command line: loglevel=7 console=ttyS2,115200  rootfstype=ext4 root=/dev/mmcblk0p2 rw earlycon console=ttyS2,115200 clk_ignore_unused ignore_loglevel rootwait
[    0.000000] printk: log buffer data + meta data: 16384 + 51200 = 67584 bytes
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32768
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] RCU Tasks: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.
[    0.000000] NR_IRQS: 256
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] clocksource: ingenic-ost: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 318543407797 ns
[    0.000002] sched_clock: 32 bits at 6MHz, resolution 166ns, wraps every 357913940908ns
[    0.008226] clocksource: ingenic-timer: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 1215128 ns
[    0.017144] sched_clock: 16 bits at 24MHz, resolution 41ns, wraps every 1365312ns
[    0.017144] Console: colour dummy device 80x25
[    0.017144] Calibrating delay loop... 1122.30 BogoMIPS (lpj=5611520)
[    0.017144] pid_max: default: 32768 minimum: 301
[    0.017144] LSM: initializing lsm=capability
[    0.017144] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.017144] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.017144] rcu: Hierarchical SRCU implementation.
[    0.017144] rcu:     Max phase no-delay instances is 1000.
[    0.017144] Memory: 83964K/131072K available (9414K kernel code, 278K rwdata, 1856K rodata, 408K init, 169K bss, 13648K reserved, 32768K cma-reserved, 0K highmem)
[    0.017144] devtmpfs: initialized
[    0.017144] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.017144] posixtimers hash table entries: 512 (order: -1, 2048 bytes, linear)
[    0.017144] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.017144] pinctrl core: initialized pinctrl subsystem
[    0.017144] regulator-dummy: 2147483647 mW budge, enabled
[    0.017144] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.017144] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.017144] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.017144] gpio gpiochip2: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.017144] gpio gpiochip3: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.017144] gpio gpiochip4: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.017144] jz4780-dma 13420000.dma-controller: JZ4780 DMA controller initialised
[    0.017144] SCSI subsystem initialized
[    0.017144] usbcore: registered new interface driver usbfs
[    0.017144] usbcore: registered new interface driver hub
[    0.017144] usbcore: registered new device driver usb
[    0.017144] clocksource: Switched to clocksource ingenic-ost
[    0.017144] VFS: Disk quotas dquot_6.6.0
[    0.017144] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.017144] NET: Registered PF_INET protocol family
[    0.017144] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.017144] tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.017144] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.017144] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.017144] TCP bind hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.017144] TCP: Hash tables configured (established 1024 bind 1024)
[    0.017144] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.017144] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.017144] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.017144] RPC: Registered named UNIX socket transport module.
[    0.017144] RPC: Registered udp transport module.
[    0.017144] RPC: Registered tcp transport module.
[    0.017144] RPC: Registered tcp-with-tls transport module.
[    0.017144] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.017144] Initialise system trusted keyrings
[    0.017144] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.017144] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.017144] Key type asymmetric registered
[    0.017144] Asymmetric key parser 'x509' registered
[    0.017144] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.017144] io scheduler mq-deadline registered
[    0.017144] io scheduler kyber registered
[    0.017144] ledtrig-cpu: registered to indicate activity on CPUs
[    0.017144] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.017144] brd: module loaded
[    0.017144] loop: module loaded
[    0.017144] mtdoops: mtd device (mtddev=name/number) must be supplied
[    0.017144] usbcore: registered new interface driver usb-storage
[    0.017144] mousedev: PS/2 mouse device common for all mice
[    0.017144] jz4740-rtc 10003000.rtc: registered as rtc0
[    0.017144] jz4740-rtc 10003000.rtc: hctosys: unable to read the hardware clock
[    0.017144] i2c_dev: i2c /dev entries driver
[    0.017144] usbcore: registered new interface driver usbhid
[    0.017144] usbhid: USB HID core driver
[    0.017144] NET: Registered PF_INET6 protocol family
[    0.017144] Segment Routing with IPv6
[    0.017144] In-situ OAM (IOAM) with IPv6
[    0.017144] NET: Registered PF_PACKET protocol family
[    0.017144] registered taskstats version 1
[    0.017144] Loading compiled-in X.509 certificates



More information about the Letux-kernel mailing list