Re: [PATCH v9] arm64: dts: qcom: kodiak: Add EL2 overlay

From: Dmitry Baryshkov

Date: Mon Jul 06 2026 - 15:43:09 EST


On Mon, Jul 06, 2026 at 09:44:28PM +0530, Mukesh Ojha wrote:
> All the existing Kodiak board variants run the Gunyah hypervisor, which
> means Linux can only boot at EL1 on those devices. It is possible to
> boot Linux at EL2 on these devices [1].
>
> When running under Gunyah, remote processor firmware IOMMU streams are
> controlled by Gunyah. Without Gunyah, the IOMMU is managed by the
> consumer of the DeviceTree. Describe the firmware streams for each
> remote processor in the EL2 overlay.
>
> Add an EL2-specific DT overlay and apply it to Kodiak IoT variant devices
> to create -el2.dtb for each alongside the standard dtb.
>
> Note that modem and media subsystems are not yet supported due to
> missing support are not there. For GPU to work, zap shader is
> disabled. In EL2 mode the kernel owns the hardware watchdog,
> which is enabled here. For WiFi, the wlan_ce_mem and wlan_fw_mem
> regions are needed by the WCN6750 firmware.
>
> Remove the erroneous deletion of wlan_ce_mem from qcm6490-idp.dts
> and qcs6490-rb3gen2.dts as this is device memory and should be
> present even for EL1 configurations, whether or not the
> underlying OS uses it.
>
> [1] https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-4/boot-developer-touchpoints.html#uefi
>
> Co-developed-by: Sumit Garg <sumit.garg@xxxxxxxxxxxxxxxx>
> Signed-off-by: Sumit Garg <sumit.garg@xxxxxxxxxxxxxxxx>
> Signed-off-by: Mukesh Ojha <mukesh.ojha@xxxxxxxxxxxxxxxx>
> ---
> Changes in v9: https://lore.kernel.org/lkml/20260624063952.2242702-1-mukesh.ojha@xxxxxxxxxxxxxxxx/
> - Remove reserve memory change of adding copy engine device
> memory back in el2 overlay file instead do not remove
> wpss ce device memory from el1 configurations for idp
> or rb3gen2 device tree. [Miaoqing ]
>
> diff --git a/arch/arm64/boot/dts/qcom/kodiak-el2.dtso b/arch/arm64/boot/dts/qcom/kodiak-el2.dtso
> new file mode 100644
> index 000000000000..37a906218d17
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/kodiak-el2.dtso
> @@ -0,0 +1,41 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + *
> + * Kodiak specific modifications required to boot in EL2.
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +&gpu_zap_shader {
> + status = "disabled";
> +};
> +
> +&remoteproc_adsp {
> + iommus = <&apps_smmu 0x1800 0x0>;
> +};
> +
> +&remoteproc_cdsp {
> + iommus = <&apps_smmu 0x11a0 0x0400>;
> +};
> +
> +&remoteproc_mpss {
> + status = "disabled";
> +};
> +
> +&venus {
> + status = "disabled";
> +};
> +
> +&watchdog {
> + status = "okay";
> +};
> +
> +&wifi {
> + status = "okay";

Hmm, don't. The platforms doesn't necessarily has the WiFi enabled.

> +
> + wifi-firmware {
> + iommus = <&apps_smmu 0x1c02 0x1>;
> + };
> +};
> diff --git a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
> index bdc02260f902..6ab1bbdc0a62 100644
> --- a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
> +++ b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
> @@ -25,7 +25,6 @@
> /delete-node/ &adsp_mem;
> /delete-node/ &cdsp_mem;
> /delete-node/ &video_mem;
> -/delete-node/ &wlan_ce_mem;

Separate commit.

> /delete-node/ &wpss_mem;
> /delete-node/ &xbl_mem;
>

--
With best wishes
Dmitry