Skip to content

Commit ef58808

Browse files
FROMLIST: arm64: dts: qcom: kodiak: Add EL2 overlay
All the existing variants Kodiak boards are using Gunyah hypervisor which means that, so far, Linux-based OS could only boot in EL1 on those devices. However, it is possible for us to boot Linux at EL2 on these devices [1]. When running under Gunyah, the remote processor firmware IOMMU streams are controlled by Gunyah. However, without Gunyah, the IOMMU is managed by the consumer of this DeviceTree. Therefore, describe the firmware streams for each remote processor. Add a EL2-specific DT overlay and apply it to Kodiak IOT variant devices to create -el2.dtb for each of them alongside "normal" dtb. [1] https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-4/boot-developer-touchpoints.html#uefi Link: https://lore.kernel.org/lkml/20260327131043.627120-2-sumit.garg@kernel.org/ Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> [SG: watchdog fixup] Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com> [Mukesh: Added support for more variants] Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
1 parent 8cda12a commit ef58808

2 files changed

Lines changed: 46 additions & 0 deletions

File tree

arch/arm64/boot/dts/qcom/Makefile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,11 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-poplar.dtb
149149
dtb-$(CONFIG_ARCH_QCOM) += msm8998-xiaomi-sagit.dtb
150150
dtb-$(CONFIG_ARCH_QCOM) += purwa-iot-evk.dtb
151151
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-fairphone-fp5.dtb
152+
152153
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-idp.dtb
154+
qcm6490-idp-el2-dtbs := qcm6490-idp.dtb kodiak-el2.dtbo
155+
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-idp-el2.dtb
156+
153157
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-particle-tachyon.dtb
154158
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-shift-otter.dtb
155159
dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb
@@ -161,12 +165,19 @@ qcs615-ride-el2-dtbs := qcs615-ride.dtb talos-el2.dtbo
161165
dtb-$(CONFIG_ARCH_QCOM) += qcs615-ride-el2.dtb
162166

163167
dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2.dtb
168+
qcs6490-rb3gen2-el2-dtbs := qcs6490-rb3gen2.dtb kodiak-el2.dtbo
169+
dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-el2.dtb
164170

165171
qcs6490-rb3gen2-vision-mezzanine-dtbs := qcs6490-rb3gen2.dtb qcs6490-rb3gen2-vision-mezzanine.dtbo
166172
qcs6490-rb3gen2-industrial-mezzanine-dtbs := qcs6490-rb3gen2.dtb qcs6490-rb3gen2-industrial-mezzanine.dtbo
167173

168174
dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-industrial-mezzanine.dtb
175+
qcs6490-rb3gen2-industrial-mezzanine-el2-dtbs := qcs6490-rb3gen2-industrial-mezzanine.dtb kodiak-el2.dtbo
176+
dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-industrial-mezzanine-el2.dtb
177+
169178
dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-vision-mezzanine.dtb
179+
qcs6490-rb3gen2-vision-mezzanine-el2-dtbs := qcs6490-rb3gen2-vision-mezzanine.dtb kodiak-el2.dtbo
180+
dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-vision-mezzanine-el2.dtb
170181

171182
dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb
172183

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// SPDX-License-Identifier: BSD-3-Clause
2+
/*
3+
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
4+
*
5+
* Kodiak specific modifications required to boot in EL2.
6+
*/
7+
8+
9+
/dts-v1/;
10+
/plugin/;
11+
12+
&gpu_zap_shader {
13+
status = "disabled";
14+
};
15+
16+
&remoteproc_adsp {
17+
iommus = <&apps_smmu 0x1800 0x0>;
18+
};
19+
20+
&remoteproc_cdsp {
21+
iommus = <&apps_smmu 0x11a0 0x0400>;
22+
};
23+
24+
&remoteproc_wpss {
25+
iommus = <&apps_smmu 0x1c03 0x1>,
26+
<&apps_smmu 0x1c83 0x1>;
27+
};
28+
29+
&venus {
30+
status = "disabled";
31+
};
32+
33+
&watchdog {
34+
status = "okay";
35+
};

0 commit comments

Comments
 (0)