Feature Request: SATA support on PCIe M.2 E-key - Radxa Rock 5B
Feature Description
I've been trying to enable SATA on a Rock 5B for ages using a simple SATA breakout board from Radxa. Haven't succeeded so far, as either the system is ignoring my device tree overlays, or the provided device tree file is not suited to them.
This file lists the correct entries that the Radxa overlay is trying to enable/disable (except for the actual sata1 entry), but it seems to be missing a lot of stuff from the one provided by ubuntu-rockchip:
https://github.com/armbian/linux-rockchip/blob/b2c0f001502c0eadd8d2a227764124c14a2c059c/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
The overlay in question is this, but converted to a dtbo file using dtc: https://github.com/armbian/linux-rockchip/blob/b2c0f001502c0eadd8d2a227764124c14a2c059c/arch/arm64/boot/dts/rockchip/overlay/rock-5b-sata.dts
No matter what I do with the overlay files lspci always spits out that there's a free PCIe bridge.
ubuntu@ubuntu:~$ lspci
0000:00:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3588 (rev 01)
0000:01:00.0 Non-Volatile memory controller: ADATA Technology Co., Ltd. LEGEND 800 NVMe SSD (DRAM-less) (rev 01)
0004:40:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3588 (rev 01)
0004:41:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
Is there a way this could be added, or is there a known workaround?
This is how my u-boot config looks like:
# /etc/default/u-boot - configuration file for u-boot-update(8)
U_BOOT_UPDATE="true"
U_BOOT_ALTERNATIVES="default recovery"
U_BOOT_DEFAULT="l0"
U_BOOT_PROMPT="1"
U_BOOT_ENTRIES="all"
U_BOOT_MENU_LABEL="Debian GNU/Linux"
U_BOOT_PARAMETERS="ro earlycon"
U_BOOT_ROOT=""
U_BOOT_TIMEOUT="50"
U_BOOT_FDT=""
U_BOOT_FDT_DIR="/lib/firmware/"
U_BOOT_FDT_OVERLAYS="6.1.0-1025-rockchip/device-tree/rockchip/overlay/rock-5b-sata.dtbo"
U_BOOT_FDT_OVERLAYS_DIR="/lib/firmware/"
U_BOOT_SYNC_DTBS="false"
For completeness' sake I also looked at extlinux.conf and mended the FDT_OVERLAYS directory (truncated to /rockchip/overlay/rock.. .dbo), to no effect.
use a multimeter and test the actual pins of the socket, cross reference with the pinout table and see if VCC3V3 is actually provided or not.
Do you mean with the overlay loaded or in general? An E-key to SATA two port expander works perfectly fine, so I assume power is provided there, at least in PCIe mode.
What strikes me as interesting is that it never stops being advertised as a PCIe port - in my other computers, ports designated as SATA are shown as SATA under lspci.