The image you used is probably below, and the report below assumes the use of that image.
# sha1sum Manjaro-ARM-kde-plasma-rock3a-22.12.img.xz
7eaf0c6aa7b2dda04525370c1f9f4121b6086e05 Manjaro-ARM-kde-plasma-rock3a-22.12.img.xz
Could it be that the PCI-E lines on the E-key M.2 slote are disabled ?
How can I enable those ?
I think your guess is correct.
I have verified that all ‘PCIE-node’ are ‘disabled’ in ‘rk3568-rock-3a.dtb’.
Coincidentally, I have exactly the same Item (M.2 e-key to PCIE+USB adapter) as you.
* But ‘SATA-Card’ is different from the one you have.
Below we report the results before and after the change to ‘rk3568-rock-3a.dtb’.
# xz -d -c ./Manjaro-ARM-kde-plasma-rock3a-22.12.img.xz | dd of=/dev/mmcblk0 bs=8M status=progress oflag=direct iflag=fullblock
[ Original ]
# uname -a
Linux rock64 6.0.12-1-MANJARO-ARM #1 SMP PREEMPT Thu Dec 8 14:18:34 UTC 2022 aarch64 GNU/Linux
# dmesg | grep pcie
-- [none] ---
Below is the result when I change ‘rk3568-rock-3a.dtb’ and enable two ‘PCIE-node’.
For ‘SATA-Card’, the HDD drive is not connected because connecting the power cable is troublesome.
However, the ‘SATA-Card’ connected to ‘M.2: E-Key’ side is detected correctly.
And ‘nvme SSD’ connected to ‘M.2: M-key’ side is also detected correctly at the same time.
[After replace ‘rk3568-rock-3a.dtb’]
# dmesg | grep pcie
[ 0.290455] rockchip-dw-pcie 3c0000000.pcie: host bridge /pcie@fe260000 ranges:
[ 0.290521] rockchip-dw-pcie 3c0000000.pcie: IO 0x00f4100000..0x00f41fffff -> 0x00f4100000
[ 0.290553] rockchip-dw-pcie 3c0000000.pcie: MEM 0x00f4200000..0x00f5ffffff -> 0x00f4200000
[ 0.290573] rockchip-dw-pcie 3c0000000.pcie: MEM 0x0300000000..0x033fffffff -> 0x0000000000
[ 0.290849] rockchip-dw-pcie 3c0000000.pcie: iATU unroll: enabled
[ 0.290864] rockchip-dw-pcie 3c0000000.pcie: iATU regions: 8 ob, 8 ib, align 64K, limit 8G
[ 0.509471] rockchip-dw-pcie 3c0000000.pcie: PCIe Gen.2 x1 link up
[ 0.509732] rockchip-dw-pcie 3c0000000.pcie: PCI host bridge to bus 0000:00
[ 0.523941] pcieport 0000:00:00.0: PME: Signaling with IRQ 26
[ 0.524446] pcieport 0000:00:00.0: AER: enabled with IRQ 26
[ 0.525900] rockchip-dw-pcie 3c0800000.pcie: host bridge /pcie@fe280000 ranges:
[ 0.525950] rockchip-dw-pcie 3c0800000.pcie: IO 0x00f0100000..0x00f01fffff -> 0x00f0100000
[ 0.525982] rockchip-dw-pcie 3c0800000.pcie: MEM 0x00f0200000..0x00f1ffffff -> 0x00f0200000
[ 0.526001] rockchip-dw-pcie 3c0800000.pcie: MEM 0x0380000000..0x03bfffffff -> 0x0080000000
[ 0.537821] rockchip-dw-pcie 3c0800000.pcie: iATU unroll: enabled
[ 0.537848] rockchip-dw-pcie 3c0800000.pcie: iATU regions: 8 ob, 8 ib, align 64K, limit 8G
[ 0.749429] rockchip-dw-pcie 3c0800000.pcie: PCIe Gen.3 x2 link up
[ 0.749700] rockchip-dw-pcie 3c0800000.pcie: PCI host bridge to bus 0002:00
[ 0.782698] pcieport 0002:00:00.0: PME: Signaling with IRQ 28
[ 0.783158] pcieport 0002:00:00.0: AER: enabled with IRQ 28
# dmesg | grep ata
[ 0.824772] ata1: FORCE: PHY spd limit set to 3.0Gbps
[ 0.824788] ata1: SATA max UDMA/133 abar m8192@0xf4210000 port 0xf4210100 irq 36
[ 0.824801] ata2: FORCE: PHY spd limit set to 3.0Gbps
[ 0.824808] ata2: SATA max UDMA/133 abar m8192@0xf4210000 port 0xf4210180 irq 37
[ 0.824818] ata3: DUMMY
[ 0.824824] ata4: DUMMY
[ 0.824830] ata5: DUMMY
[ 1.160949] ata1: SATA link down (SStatus 0 SControl 320)
[ 1.491569] ata2: SATA link down (SStatus 0 SControl 320)
# dmesg | grep nvme
[ 0.815965] nvme nvme0: pci function 0002:01:00.0
[ 0.816050] nvme 0002:01:00.0: enabling device (0000 -> 0002)
[ 0.837109] nvme nvme0: allocated 61 MiB host memory buffer.
[ 0.987055] nvme nvme0: 4/0/0 default/read/poll queues
# lspci -vt
-+-[0000:00]---00.0-[01-ff]----00.0 JMicron Technology Corp. JMB58x AHCI SATA controller
\-[0002:00]---00.0-[01-ff]----00.0 KIOXIA Corporation NVMe SSD Controller BG4
# ls -al /dev/nv*
crw------- 1 root root 248, 0 Jan 26 14:39 /dev/nvme0
brw-rw---- 1 root disk 259, 0 Jan 26 14:39 /dev/nvme0n1
# dd if=/dev/nvme0n1 of=/dev/null bs=8M status=progress iflag=direct
128035676160 bytes (128GB, 119GiB) copied, 94.6728s, 1.4GB/s
Good luck.