mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2] arm64: dts: qcom: hamoa: Add remoteproc in EL2 device trees
@ 2026-02-02  5:54 Xin Liu
  2026-02-02 15:28 ` Abel Vesa
  2026-03-04 20:16 ` Bjorn Andersson
  0 siblings, 2 replies; 6+ messages in thread
From: Xin Liu @ 2026-02-02  5:54 UTC (permalink / raw)
  To: andersson, konradybcio, robh, krzk+dt, conor+dt
  Cc: linux-arm-msm, devicetree, linux-kernel, tingwei.zhang, jie.gan

All the existing variants Hamoa 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 remoteproc to the EL2 device trees to generate the corresponding
-el2.dtb files.

[1]
https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-4/boot-developer-touchpoints.html#uefi

Signed-off-by: Xin Liu <xin.liu@oss.qualcomm.com>
---
Changes in v2:
- Fix the adsp iommus mask
- Link to v1 : https://lore.kernel.org/all/20260130073113.3091884-1-xin.liu@oss.qualcomm.com/

 arch/arm64/boot/dts/qcom/x1-el2.dtso | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1-el2.dtso b/arch/arm64/boot/dts/qcom/x1-el2.dtso
index 175679be01eb..ee006742d6f3 100644
--- a/arch/arm64/boot/dts/qcom/x1-el2.dtso
+++ b/arch/arm64/boot/dts/qcom/x1-el2.dtso
@@ -52,6 +52,14 @@ &pcie_smmu {
 	status = "okay";
 };
 
+&remoteproc_adsp {
+	iommus = <&apps_smmu 0x1000 0x80>;
+};
+
+&remoteproc_cdsp {
+	iommus = <&apps_smmu 0x0c00 0x0>;
+};
+
 /*
  * The "SBSA watchdog" is implemented in software in Gunyah
  * and can't be used when running in EL2.
-- 
2.43.0


^ permalink raw reply	[flat|nested] 6+ messages in thread
* Re: [PATCH v2] arm64: dts: qcom: hamoa: Add remoteproc in EL2 device trees
@ 2026-09-14 14:37 Birk Skyum
  0 siblings, 0 replies; 6+ messages in thread
From: Birk Skyum @ 2026-09-14 14:37 UTC (permalink / raw)
  To: Val Packett
  Cc: Stephan Gerhold, Bjorn Andersson, Xin Liu, Jens Glathe,
	Nikita Travkin, linux-arm-msm, devicetree, linux-kernel

Hi,

I reproduced this failure on a Lenovo Yoga Slim 7x (83ED), BIOS NHCN62WW,
using Arch Linux ARM kernel 7.2.4-1 and SLBounce. Boot stalled with repeated
SMMU faults, including FSR=0x402, SID=0x1000 and IOVA=0x86b020c0.

I then tested Jens Glathe's non-PAS EL2 overlay [1]. Keeping the kernel,
initramfs, boot arguments and SLBounce unchanged, removing the two
top-level ADSP/CDSP iommus properties allowed Linux to reach userspace and
initialize KVM.

Subsequent one- and two-vCPU Linux guests passed CPU and timer checks and
shut down cleanly across two cold boots. The host remained responsive, and
post-test kernel-log searches found no "Unhandled context fault" messages.

These were RAM-only tests, without GPU or remoteproc modules, so they
validate boot and basic KVM operation rather than full desktop or DSP
support.

[1] https://github.com/jglathe/linux_ms_dev_kit/commit/ce20a20db795f299983f092fb899e0ad1c005be3

Thanks,
Birk


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-09-14 14:38 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-02-02  5:54 [PATCH v2] arm64: dts: qcom: hamoa: Add remoteproc in EL2 device trees Xin Liu
2026-02-02 15:28 ` Abel Vesa
2026-03-04 20:16 ` Bjorn Andersson
2026-03-05 10:57   ` Stephan Gerhold
2026-03-28  8:22     ` Val Packett
2026-09-14 14:37 Birk Skyum

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®