[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