[PATCH v14 0/2] arm64: dts: rockchip: Add ALIENTEK QuarkPi-CA2
From: Bob Hui
Date: Tue Nov 03 2026 - 10:25:26 EST
This series adds support for the ALIENTEK QuarkPi-CA2, an RK3588S based
single board computer. The binding patch documents the board, the DTS
patch describes the hardware.
The DTS was rebuilt from scratch against the vendor 5.10 BSP device tree
and then translated to current mainline bindings, so that every node and
property has a vendor-side or schematic origin instead of being carried
over from the earlier revisions.
Changes in v14:
- Drop the unused media/video-interfaces.h include.
- Write the ramoops zone sizes as powers of two. ramoops_probe() rounds
record_size and pmsg_size down, so 64 KiB and 128 KiB are the sizes the
driver already used and the layout does not change.
- Keep combophy_avdd0v85 and combophy_avdd1v8 although nothing consumes
them; they document the two PHY rails the board has, and the combphy
driver has no supply property to attach them to.
- Keep both the direct and the amplified headphone routes: the vendor card
routes LOUT1/ROUT1 and its "Headphone Power" widget into the same
Headphone sink, and with only the amplifier path the jack is silent here.
- Link to v13: https://patch.msgid.link/20261103-quarkpi-ca2-v13-0-ad8c30cdb67e@xxxxxxx
Changes in v13:
- Add a link to the board schematics and the Reviewed-by tag from Shawn
Lin, who reviewed the sdmmc, sdhci and PCIe parts.
- Move the pin configuration of the headphone amplifier's enable GPIO from
the sound card node to the amplifier node itself, as suggested by the
review of v12: pinctrl is applied per device, so the amplifier can probe
before the sound card and request that GPIO while it is not yet
configured.
- Keep the direct LOUT1 and ROUT1 routes to the headphone jack alongside
the amplifier ones, contrary to the Sashiko bot's suggestion on v12:
describing only the amplifier path leaves the jack silent on this board,
while with both routes LOUT1 and ROUT1 each have two active consumers
during playback.
- Drop the leftover Assisted-by tag from the bindings patch.
- Link to v12: https://patch.msgid.link/20261102-quarkpi-ca2-v12-0-d749d9bb2bf9@xxxxxxx
Changes in v12, addressing the Sashiko bot's suggestions on v11:
- Sort the PMIC regulator nodes in natural order, so that dcdc-reg1 comes
before dcdc-reg10.
- Sort the phandle references in natural order, so that pwm7 comes before
pwm14.
- Put simple-audio-card,codec before simple-audio-card,cpu.
- Add the blank lines between sibling nodes that were missing.
- Link to v11: https://patch.msgid.link/20261102-quarkpi-ca2-v11-0-eb246076a82f@xxxxxxx
Changes in v11:
- Trim the commit message down to the board description and the list of
supported peripherals.
- Drop the Assisted-by tag.
- Note on the Reviewed-by line which nodes were reviewed.
- Sort the properties in aliases alphabetically.
- Sort the nodes without unit addresses alphabetically, everywhere.
- Drop the deprecated regulator-suspend-microvolt properties.
- Sort the phandle references alphabetically.
- Keep a single root node and merge the extra root nodes and the &{/}
block into it.
- Link to v10: https://patch.msgid.link/20261023-quarkpi-ca2-v10-0-9db904194e03@xxxxxxx
Changes in v10:
- Add the Acked-by tag from Conor Dooley, which I missed.
- Add the missing domain-supply for the GPU and NPU power domains. Without
it the power domain driver falls back to a dummy regulator for both.
- Enable the three NPU IOMMUs the enabled NPU cores reference. Without them
opening /dev/accel/accel0 fails with -ENODEV.
- Link to v9: https://patch.msgid.link/20261021-quarkpi-ca2-v9-0-b75006b22bc5@xxxxxxx
Testing: boots from microSD with this series on a v7.3 kernel, and the
on-board hardware (microSD, eMMC, HDMI, USB-C DP altmode, USB 3.0 and
USB 2.0, PCIe Wi-Fi, Bluetooth, GbE, ES8388 playback, PWM fan) works;
"make CHECK_DTBS=y" is clean. The NPU works on this revision (all three
cores detected, IOMMUs attached, /dev/accel/accel0 opens, MNIST classifier
95.00% correct on 200 images), and so do the H.264, HEVC, VP8 and AV1
decode paths.
Note: there is no fiq_debugger node, so the debug console is ttyS2 and
console=ttyS2,1500000 has to be added to the bootargs manually. Capture
from the headset microphone does not work with the in-tree es8328 driver;
that is fixed by a separate ASoC patch series (sound/soc/codecs/es8328.c)
and does not affect playback.
Please review.
---
Bob Hui (2):
dt-bindings: arm: rockchip: Add ALIENTEK QuarkPi-CA2
arm64: dts: rockchip: Add ALIENTEK QuarkPi-CA2
.../devicetree/bindings/arm/rockchip.yaml | 5 +
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../boot/dts/rockchip/rk3588s-quarkpi-ca2.dts | 1210 ++++++++++++++++++++
3 files changed, 1216 insertions(+)
---
base-commit: c03c1a14507dfaf8b856c2608f9ac216021fc222
change-id: 20261004-quarkpi-ca2-21d2a59c50c3
Best regards,
--
Bob Hui <bg9oxa@xxxxxxx>