OpenNuvoton / MA35D1_Buildroot

MA35D1 Buildroot
Other
10 stars 9 forks source link

NUC980 eth2uart_defconfig Failed to request irq 32 (timer) #1

Closed zouzengming closed 1 year ago

zouzengming commented 1 year ago

use NUC980DK61YC ,start fail when linux start error info"Failed to request irq 32 (timer)"

U-Boot 2016.11 (Jan 29 2023 - 14:16:04 +0800)

CPU: NUC980 Board: NUC980 DRAM: 64 MiB SF: Detected W25Q256 with page size 256 Bytes, erase size 64 KiB, total 32 MiB In: serial Out: serial Err: serial Net: Net Initialization Skipped No ethernet found. Hit any key to stop autoboot: 0 SF: Detected W25Q256 with page size 256 Bytes, erase size 64 KiB, total 32 MiB device 0 offset 0x200000, size 0xf00000 SF: 15728640 bytes @ 0x200000 Read: OK

Booting kernel from Legacy Image at 00007fc0 ...

Image Name: Linux-5.10.103 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 7275168 Bytes = 6.9 MiB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK XIP Kernel Image ... OK

Starting kernel ...

SF: Detected W25Q256 with page size 256 Bytes, erase size 64 KiB, total 32 MiB SF: Device▒Booting Linux on physical CPU 0x0 Linux version 5.10.103 (root@Ubuntu2022) (arm-nuvoton-linux-uclibcgnueabi-gcc.br_real (Buildroot tc_v1.00-38-g77ff02fa3f) 9.4.0, GNU ld (GNU Binutils) 2.35.2) #22 Sun Jan 29 14:18:47 CST 2023 CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f CPU: VIVT data cache, VIVT instruction cache Machine: NUC980 Memory policy: Data cache writeback Zone ranges: Normal [mem 0x0000000000000000-0x0000000003ffffff] Movable zone start for each node Early memory node ranges node 0: [mem 0x0000000000000000-0x0000000003ffffff] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff] Built 1 zonelists, mobility grouping on. Total pages: 16256 Kernel command line: root=/dev/ram0 console=ttyS0,115200n8 rdinit=/linuxrc mem=64M Dentry cache hash table entries: 8192 (order: 3, 32768 bytes, linear) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes, linear) mem auto-init: stack:off, heap alloc:off, heap free:off Memory: 54352K/65536K available (3956K kernel code, 640K rwdata, 972K rodata, 4620K init, 225K bss, 11184K reserved, 0K cma-reserved) SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 NR_IRQS: 545 random: get_random_bytes called from start_kernel+0x518/0x758 with crng_init=0 clocksource: nuc980-timer5: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 62215505635 ns sched_clock: 24 bits at 120kHz, resolution 8333ns, wraps every 69905062489ns Failed to request irq 32 (timer) Console: colour dummy device 80x30 printk: console [ttyS0] enabled

ychuang3 commented 1 year ago

I just check the eth2uart_defconfig be fine. And your issue can be duplicated if .dtb file lost. Please find "nuc980-eth2uart.dtb" from the buildroot output/images folder. This file should be loaded to memory address 0x1400000 before bring up linux kernel. image

zouzengming commented 1 year ago

Use your method,Now is work normal,Thank you very much!

ychsiao168 commented 1 year ago

I just check the eth2uart_defconfig be fine. And your issue can be duplicated if .dtb file lost. Please find "nuc980-eth2uart.dtb" from the buildroot output/images folder. This file should be loaded to memory address 0x1400000 before bring up linux kernel. image

I have same issuse and solved by your method and my question is:

how to burn it into flash?

it seems after reset, dtb data is gone.

my board: NK-980ETH2P (it's DK63Y/64MB/spi-nand 1Gb)

ychuang3 commented 1 year ago

Use NuWriter to write kernel image to NAND, SD, or SPI NOR/NAND for booting. Please read the NuWriter user manual.

RSTurgay commented 1 year ago

Use NuWriter to write kernel image to NAND, SD, or SPI NOR/NAND for booting. Please read the NuWriter user manual.

In this file, there is no information about where to write the dtb file on the sd card. As mentioned above, from which addresses should we write the .dtb file on the sd card and read it on the bootcmd?

ychuang3 commented 1 year ago

Here's an example of uboot env setting for SD boot

baudrate=115200 bootdelay=1 stderr=serial stdin=serial stdout=serial loadkernel=mmc read 0x7fc0 0x1000 0x6000 loaddtb=mmc read 0x1400000 0xE00 0x256 bootcmd=run loadkernel;run loaddtb;bootm 0x7fc0 - 0x1400000

With NuWriter In the above example, uImage is programmed to eMMC/SD offset 0x200000, and dtb is programmed to offset 0x1c0000.

RSTurgay commented 1 year ago

Here's an example of uboot env setting for SD boot

baudrate=115200 bootdelay=1 stderr=serial stdin=serial stdout=serial loadkernel=mmc read 0x7fc0 0x1000 0x6000 loaddtb=mmc read 0x1400000 0xE00 0x256 bootcmd=run loadkernel;run loaddtb;bootm 0x7fc0 - 0x1400000

With NuWriter In the above example, uImage is programmed to eMMC/SD offset 0x200000, and dtb is programmed to offset 0x1c0000.

Thank you for support. It is running.