Skip to content

arm64: qcom: Enable additional hardware on Radxa Dragon Q6A

Graham O'Connor dri-devel linux-arm-msm linux-devicetree lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest6 patches 13 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6soc: qcom: rpmh-rsc: Skip TCS init when RSC is managed by firmwaredrivers/soc/qcom/rpmh-rsc.c+14 -03 replies
2/6firmware: qcom: scm: Allow EFI variable access on Radxa Dragon Q6Adrivers/firmware/qcom/qcom_scm.c+1 -01 reply
3/6drm/msm/dp: Limit voltage swing level to 2 for RA620 bridgedrivers/gpu/drm/msm/dp/dp_link.h+1 -12 replies
4/6arm64: dts: qcom: qcs6490-radxa-dragon-q6a: Add regulator supplies and disable EUDarch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts+20 -01 reply
5/6arm64: dts: qcom: qcs6490-radxa-dragon-q6a: Enable GPU and display pipelinearch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts+85 -01 reply
6/6arm64: dts: qcom: qcs6490-radxa-dragon-q6a: Enable USB3 SuperSpeedarch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts+71 -01 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/6] arm64: qcom: Enable additional hardware on Radxa Dragon Q6A

The Radxa Dragon Q6A is a compact single-board computer based on the Qualcomm QCS6490 SoC (sc7280 family). A basic DTS for this board already exists in mainline. This series enables the remaining hardware and fixes platform-specific issues required for correct operation when booting via UEFI firmware.

Patches 1-3 fix platform issues affecting QCS6490 boards booting via UEFI firmware:

- The RSC hardware solver is left active by the UEFI firmware, causing a security violation if the kernel attempts to reinitialize it.
- EFI variable access requires the board compatible string in the SCM allowlist.
- The RA620 DP-to-HDMI bridge does not complete link training at voltage swing level 3. Capping at level 2 matches the vendor kernel behaviour and allows HDMI output to work correctly.

Patches 4-6 add DTS nodes enabling:

- GPU (Adreno 643) with clock controller and GMU
- DisplayPort output via RA620 passive DP-to-HDMI bridge
- USB3 SuperSpeed via the QMP combo PHY shared with DisplayPort

The following has been confirmed working on this board with mainline drivers:
- KDE Plasma 6.6.5 desktop on Wayland with GPU acceleration
- HDMI display output via RA620 passive DP-to-HDMI bridge
- USB3 SuperSpeed (5Gbps confirmed via lsusb)
- OpenGL 4.6 and Vulkan 1.3 via Mesa Freedreno/Turnip
- Hardware video decode/encode via Venus (H.264, HEVC, VP9, MPEG-2)
- Audio via WCD938x codec (headphone output, microphone, HDMI audio)
- FastRPC interface to Hexagon DSP available (/dev/fastrpc-cdsp) though inference workloads have not been tested

With the out-of-tree AIC8800 driver for the onboard Quectel FCU760K WiFi/BT module, all remaining hardware on the board is functional under mainline Linux.

Tested on Radxa Dragon Q6A (QCS6490) with mainline Linux 7.0.9.

Graham O'Connor (6):
soc: qcom: rpmh-rsc: Skip TCS init when RSC is managed by firmware
firmware: qcom: scm: Allow EFI variable access on Radxa Dragon Q6A drm/msm/dp: Limit voltage swing level to 2 for RA620 bridge
arm64: dts: qcom: qcs6490-radxa-dragon-q6a: Add regulator supplies and
disable EUD
arm64: dts: qcom: qcs6490-radxa-dragon-q6a: Enable GPU and display
pipeline
arm64: dts: qcom: qcs6490-radxa-dragon-q6a: Enable USB3 SuperSpeed

 .../dts/qcom/qcs6490-radxa-dragon-q6a.dts     | 176 ++++++++++++++++++
 drivers/firmware/qcom/qcom_scm.c              |   1 +
 drivers/gpu/drm/msm/dp/dp_link.h              |   2 +-
 drivers/soc/qcom/rpmh-rsc.c                   |  14 ++
 4 files changed, 192 insertions(+), 1 deletion(-)
Signature · 1 line
2.53.0