iMX93 custom board hangs on Starting Kernel

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

iMX93 custom board hangs on Starting Kernel

1,044件の閲覧回数
Bob_NXP_user
Contributor III

Hello everybody,

I'm working on a custom board similar to imx93EVK, using imx93 11x11, and now I'm tryng to start the operating system booting from flash-NOR. I successfully put all the files in RAM and I'm able to boot, but as soot as I run booti command it hangs on Starting Kernel:

immagine (7).jpg

I modified the imx93-11x11-evk.dts disabling all the "not-essential" peripherals and changing the reserved-memory addresses in this way (since I'm using 256 MB of lpddr4x instead of 2GB of the EVK):

reserved-memory {
#address-cells = <0x02>;
#size-cells = <0x02>;
ranges;
 
linux,cma {
compatible = "shared-dma-pool";
reusable;
//alloc-ranges = <0x00 0x80000000 0x00 0x40000000>; 
size = <0x00 0x02000000>;
linux,cma-default;
};
 
ethosu_region@C0000000 {
compatible = "shared-dma-pool";
reusable;
reg = <0x00 0xc0000000 0x00 0x10000000>;
phandle = <0x56>;
status = "disabled"; //Neural Processing Unit, togliere
};
 
vdev0vring0@85000000 {
reg = <0x00 0x85000000 0x00 0x8000>;
no-map;
phandle = <0x50>;
};
 
vdev0vring1@85008000 {
reg = <0x00 0x85008000 0x00 0x8000>;
no-map;
phandle = <0x51>;
};
 
vdev1vring0@85010000 {
reg = <0x00 0x85010000 0x00 0x8000>;
no-map;
phandle = <0x52>;
};
 
vdev1vring1@85018000 {
reg = <0x00 0x85018000 0x00 0x8000>;
no-map;
phandle = <0x53>;
};
 
rsc-table@85040000 {
reg = <0x00 0x85040000 0x00 0x1000>;
no-map;
phandle = <0x54>;
};
 
vdevbuffer@85050000{
compatible = "shared-dma-pool";
reg = <0x00 0x85050000 0x00 0x100000>;
no-map;
phandle = <0x4f>;
};
 
ele-reserved@85150000 {
compatible = "shared-dma-pool";
reg = <0x00 0x85150000 0x00 0x100000>;
no-map;
phandle = <0x3e>;
};
};
 
 

What am I doing wrong? Maybe I'm missing something, can you explain to me what can I do to go over the Starting Kernel?

Regards,

Bob

 

 

5 返答(返信)

1,023件の閲覧回数
Chavira
NXP TechSupport
NXP TechSupport

Hi @Bob_NXP_user!

Thank you for contacting NXP Support!

 

You should port our BSP according to your hardware following our PORTING GUIDE.

You can't use the files created for the EVK for your custom board.

 

Best Regards!

Chavira

 

 

0 件の賞賛
返信

1,017件の閲覧回数
Bob_NXP_user
Contributor III

Hello @Chavira ,

Thanks for the response,

I already checked this porting guide, I think that I did the proper customization. Can you tell me what you think about the part of dts code I shared? If you need the entire .dts I can send it too.

Thanks,

Bob

0 件の賞賛
返信

999件の閲覧回数
Chavira
NXP TechSupport
NXP TechSupport

HI @Bob_NXP_user!

 

Do you create the proper machine to your board?

Do you modify u-boot source according to your hardware?

Do you modify the timing file for the new RAM that you are using?

Do you calibrate the RAM using our DDR Tool?

 

You have to modify more than the device tree file in custom board and all the process are described in our porting guide.

 

Please follow the porting guide.

 

 

0 件の賞賛
返信

939件の閲覧回数
Bob_NXP_user
Contributor III

Hello @Chavira ,

the problem was in the booti command, I was writing it in a wrong way. Now I'm going further but there is another error, this is the log: 

 

[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]

[ 0.000000] Linux version 6.6.3-lts-next-gccf0a99701a7-dirty (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 13.2.0, GNU ld (GNU Binutils) 2.41.0.20230926) #1 SMP PREEMPT Thu Feb 29 08:37:44 UTC 2024

[ 0.000000] KASLR disabled due to lack of seed

[ 0.000000] Machine model: NXP i.MX93 11X11 MOSAICO board

[ 0.000000] efi: UEFI not found.

[ 0.000000] Reserved memory: created CMA memory pool at 0x00000000fe000000, size 32 MiB

[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool

[ 0.000000] OF: reserved mem: 0x00000000fe000000..0x00000000ffffffff (32768 KiB) map reusable linux,cma

[ 0.000000] OF: reserved mem: 0x0000000085000000..0x0000000085007fff (32 KiB) nomap non-reusable vdev0vring0@85000000

[ 0.000000] OF: reserved mem: 0x0000000085008000..0x000000008500ffff (32 KiB) nomap non-reusable vdev0vring1@85008000

[ 0.000000] OF: reserved mem: 0x0000000085010000..0x0000000085017fff (32 KiB) nomap non-reusable vdev1vring0@85010000

[ 0.000000] OF: reserved mem: 0x0000000085018000..0x000000008501ffff (32 KiB) nomap non-reusable vdev1vring1@85018000

[ 0.000000] OF: reserved mem: 0x0000000085040000..0x0000000085040fff (4 KiB) nomap non-reusable rsc-table@85040000

[ 0.000000] Reserved memory: created DMA memory pool at 0x0000000085050000, size 1 MiB

[ 0.000000] OF: reserved mem: initialized node vdevbuffer@85050000, compatible id shared-dma-pool

[ 0.000000] OF: reserved mem: 0x0000000085050000..0x000000008514ffff (1024 KiB) nomap non-reusable vdevbuffer@85050000

[ 0.000000] Reserved memory: created DMA memory pool at 0x0000000085150000, size 1 MiB

[ 0.000000] OF: reserved mem: initialized node ele-reserved@85150000, compatible id shared-dma-pool

[ 0.000000] OF: reserved mem: 0x0000000085150000..0x000000008524ffff (1024 KiB) nomap non-reusable ele-reserved@85150000

[ 0.000000] OF: reserved mem: 0x0000000096000000..0x0000000097dfffff (30720 KiB) nomap non-reusable optee_core@96000000

[ 0.000000] OF: reserved mem: 0x0000000097e00000..0x0000000097ffffff (2048 KiB) nomap non-reusable optee_shm@97e00000

[ 0.000000] earlycon: lpuart32 at MMIO32 0x0000000044380000 (options '')

[ 0.000000] printk: bootconsole [lpuart32] enabled

[ 0.000000] NUMA: No NUMA configuration found

[ 0.000000] NUMA: Faking a node at [mem 0x0000000080000000-0x00000000ffffffff]

[ 0.000000] NUMA: NODE_DATA [mem 0xfdbd16c0-0xfdbd3fff]

[ 0.000000] Zone ranges:

[ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff]

[ 0.000000] DMA32 empty

[ 0.000000] Normal empty

[ 0.000000] Movable zone start for each node

[ 0.000000] Early memory node ranges

[ 0.000000] node 0: [mem 0x0000000080000000-0x0000000084ffffff]

[ 0.000000] node 0: [mem 0x0000000085000000-0x000000008501ffff]

[ 0.000000] node 0: [mem 0x0000000085020000-0x000000008503ffff]

[ 0.000000] node 0: [mem 0x0000000085040000-0x0000000085040fff]

[ 0.000000] node 0: [mem 0x0000000085041000-0x000000008504ffff]

[ 0.000000] node 0: [mem 0x0000000085050000-0x000000008524ffff]

[ 0.000000] node 0: [mem 0x0000000085250000-0x0000000095ffffff]

[ 0.000000] node 0: [mem 0x0000000098000000-0x00000000ffffffff]

[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]

[ 0.000000] On node 0, zone DMA: 8192 pages in unavailable ranges

[ 0.000000] psci: probing for conduit method from DT.

[ 0.000000] psci: PSCIv1.1 detected in firmware.

[ 0.000000] psci: Using standard PSCI v0.2 function IDs

[ 0.000000] psci: Trusted OS migration not required

[ 0.000000] psci: SMC Calling Convention v1.2

[ 0.000000] percpu: Embedded 22 pages/cpu s50536 r8192 d31384 u90112

[ 0.000000] Detected VIPT I-cache on CPU0

[ 0.000000] CPU features: detected: GIC system register CPU interface

[ 0.000000] CPU features: detected: Virtualization Host Extensions

[ 0.000000] CPU features: detected: Qualcomm erratum 1009, or ARM erratum 1286807, 2441009

[ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923

[ 0.000000] alternatives: applying boot alternatives

[ 0.000000] Kernel command line: console=ttyLP0,115200 earlycon root=/dev/nfs ip=dhcp nfsroot=:,v3,tcp

[ 0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)

[ 0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)

[ 0.000000] Fallback order for Node 0: 0

[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 507904

[ 0.000000] Policy zone: DMA

[ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off

[ 0.000000] software IO TLB: area num 2.

[ 0.000000] software IO TLB: mapped [mem 0x00000000f7800000-0x00000000fb800000] (64MB)

[ 0.000000] Memory: 1882092K/2064384K available (20736K kernel code, 1612K rwdata, 7628K rodata, 3904K init, 634K bss, 149524K reserved, 32768K cma-reserved)

[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1

[ 0.000000] rcu: Preemptible hierarchical RCU implementation.

[ 0.000000] rcu: RCU event tracing is enabled.

[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=2.

[ 0.000000] Trampoline variant of Tasks RCU enabled.

[ 0.000000] Tracing variant of Tasks RCU enabled.

[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.

[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2

[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0

[ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode

[ 0.000000] GICv3: 960 SPIs implemented

[ 0.000000] GICv3: 0 Extended SPIs implemented

[ 0.000000] Root IRQ handler: gic_handle_irq

[ 0.000000] GICv3: GICv3 features: 16 PPIs

[ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000048040000

[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.

[ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).

[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns

[ 0.000000] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns

[ 0.008327] Console: colour dummy device 80x25

[ 0.012560] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000)

[ 0.022738] pid_max: default: 32768 minimum: 301

[ 0.027375] LSM: initializing lsm=capability,integrity

[ 0.032513] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)

[ 0.039814] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)

[ 0.048254] cacheinfo: Unable to detect cache hierarchy for CPU 0

[ 0.054628] RCU Tasks: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1.

[ 0.061482] RCU Tasks Trace: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1.

[ 0.069103] rcu: Hierarchical SRCU implementation.

[ 0.073727] rcu: Max phase no-delay instances is 1000.

[ 0.079705] EFI services will not be available.

[ 0.084173] smp: Bringing up secondary CPUs ...

[ 5.123124] CPU1: failed to come online

[ 5.126696] CPU1: failed in unknown state : 0x0

[ 5.131268] smp: Brought up 1 node, 1 CPU

[ 5.135188] SMP: Total of 1 processors activated.

[ 5.139896] CPU features: detected: 32-bit EL0 Support

[ 5.144995] CPU features: detected: 32-bit EL1 Support

[ 5.150104] CPU features: detected: Data cache clean to the PoU not required for I/D coherence

[ 5.158679] CPU features: detected: Common not Private translations

[ 5.164918] CPU features: detected: CRC32 instructions

[ 5.170036] CPU features: detected: RCpc load-acquire (LDAPR)

[ 5.175752] CPU features: detected: LSE atomic instructions

[ 5.181300] CPU features: detected: Privileged Access Never

[ 5.186845] CPU features: detected: RAS Extension Support

[ 5.192223] CPU features: detected: Speculative Store Bypassing Safe (SSBS)

[ 5.199206] CPU: All CPU(s) started at EL2

[ 5.203228] alternatives: applying system-wide alternatives

[ 5.213017] devtmpfs: initialized

[ 5.220679] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns

[ 5.230185] futex hash table entries: 512 (order: 3, 32768 bytes, linear)

[ 5.237510] pinctrl core: initialized pinctrl subsystem

[ 5.243125] Unable to handle kernel paging request at virtual address ffef00007dbf7200

[ 5.250776] Mem abort info:

[ 5.253549] ESR = 0x0000000096000004

[ 5.257276] EC = 0x25: DABT (current EL), IL = 32 bits

[ 5.262562] SET = 0, FnV = 0

[ 5.265595] EA = 0, S1PTW = 0

[ 5.268715] FSC = 0x04: level 0 translation fault

[ 5.273569] Data abort info:

[ 5.276428] ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000

[ 5.281889] CM = 0, WnR = 0, TnD = 0, TagAccess = 0

[ 5.286915] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0

[ 5.292202] [ffef00007dbf7200] address between user and kernel address ranges

[ 5.299310] Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP

[ 5.305550] Modules linked in:

[ 5.308585] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.6.3-lts-next-gccf0a99701a7-dirty #1

[ 5.316902] Hardware name: NXP i.MX93 11X11 MOSAICO board (DT)

[ 5.322710] pstate: 604000c9 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)

[ 5.329642] pc : __of_device_is_compatible+0x8c/0x15c

[ 5.334668] lr : of_find_matching_node_and_match+0x70/0x170

[ 5.340215] sp : ffff8000821fbcb0

[ 5.343508] x29: ffff8000821fbcb0 x28: 0000000000000000 x27: 0000000000000000

[ 5.350615] x26: 0000000000000000 x25: ffef00007dbf71a8 x24: ffff80008150c268

[ 5.357722] x23: ffff80008150c288 x22: ffff80008150c2a8 x21: 0000000000000000

[ 5.364829] x20: 0000000000000000 x19: ffff80008150c268 x18: ffffffffffffffff

[ 5.371935] x17: ffff800082097c80 x16: 0000000013ba2600 x15: ffff8000821fbb40

[ 5.379042] x14: ffff00000602ba1c x13: ffff00000602b268 x12: 0000000000074b31

[ 5.386149] x11: 0000000fccf7bc13 x10: ffff840083c04ba6 x9 : 0000000000000002

[ 5.393255] x8 : 0101010101010101 x7 : 7f7f7f7f7f7f7f7f x6 : feff6264652c706c

[ 5.400362] x5 : 8080000000000000 x4 : 0000000000000066 x3 : ffff80008150c268

[ 5.407469] x2 : ffff80008150c288 x1 : ffff80008150c2a8 x0 : 0000000000000066

[ 5.414576] Call trace:

[ 5.417003] __of_device_is_compatible+0x8c/0x15c

[ 5.421682] of_find_matching_node_and_match+0x70/0x170

[ 5.426882] fsl_guts_init+0x3c/0x354

[ 5.430522] do_one_initcall+0x80/0x1c8

[ 5.434335] kernel_init_freeable+0x1bc/0x284

[ 5.438669] kernel_init+0x24/0x1dc

[ 5.442135] ret_from_fork+0x10/0x20

[ 5.445692] Code: d50323bf d65f03c0 a90153f3 b4000679 (f9402f34)

[ 5.451758] ---[ end trace 0000000000000000 ]---

[ 5.456350] note: swapper/0[1] exited with irqs disabled

[ 5.461663] note: swapper/0[1] exited with preempt_count 1

[ 5.467105] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

[ 5.474724] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]---

 

Something happened while Bringing up secondary CPUs. Comparing this log with the correct one of the evaluation board:

 [ 0.039814] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.048273] cacheinfo: Unable to detect cache hierarchy for CPU 0
[ 0.054665] RCU Tasks: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1.
[ 0.061518] RCU Tasks Trace: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1.
[ 0.069141] rcu: Hierarchical SRCU implementation.
[ 0.073762] rcu: Max phase no-delay instances is 1000.
[ 0.079739] EFI services will not be available.
[ 0.084224] smp: Bringing up secondary CPUs ...
[ 0.088910] Detected VIPT I-cache on CPU1
[ 0.088968] GICv3: CPU1: found redistributor 100 region 0:0x0000000048060000
[ 0.089006] CPU1: Booted secondary processor 0x0000000100 [0x412fd050]
[ 0.089110] smp: Brought up 1 node, 2 CPUs
[ 0.110461] SMP: Total of 2 processors activated.
[ 0.115133] CPU features: detected: 32-bit EL0 Support
[ 0.120258] CPU features: detected: 32-bit EL1 Support
[ 0.125361] CPU features: detected: Data cache clean to the PoU not required for I/D coherence
[ 0.133944] CPU features: detected: Common not Private translations
[ 0.140177] CPU features: detected: CRC32 instructions
[ 0.145302] CPU features: detected: RCpc load-acquire (LDAPR)
[ 0.151011] CPU features: detected: LSE atomic instructions
[ 0.156557] CPU features: detected: Privileged Access Never
[ 0.162102] CPU features: detected: RAS Extension Support
[ 0.167477] CPU features: detected: Speculative Store Bypassing Safe (SSBS)
[ 0.174460] CPU: All CPU(s) started at EL2
[ 0.178484] alternatives: applying system-wide alternatives
[ 0.188461] devtmpfs: initialized

 

What do you think about it? What do I need to check in dts?

Thanks in advance,

Bob

0 件の賞賛
返信

937件の閲覧回数
Chavira
NXP TechSupport
NXP TechSupport

HI @Bob_NXP_user!

 

Do you create the proper machine to your board?

Do you modify u-boot source according to your hardware?

Do you modify the timing file for the new RAM that you are using?

Do you calibrate the RAM using our DDR Tool?

 

I need to know what are you doing to understand better the problem.

0 件の賞賛
返信