0

Does anyone have a working UBoot config for accessing an NVME drive from UBoot running on a Raspberry Pi CM4?

I've compiled everything and UBoot is detecting my NVME correctly:

pci_bind_bus_devices: bus 1/pci_0:0.0: found device 0, function 0: find ret=-19
pci_find_and_bind_driver: Searching for driver: vendor=2646, device=2263
pci_find_and_bind_driver: Match found: nvme
pci_auto_config_devices: start
pci_auto_config_devices: device nvme#0
PCI Autoconfig: BAR 0, Mem, size=0x4000, address=0xc0000000 bus_lower=0xc0004000
pci_auto_config_devices: done

but it doesnt call nvme_uclass_post_probe() and therefore it doesnt create any block device.

Running the command "nvme scan" from the UBoot command line i'am getting a timeout in nvme_submit_sync_cmd(). -> ETIMEDOUT.

I'am using a Kingston A2000 SDD with the latest firmware "S5Z42109".

Does anyone have an idea? Thanks.

Daniel P.
  • 809
  • 8
  • 15
  • In the driver model binding devices is done early but probing is done as late as possible. 'nmve scan' only creates NVMe block devices. They are actually probed when the are used. nvme_uclass_post_probe() is for instance called by 'nmve info' if the block device was not probed before. – Xypron Jun 20 '21 at 10:50
  • Ah thanks, good to know... I have ordered another SDD in the meantime as i've read that some people also had problems with this Kingston A2000 SSD in the PineBook. But i think nvme_uclass_post_probe() should be called directly after the other probe() because the block devices will be created in nvme_uclass_post_probe(). – Daniel P. Jun 20 '21 at 18:37
  • Ok, i now also tried a WD Blue SN550 but still the same so i think it has to be a software problem... – Daniel P. Jun 26 '21 at 07:32

0 Answers0