rockchip rk3576: picking a board · @martinthebad
c64.jpg ─ □ ✕
thank you
bannerz.sys ─ □ ✕
libre culture open source it all make art encrypt everything junkerz
nav.exe ─ □ ✕
20260619 rockchip rk3576: picking a board for the flipper one

RK3576 and the Flipper One

The other prospect, and the one I flagged in the very first post. The Flipper One is built around the Rockchip RK3576, and the project takes a mainline-first stance: no vendor BSP, no ancient 6.1 fork. That means either contributing upstream or riding the work Collabora and the Rockchip community are landing now. Before buying anything I had to pick a dev board, so this week is that decision.

The SoC

The RK3576 is 4x Cortex-A72 plus 4x Cortex-A53 (big.LITTLE), a Mali G-52 MC3 GPU, a 6 TOPS NPU, and a Cortex-M0 low-power island. The useful fact is that it is closely related to the RK3588, so a lot of hardware blocks are shared and RK3588 drivers often need only minor adaptation. That is the lever for getting work done quickly.

The two boards Collabora tracks

There is no Flipper One in my hands to develop against, so the choice is between the two reference boards Collabora actually tests.

  • ArmSoM Sige5. Collabora's primary reference. 8 or 16 GB LPDDR4x, eMMC plus an M.2 NVMe slot, and (on v1.2 and later) a BCM43752 WiFi chip over SDIO that was mainlined in 6.17. Supply guaranteed to July 2034. The important gotcha: boards before September 2024 are v1.1 with a different WiFi chip (RTL8852BS), so order v1.2 or later.
  • Radxa Rock 4D. The closer hardware match to the Flipper One: LPDDR5 and a UFS module slot. The cost is the AIC8800D80 WiFi and Bluetooth, which has no upstream driver at all.

The two gaps that actually decide it

WiFi. The Flipper One uses an MT7921U connected over USB, and the mt7921u driver is fully mainlined. That is the nice part: any RK3576 board with a USB port can exercise the Flipper WiFi path with a USB dongle, regardless of what is soldered on. Neither board matches the Flipper WiFi exactly, so a dongle is the bridge either way.

Storage. The Flipper One boots from UFS 2.2. The UFS driver landed in 6.15, but only the Rock 4D has a UFS slot, so it is the only board that can boot from a UFS device and exercise UFS power states, error recovery and inline encryption. The Sige5 is eMMC only, which is a stable mainlined driver but a different storage class.

The call

  • General mainlining work: ArmSoM Sige5, v1.2 or later, 8 GB. More patches are written against it, more DT nodes submitted for it, more people debugging it. If I hit a wall the mailing-list audience is bigger. The LPDDR4x and eMMC gaps do not matter for the subsystem drivers I would actually be contributing to.
  • UFS or LPDDR5 subsystem work: Radxa Rock 4D, 8 GB. Its profile is the closer match to Flipper silicon. The blocked WiFi is a real cost unless writing that driver is the goal, in which case it is an opportunity.

Buy the 8 GB variant either way, to match the Flipper One's 8 GB for memory-pressure testing. If budget allows, both boards cost about the same and serve different jobs.

How much is already mainlined

A lot, which is encouraging. The core platform landed across 6.13 to 6.16: clocks and resets, power domains, cpufreq, GPIO and pinmux, I2C, SPI, UART, Ethernet (stmmac), eMMC and SD, the Mali GPU, HDMI, and the display controller. UFS landed in 6.15, SDIO in 6.17. In flight on the list right now: eDP, DisplayPort audio, PWM (v5), CAN (v10), the SAI audio interface, and the VDPU383 multi-core video decoder.

Where the open work is

The contribution targets, the things with no upstream work yet:

  • NPU. 6 TOPS, and the RK3588 NPU already has basic mainline support via rockchip-rknpu. The path is diff the RK3588 binding against the RK3576 TRM, add the compatible strings, then do the kernel-side driver adaptation, which is the hard part. Highest value, best defined.
  • SPDIF RX. A ~400 line vendor driver exists and it is explicitly called out as "should be quick." A sensible first contribution.
  • MIPI CSI and ISP (no camera drivers yet), video encode (VEPU510/720), OP-TEE BL32 for RK3576, an open replacement for the closed DDR init blob, and I3C, which is new hardware with no downstream driver anywhere.

The plan, then: clone the Collabora tree and get a booting baseline, read the PWM v5 thread to learn the process, take the SPDIF RX TODO as a warm-up, and aim at the NPU as the real target. And subscribe to linux-rockchip@lists.infradead.org, which I am already pulling in neomutt. Building that baseline is next week.

Ground truth lives in the Collabora RK3576 mainline status and the Flipper One mainlining page.

← upskilling toward kernel rust all posts next: build, boot, baseline →

Tune in next time. Same Bat time. Same Bat channel
gb.log
Guestbook
rollin.ini ─ □ ✕
solarpunk.bat ─ □ ✕
garden wizard