基于自定义Yocto镜像的树莓派4B U-Boot中USB无法工作求助
树莓派4B U-Boot中USB启动失败排查求助
问题现象
在树莓派4B上通过boot.scr脚本从USB加载文件时,执行USB start或USB reset命令出现以下错误:
starting USB... Bus xhci_pci: pci_hose_bus_to_phys: invalid physical address xhci-pci init cannot map PCI mem bar probe failed, error -5 No working controllers found
环境说明:基于core-image的Yocto镜像,集成了meta-raspberrypi和meta-swupdate层;已将U-Boot版本从2023.1升级至2024.7,问题未解决。
已完成的排查操作
- 检查过
rpi_4_32b_defconfig文件及生成的.config文件,无法定位到USB相关配置的问题点 - 执行
pci命令,显示的2个设备与Linux系统/sys/bus/pci下的设备完全一致:
BusDevFun VendorId DeviceId Device Class Sub-Class _____________________________________________________________ 00.00.00 0x14e4 0x2711 Bridge device 0x04 01.00.00 0x1106 0x3483 Serial bus controller 0x03
- 对USB控制器(1.0.0设备)执行
pci bar 1.0.0命令,结果如下:
ID Base Size Width Type ---------------------------------------------------------- 0 0xfffffffffffff000 0x0000000000001000 64 MEM
- 对0.0.0设备执行
pci bar命令得到空表,该设备在Linux中使用pcieport驱动,暂未发现异常
求助排查方向
- 不确定U-Boot是否会使用设备树,当前从外部加载设备树,不清楚这对U-Boot本身、内核启动或两者的影响
- 报错提示无法映射PCI mem bar,后续应该从哪些方向进一步排查?
内容的提问来源于stack exchange,提问作者Thugmek
相关产品推荐
相关产品推荐

