Radxa Rock5 RK3588 SBC: PCIe lanes clarification

Hi Radxa & community,

I am trying to read up on the documentation of the Rock5 e.g. from this document Introduce ROCK 5 Model B - ARM Desktop level SBC - ROCK 5 - Radxa Forum and Rock5/hardware/5b - Radxa Wiki, to understand where the RK3588’s PCIe lanes go.

  • On the bottom of the SBC is a M.2 M key 22x80mm slot. A NVMe SSD any other fitting PCIe peripheral would fit here. How many PCIe lanes does it get?

  • On the top of the SBC is a M.2 E key, that one is 22x42mm is it? How many PCIe lanes does it get?

  • Finally do any more PCIe lanes go to any other chips on the SBC?

I would hope it’s 2x lanes to the lower M.2 + 2x lanes to the upper M.2. If I understood it right, the USB3 controller is built-in in the SoC so the USB3 consumes no PCIe lanes.

Looking forward to your confirmation. Thanks!

1 Like

Oh wait, I see on the RK3588 CPU specs that the RK3588 actually has FIVE PCIe lanes: 4x PCIe v3 + 1x PCIe v2.

Somehow that 1x PCIe v2 is integrated with the USB 3.0 and the SATA, they call it “Combo PIPE PHY Interface”.

Does the M.2 M key on the bottom get the 4x PCIe v3, and the M.2 E key on the top get the 1x PCIe v2?

. (cnx-software.com)

Oh wait a bit, reading the main Rock5 thread, I see a mentioning that there are more Rock5 variants and that one or both, use the “RK3588S” which is a limited RK3588 variant which only has 2x one PCIe v2 in total, is it?

Please clarify which Rock5 variants exist, and do they use RK3588S or RK3588?

(Cautionary note: There is also a “Rock5 Compute Module” and its specs are here https://wiki.radxa.com/Rock5/CM5 . That one is different altogether from the Rock5 SBC. Note that one is pin compatible with the Raspberry 4 Compute Module, and indeed it offers 2x PCIe v2 lanes.)

1 Like

Oh and then, if the lower M.2 is indeed 4x PCIe v3 lanes, in this situation:

Is it possible to bifurcate that M.2 slot into two separate M.2 slots that each get 2x PCIe v3 lanes only, or would a separate PCIe switch chip be needed to accomplish that?

1 Like

ROCK 5B has:

  • 1x M.2 M Key, PCIe 3.0 x4 lanes, for NVMe SSD
  • 1x M.2 E Key, PCIe 2.1 x1 lanes, for WiFi6

Thanks @jack. Now you also double-confirmed that the Rock5 SBC “model B” has the RK3588 and not RK3588S, thanks.

Also I learned from @stuartiannaylor’s post in other thread that

  • Bifurcation is possible indeed (of the lower M.2) to both two devices x 2 lanes each and to four devices x 1 lanes each.

  • About Rock5 models: There is only “model B” (the SBC) and “Compute Module”. The “model A” stopped at the idea stage, it doesn’t exist.

Out of curiosity, will M.2 E Key SATA controllers work in the E Key slot, or other E Key devices for those of us who don’t need a WiFi card?

Yes, for those who don’t need to use WiFi card, we will provide an adapter board(2$) to breakout the E key to SATA 7P. Any other suggestions?


It is still true that big GPU cards don’t work ?
And is it possible to ask RockChip if they can fix it or if they can fix it in next silicon release?

1 Like

@mIIsko, Read what does PCIe BAR means and it’s size for ARM.

Also. You do understand, that’s there literally zero performance gain from big GPU since CPU will be bottleneck?

I bought this https://www.youtube.com/watch?v=EV_kIwmgVMM
And I can connect big GPU over M.2 and I don’t see any bottleneck on CPU side :slight_smile:
But I can use it for lots of fun stuff :slight_smile:

Just to clarify… you’re talking about native SATA here, right?

So this adapter board will go into the M.2 Key E slot to switch the Combo PIPE PHY from PCIe to SATA?


You really have no idea what is x86_64 and arm64 and what the difference between them?

We are talking about watermelon and that you cant fry it and you saying “hey guys i bought meat and can fry it”

1 Like

Yes, with a device tree overlay, we can change the combo PHY to SATA mode:


Is there a module that converts one M2 into 2 M2?

There’s either PCIe Gen2 x1 or SATA in this M.2 key E slot so such a ‘module’ can not be a mechanical converter but needs to be one of those:

  • a PCIe switch that can turn one PCIe lane into multiple (sharing bandwidth, higher latency)
  • a PCIe controller e.g. providing additional SATA ports (ASM1061 for example to name the cheapest possible)
  • a SATA port multiplier like JMB575 that could turn the single SATA lane into 5 upstream SATA ports (I forgot whether we have already data if Rockchip’s recent SoCs support SATA PM or not and whether FIS-based switching or CBS but at least the RK3588 TRM states ‘Port Multiplier with FIS-based switching’ so this should be fine and with the SATA converter and a JMB575 we should be able to attach 5 pieces of spinning rust or SSDs to Rock 5B)

But due to space constraints none of this works in the M.2 2230 form factor so without an extender cable you’re lost.

is it also possible through combophy to enable sata through the usb3 port ? that way you can still have a option for wifi and storage through the pcie lanes .

would be nice when a vendor replace the hdmi board in a portable monitor with a rk3588 would be a nice streamer setup :wink:

It would be really great if you could ASAP purchase a JMB575 SATA port multiplier like this one and test with 2 SATA devices whether they can be seen or not. If you do so please provide dmesg output here so we can see whether FIS-based switching or CBS happens.

1 Like

Do you want a couple of those as you can have em free if you send address?

1 Like

If you was asking me: no, thank you. I lack the M.2 SATA converter and those boards look like JMB321 which IIRC doesn’t support FIS-based switching so we could not check RK3588’s capabilities.

Asides that why not let the manufacturer do this since they’ve tested already with SATA for sure and all they lack is such a JMB575 board for a few bucks :slight_smile:

JMB321 I think is sata II (The boards say sata III) but hey, who cares it was just an offer, they are gathering dust though.