Skip to content

Commit 3f841ba

Browse files
committed
arm64: dts: qcom: add Radxa CM-Q64 on RPi CM5 IO carrier board
Add device tree for Radxa CM-Q64 compute module on Raspberry Pi CM5 IO carrier board. Includes full PMIC, PCIe, USB, DP, audio (WCD938x), UFS, and SD card support. Add KVM overlay for hypervisor mode configuration. Signed-off-by: Jiali Chen <chenjiali@radxa.com>
1 parent 204ce5b commit 3f841ba

3 files changed

Lines changed: 1404 additions & 0 deletions

File tree

arch/arm64/boot/dts/qcom/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,9 @@ dtb-$(CONFIG_ARCH_QCOM) += qcm6490-shift-otter.dtb
126126
dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb
127127
dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb
128128
dtb-$(CONFIG_ARCH_QCOM) += qcs615-ride.dtb
129+
dtb-$(CONFIG_ARCH_QCOM) += qcs6490-radxa-cm-q64-rpi-cm5-io.dtb
130+
qcs6490-radxa-cm-q64-rpi-cm5-io-kvm-dtbs := qcs6490-radxa-cm-q64-rpi-cm5-io.dtb qcs6490-radxa-cm-q64-rpi-cm5-io-kvm.dtbo
131+
dtb-$(CONFIG_ARCH_QCOM) += qcs6490-radxa-cm-q64-rpi-cm5-io-kvm.dtb
129132
dtb-$(CONFIG_ARCH_QCOM) += qcs6490-radxa-dragon-q6a.dtb
130133
qcs6490-radxa-dragon-q6a-kvm-dtbs := qcs6490-radxa-dragon-q6a.dtb qcs6490-radxa-dragon-q6a-kvm.dtbo
131134
dtb-$(CONFIG_ARCH_QCOM) += qcs6490-radxa-dragon-q6a-kvm.dtb
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
// SPDX-License-Identifier: BSD-3-Clause
2+
/*
3+
* Copyright (c) 2025 Radxa Computer (Shenzhen) Co., Ltd.
4+
*
5+
* This device tree overlay is supposed to be applied by UEFI firmware
6+
* when Hypervisor Override is set to enabled.
7+
*/
8+
9+
#include <dt-bindings/firmware/qcom,scm.h>
10+
11+
/dts-v1/;
12+
/plugin/;
13+
14+
/* Required when Hypervisor Override is set to auto */
15+
&{/chosen} {
16+
radxa,enable-kvm = <1>;
17+
};
18+
19+
/* We can't and don't need to use zap shader in EL2 as linux can zap the gpu on it's own. */
20+
&gpu_zap_shader {
21+
status = "disabled";
22+
};
23+
24+
&soc {
25+
#address-cells = <2>;
26+
#size-cells = <2>;
27+
28+
pcie@1c08000 {
29+
#address-cells = <3>;
30+
#size-cells = <2>;
31+
32+
/* Allow using upper PCIe space */
33+
ranges = <0x01000000 0x0 0x00000000 0x0 0x40200000 0x0 0x100000>,
34+
<0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x1fd00000>,
35+
<0x03000000 0x4 0x00000000 0x4 0x00000000 0x3 0x00000000>;
36+
};
37+
};
38+
39+
&remoteproc_adsp {
40+
qcom,broken-reset;
41+
};
42+
43+
&remoteproc_cdsp {
44+
qcom,broken-reset;
45+
};
46+
47+
&scm {
48+
qcom,shm-bridge-vmid = <QCOM_SCM_VMID_SELF_OWNER>;
49+
};
50+
51+
&venus {
52+
iommus = <&apps_smmu 0x2180 0x20>,
53+
<&apps_smmu 0x2184 0x20>;
54+
55+
video-firmware {
56+
iommus = <&apps_smmu 0x21a2 0x0>;
57+
};
58+
};

0 commit comments

Comments
 (0)