Orin NX JP7.2设备树usb@3610000为okay时内核无法正常启动,为disabled可正常启动内核

usb@3610000 {
status = “okay”;
phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>;
phy-names = “usb2-0”, “usb2-1”, “usb2-2”, “usb3-0”;
};

错误日志

[ 6.489549] tegra-xusb 3610000.usb: Adding to iommu group 2
[ 6.557863] CPU:0, Error: cbb-fabric@0x13a00000, irq=33
[ 6.558018] **************************************
[ 6.558082] Unable to handle kernel paging request at virtual address ffff800081780103
[ 6.558159] CPU:0, Error:cbb-fabric, Errmon:2
[ 6.558163] Mem abort info:
[ 6.558170] Error Code : TIMEOUT_ERR
[ 6.558379] ESR = 0x0000000096000021
[ 6.558381] Overflow : Multiple TIMEOUT_ERR
[ 6.558384] EC = 0x25: DABT (current EL), IL = 32 bits
[ 6.558506]
[ 6.558576] SET = 0, FnV = 0
[ 6.558578] Error Code : TIMEOUT_ERR
[ 6.558579] EA = 0, S1PTW = 0
[ 6.558581] MASTER_ID : CCPLEX
[ 6.558583] Address : 0x3600010
[ 6.558686] FSC = 0x21: alignment fault
[ 6.558787] Cache : 0x1 -- Bufferable
[ 6.558906] Data abort info:
[ 6.558909] Protection : 0x2 -- Unprivileged, Non-Secure, Data Access
[ 6.559051] ISV = 0, ISS = 0x00000021, ISS2 = 0x00000000
[ 6.559053] Access_Type : Read
[ 6.559055] CM = 0, WnR = 0, TnD = 0, TagAccess = 0
[ 6.559057] Access_ID : 0x11
[ 6.559059] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[ 6.559061] Fabric_Id : 0x0
[ 6.559063] swapper pgtable: 4k pages, 48-bit VAs, pgdp=00000001dc723000
[ 6.559065] [ffff800081780103] pgd=10000001000cb003
[ 6.559105] Fabric : cbb-fabric
[ 6.559108] , p4d=10000001000cb003
[ 6.559111] Slave_Id : 0x22
[ 6.559190] , pud=10000001000cc003
[ 6.559192] Burst_length : 0x0
[ 6.559193] , pmd=1000000105e5e003
[ 6.559195] Burst_type : 0x1
[ 6.559197] , pte=0068000003610f13
[ 6.559199] Beat_size : 0x2
[ 6.559201]
[ 6.559202] VQC : 0x0
[ 6.559207] Internal error: Oops: 0000000096000021 [#1] PREEMPT SMP
[ 6.559210] Modules linked in:
[ 6.559214] CPU: 3 PID: 74 Comm: kworker/u14:1 Not tainted 6.8.12-1021-tegra #1
[ 6.559217] Hardware name: NVIDIA NVIDIA Jetson Orin NX Engineering Reference Developer Kit Super/6
[ 6.559218] Workqueue: events_unbound deferred_probe_work_func
[ 6.559233] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 6.559235] pc : tegra_xusb_wait_for_falcon+0x48/0x104
[ 6.559247] lr : tegra_xusb_wait_for_falcon+0x38/0x104
[ 6.559250] sp : ffff800080a23a40
[ 6.559251] x29: ffff800080a23a40 x28: 0000000000000008 x27: 0000000000000004
[ 6.559254] x26: ffffca0aad28e538 x25: 0000000000000038 x24: ffff000080710c10
[ 6.559256] x23: ffff000084412898 x22: ffff000080710c10 x21: ffff000084412880
[ 6.559258] x20: 00000001928463c0 x19: ffff800081780103 x18: ffffffffffffffff
[ 6.559261] x17: 000000000bf18580 x16: ffffca0aab9deea0 x15: ffff800080a237e0
[ 6.559263] x14: ffffffffffffffff x13: ffff000080c21380 x12: 0000000000000001
[ 6.559265] x11: 00000000000000c0 x10: d26852972c0f463d x9 : 83841194409125a4
[ 6.559268] x8 : ffff000080c22518 x7 : ffff0001eb42f600 x6 : 0000000023e58b5f
[ 6.559270] x5 : 00ffffffffffffff x4 : 0010736d00000000 x3 : 0000000000000017
[ 6.559273] x2 : 0000000000000c54 x1 : 000000000bebc200 x0 : 000000018698a1c0
[ 6.559276] Call trace:
[ 6.559278] tegra_xusb_wait_for_falcon+0x48/0x104
[ 6.559281] tegra_xusb_load_firmware+0x338/0x514
[ 6.559284] tegra_xusb_probe+0xa9c/0xfe4
[ 6.559287] platform_probe+0x68/0xe0
[ 6.559291] really_probe+0x150/0x2c8
[ 6.559294] __driver_probe_device+0x78/0x134
[ 6.559297] driver_probe_device+0x3c/0x164
[ 6.559300] __device_attach_driver+0xc8/0x15c
[ 6.559304] bus_for_each_drv+0x88/0x100
[ 6.559307] __device_attach+0xa0/0x198
[ 6.559310] device_initial_probe+0x14/0x28
[ 6.559313] bus_probe_device+0xb4/0xc8
[ 6.559317] deferred_probe_work_func+0x88/0xc8
[ 6.559319] process_one_work+0x170/0x424
[ 6.559325] worker_thread+0x328/0x440
[ 6.559327] kthread+0x110/0x124
[ 6.559331] ret_from_fork+0x10/0x20
[ 6.559336] Code: d2984001 91001273 f2a17d61 8b010014 (b9400261)
[ 6.559339] ---[ end trace 0000000000000000 ]---
[ 6.559341] Kernel panic - not syncing: Oops: Fatal exception
[ 6.559343] SMP: stopping secondary CPUs
[ 6.855022] Kernel Offset: 0x4a0a2a540000 from 0xffff800080000000
[ 6.861231] PHYS_OFFSET: 0x80000000
[ 6.864907] CPU features: 0x0,00000001,7002814a,2b0172ab
[ 6.870420] Memory Limit: none
[ 6.873485] ---[ end Kernel panic - not syncing: Oops: Fatal exception ]---

