[Bug 274484] NVMe drive not working on RK3566 Rock 3C Model
Date: Sun, 15 Oct 2023 10:26:13 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274484
Bug ID: 274484
Summary: NVMe drive not working on RK3566 Rock 3C Model
Product: Base System
Version: 15.0-CURRENT
Hardware: arm64
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: arm
Assignee: freebsd-arm@FreeBSD.org
Reporter: szczepan@szczepan.net
Hi.
I'm trying to get NVMe driver working under this board. From the specs it's
very similar to Quartz64-B, which should have some support already in kernel
and also in DTS (PCIe is enabled in there).
I'm using FreeBSD 15.0-CURRENT #0 main-n265904-bb679b0c4909.
DTS used is the one from
https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.5/files/0845-arm64-dts-rockchip-add-dts-for-rock3c.patch
(I've compared it with Quartz64-b and only some USB diffs are in there).
The effect is the same with this DTS and Quart64-b one.
Ethernet works, 2 USB works. Here are some logs from boot (if needed I can
provide full dmesg, I think this part is related to pcie):
pcib0: <RockChip RK3568 PCI-express controller> mem
0x3c0000000-0x3c03fffff,0xfe260000-0xfe26ffff,0xf4000000-0xf40fffff irq
34,35,36,37,38 on ofwbus0
rk3568_combphy1: configuring for PCIe ref_clk=25000000
pcib0: Bus is not cache-coherent
pcib0: Using iATU unroll mode
pcib0: Detected outbound iATU regions: 8
pci0: <OFW PCI bus> on pcib0
pci0: domain=0, physical bus=0
found-> vendor=0x1d87, dev=0x3566, revid=0x01
domain=0, bus=0, slot=0, func=0
class=06-04-00, hdrtype=0x01, mfdev=0
cmdreg=0x0107, statreg=0x0010, cachelnsz=0 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
intpin=a, irq=255
powerspec 3 supports D0 D1 D2 D3 current D0
MSI supports 32 messages, 64 bit
MSI-X supports 1 message in map 0x10
secbus=1, subbus=255
pcib1: <PCI-PCI bridge> at device 0.0 on pci0
pcib0: failed to reserve resource for pcib1
pcib1: failed to allocate initial I/O port window: 0-0xfff
pcib0: failed to reserve resource for pcib1
pcib1: failed to allocate initial memory window: 0-0xfffff
pcib0: failed to reserve resource for pcib1
pcib1: failed to allocate initial prefetch window: 0-0xfffff
pcib1: domain 0
pcib1: secondary bus 1
pcib1: subordinate bus 255
pci1: <PCI bus> on pcib1
pcib1: allocated bus range (1-1) for rid 0 of pci1
pci1: domain=0, physical bus=1
found-> vendor=0x1217, dev=0x8760, revid=0x01
domain=0, bus=1, slot=0, func=0
class=01-08-02, hdrtype=0x00, mfdev=0
cmdreg=0x0000, statreg=0x0010, cachelnsz=0 (dwords)
lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
intpin=a, irq=255
powerspec 3 supports D0 D3 current D0
MSI supports 16 messages, 64 bit, vector masks
MSI-X supports 16 messages in map 0x10
map[10]: type Memory, range 64, base 0, size 14, memory disabled
nvme0: <Generic NVMe Device> at device 0.0 on pci1
pcib1: allocated initial memory window of 0x40000000-0x400fffff
pcib1: allocated memory range (0x40000000-0x40003fff) for rid 10 of nvme0
nvme0: Lazy allocation of 0x4000 bytes rid 0x10 type 3 at 0x40000000
ofw_pci mapdev: start 300000000, len 16384
nvme0: attempting to allocate 5 MSI-X vectors (16 supported)
nvme0: using IRQs 82-86 for MSI-X
nvme0: CapLo: 0xffffffff: MQES 65535, CQR, AMS WRRwUPC VS, TO 255
nvme0: CapHi: 0xffffffff: DSTRD 15, NSSRS, CSS ff, BPS, MPSMIN 15, MPSMAX 15,
PMRS, CMBS
nvme0: Version: 0xffffffff: 65535.255
nvme0: PMRCap: 0xffffffff: BIR 7, RDS, WDS, PMRTU 3, PMRWBM f, PMRTO 255, CMSS
Then:
root@freebsd:~ # nvmecontrol devlist
nvme0: pt->len (4096) exceeds max_xfer_size (0)
I've checked the NVMe under Linux on the same board and it's working fine, the
specs are:
root@rock-3c:~# nvme list
Node SN Model
Namespace Usage Format FW Rev
--------------------- --------------------
---------------------------------------- --------- --------------------------
---------------- --------
/dev/nvme0n1 MCF433D00C30E E2M2 64GB
1 61.87 GB / 61.87 GB 512 B + 0 B 10100080
The drive is FORESEE FE2H0M064G-B5X10 64GB M.2 PCIe
--
You are receiving this mail because:
You are the assignee for the bug.