U-boot not loading NVMe driver on Pi CM4
Ignatius Rivaldi
minecraft2048 at gmail.com
Thu Feb 9 01:22:02 CET 2023
Hi all,
I'm using U-boot 2022.07 from Yocto Langdale distribution, with the
following NVMe related kconfigs manually enabled through menuconfig:
CONFIG_NVME
CONFIG_NVME_PCI
CONFIG_CMD_NVME
and logging turned into max
The SSD is Kioxia SSD, and it works with Pi 4 bootloader as I can boot
Raspberry Pi OS from the NVMe drive.
U boot is installed in the fat32 partition in the NVMe SSD for this Yocto
poky build.
When I boot to U boot prompt, I can see that the SSD is detected by pci
U-Boot> pci long
0
- 0 'pcie at 7d500000'
- found
Found PCI device 00.00.00:
vendor ID = 0x14e4
device ID = 0x2711
command register ID = 0x0006
status register = 0x0010
revision ID = 0x20
class code = 0x06 (Bridge device)
sub class code = 0x04
programming interface = 0x00
cache line = 0x08
latency time = 0x00
header type = 0x01
BIST = 0x00
base address 0 = 0x00000000
base address 1 = 0x00000000
primary bus number = 0x00
secondary bus number = 0x01
subordinate bus number = 0x01
secondary latency timer = 0x00
IO base = 0x00
IO limit = 0x00
secondary status = 0x0000
memory base = 0xc000
memory limit = 0xc000
prefetch memory base = 0xfff1
prefetch memory limit = 0x0001
prefetch memory base upper = 0x00000000
prefetch memory limit upper = 0x00000000
IO base upper 16 bits = 0x0000
IO limit upper 16 bits = 0x0000
expansion ROM base address = 0x00000000
interrupt line = 0x00
interrupt pin = 0x01
bridge control = 0x0000
1
- 0 'pcie at 7d500000'
- 1 'pci_0:0.0'
- found
Found PCI device 01.00.00:
vendor ID = 0x1e0f
device ID = 0x0001
command register ID = 0x0006
status register = 0x0010
revision ID = 0x00
class code = 0x01 (Mass storage controller)
sub class code = 0x08
programming interface = 0x02
cache line = 0x08
latency time = 0x00
header type = 0x00
BIST = 0x00
base address 0 = 0xc0000004
base address 1 = 0x00000000
base address 2 = 0x00000000
base address 3 = 0x00000000
base address 4 = 0x00000000
base address 5 = 0x00000000
cardBus CIS pointer = 0x00000000
sub system vendor ID = 0x1e0f
sub system ID = 0x0001
expansion ROM base address = 0x00000000
interrupt line = 0x00
interrupt pin = 0x01
min Grant = 0x00
max Latency = 0x00
2
- 0 'pcie at 7d500000'
- 1 'pci_0:0.0'
- not found
but it doesn't show up in nvme scan or nvme info
U-Boot> nvme info
U-Boot> nvme scan
I know that U boot can boot from NVMe, as I can run Home Assistant OS that's
based on U boot on NVMe drive. I just don't know if I missed a kconfig
somewhere, or this U boot version haven't implement it
Can anyone help me with this?
Thanks
Ignatius
More information about the U-Boot
mailing list