發問題的時候請敘述一下

  1. 請問你使用的是custom board or NV devkit

  2. 如果是custom board, 那麼你的底板設計跟NV devkit USB部份哪邊有差別?

有這些資訊才能回答你的問題.

1.使用得是custom board

2.使用了usb2-0 usb2-1 usb2-2 usb3-0作为host,在JP5.1.5成功启动内核,但JP7.2不行,在同一套custom board

請把完整的dmesg跟最後的runtime device tree附上.

usb3-0你們是搭配哪一個usb2?

log.zip (83.3 KB)

1.见附件

2.与NV devkit 一致

dmesg每一行都被截斷了. 請你resize一下terminal再抓一次

					endpoint {
						remote-endpoint = <0xfd>;
						phandle = <0x109>;
					};

能把這個沒有在使用的endpoint拿掉嗎?

这个会影响吗,我这边typec节点disbaled得

dmesg.log (83.7 KB)

这个日志是否可行

請教一下你xudc是關掉的情況下你們是怎麼燒錄板子的?

initrd打开,进入内核关闭,在JP5.1.5是运行成功的,且能引导内核,但是无法引导JP7.2的内核

請問有這整個開機流程的UART log嗎? 我的意思是包含bootloader部份.

dmesg.log (154.7 KB)

重启机器后拿到的全部日志,后面内核卡住了

能否詳述一下你們使用的flash方式?

我認為目前應該是有部份software沒有搭配上所以發生這個問題

UEFI/BPMP/UEFI-DTB/kernel/kernel-dtb

刷机命令

sudo ./tools/kernel_flash/l4t_initrd_flash.sh jetson-orin-nano-devkit-super internal

使用/boot/extlinux/extlinux.conf切换dtb,进入linux使用usb 作为host dtb

你提到的UEFI/BPMP/UEFI-DTB/kernel/kernel-dtb需要搭配这个文件如何搭配呢,有什么方法

我這邊想用Devkit複製看看你的問題

想請問你燒錄時候使用的dtb內容為何?

另外想請問一下, 你剛使用這段指令燒錄結束的時候機器應該是有正常開機而且沒碰上usb@3610000 crash的問題?

麻煩你在問題確定會發之後先暫時關閉usb@3610000然後去以下位置幫我抓這些資訊

root@tegra-ubuntu:/sys/kernel/debug/bpmp/debug/powergate# cat xusba/state
root@tegra-ubuntu:/sys/kernel/debug/bpmp/debug/powergate# cat xusbb/state
root@tegra-ubuntu:/sys/kernel/debug/bpmp/debug/powergate# cat xusbc/state

root@AP0:/sys/kernel/debug/bpmp/debug/powergate# cat xusba/state
1
root@AP0:/sys/kernel/debug/bpmp/debug/powergate# cat xusbb/state
1
root@AP0:/sys/kernel/debug/bpmp/debug/powergate# cat xusbc/state
0

Hi,

上面的問題有三個. 剩下兩個請也回覆一下