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

From: Mukesh Ojha

Date: Tue Jul 07 2026 - 03:21:29 EST


On Mon, Jul 06, 2026 at 10:42:53PM +0300, Dmitry Baryshkov wrote:
> 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.

Are you saying, let us rely on what is coming from the base upon
which this overlay is being applied.

>
> > +
> > + 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.

Sure.

>
> > /delete-node/ &wpss_mem;
> > /delete-node/ &xbl_mem;
> >
>
> --
> With best wishes
> Dmitry

--
-Mukesh Ojha