Toybrick

标题: 想在Linux上支持PCIE NVMe 固态硬盘,应该怎么修改内核? [打印本页]

作者: cjlongfei    时间: 2020-3-25 13:59
标题: 想在Linux上支持PCIE NVMe 固态硬盘,应该怎么修改内核?
想要支持PCIE NVMe 固态硬盘,应该怎么修改内核?设备树需要改吗

作者: addy    时间: 2020-3-25 14:26
正常不需要,主要是兼容性问题。
需要看下是否正确识别PCIE设备。
如果你有PCIE Nvme硬盘,把启动LOG信息发给我确认(dmesg命令查看)
作者: cjlongfei    时间: 2020-3-25 15:56
硬盘插上去没有反应,设备枚举不出来、lspci看不到设备,dmesg | grep pci的信息如下:
[    0.698433] phy phy-pcie-phy.9: Looking up phy-supply from device tree
[    0.698445] phy phy-pcie-phy.9: Looking up phy-supply property in node /pcie-phy failed
[    0.700578] rockchip-pcie f8000000.pcie: GPIO lookup for consumer ep
[    0.700590] rockchip-pcie f8000000.pcie: using device tree for GPIO lookup
[    0.700620] of_get_named_gpiod_flags: parsed 'ep-gpios' property of node '/pcie@f8000000[0]' - status (0)
[    0.700871] rockchip-pcie f8000000.pcie: Looking up vpcie3v3-supply from device tree
[    0.700885] rockchip-pcie f8000000.pcie: Looking up vpcie3v3-supply property in node /pcie@f8000000 failed
[    0.700901] rockchip-pcie f8000000.pcie: no vpcie3v3 regulator found
[    0.701479] rockchip-pcie f8000000.pcie: Looking up vpcie1v8-supply from device tree
[    0.701492] rockchip-pcie f8000000.pcie: Looking up vpcie1v8-supply property in node /pcie@f8000000 failed
[    0.701506] rockchip-pcie f8000000.pcie: no vpcie1v8 regulator found
[    0.702077] rockchip-pcie f8000000.pcie: Looking up vpcie0v9-supply from device tree
[    0.702089] rockchip-pcie f8000000.pcie: Looking up vpcie0v9-supply property in node /pcie@f8000000 failed
[    0.702102] rockchip-pcie f8000000.pcie: no vpcie0v9 regulator found
[    0.702665] rockchip-pcie f8000000.pcie: missing "memory-region" property
[    0.703279] PCI host bridge /pcie@f8000000 ranges:
[    0.746442] rockchip-pcie f8000000.pcie: PCI host bridge to bus 0000:00
[    0.747033] pci_bus 0000:00: root bus resource [bus 00-1f]
[    0.747542] pci_bus 0000:00: root bus resource [mem 0xfa000000-0xfbdfffff]
[    0.748162] pci_bus 0000:00: root bus resource [io  0x0000-0xfffff] (bus address [0xfbe00000-0xfbefffff])
[    0.749030] pci 0000:00:00.0: [1d87:0100] type 01 class 0x060400
[    0.749144] pci 0000:00:00.0: supports D1
[    0.749155] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    0.749409] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.750244] pci_bus 0000:01: busn_res: can not insert [bus 01-ff] under [bus 00-1f] (conflicts with (null) [bus 00-1f])
[    0.750258] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    0.750287] pci 0000:00:00.0: PCI bridge to [bus 01]
[    0.750999] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt
[    0.751638] pcie_pme 0000:00:00.0:pcie01: service driver pcie_pme loaded
[    0.751752] aer 0000:00:00.0:pcie02: service driver aer loaded
[    1.525382] ehci-pci: EHCI PCI platform driver

作者: addy    时间: 2020-3-25 18:06
这个LOG是正常的,没报错。
我们发布的内核已经支持PCIE NVME。
如果你自己修改内核,请把如下内核配置打开:
CONFIG_BLK_DEV_NVME=y
CONFIG_NVMEM=y
作者: addy    时间: 2020-3-25 18:08
如果枚举成功,会在/dev/目录下增加一个块设备:nvme0




欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3