ubuntu-rockchip icon indicating copy to clipboard operation
ubuntu-rockchip copied to clipboard

Feature Request: SATA support on PCIe M.2 E-key - Radxa Rock 5B

Open SuperGripM opened this issue 3 months ago • 2 comments

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.

SuperGripM avatar Sep 23 '25 16:09 SuperGripM

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.

GepingY avatar Oct 31 '25 10:10 GepingY

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.

SuperGripM avatar Nov 01 '25 08:11 SuperGripM