Shikra boards currently boot Linux under a hypervisor, where the remote processor firmware IOMMU streams are managed by the hypervisor. When booting Linux directly at EL2 without the hypervisor, the IOMMU is instead managed by the consumer of this DeviceTree, so the firmware streams for each remote processor need to be described explicitly.
Add an EL2-specific DT overlay and apply it to all Shikra EVK variants devices to produce an -el2.dtb alongside the "normal" dtb. Co-developed-by: Bibek Kumar Patro <[email protected]> Signed-off-by: Bibek Kumar Patro <[email protected]> Reviewed-by: Abel Vesa <[email protected]> Signed-off-by: Komal Bajaj <[email protected]> --- arch/arm64/boot/dts/qcom/Makefile | 12 ++++++++++++ arch/arm64/boot/dts/qcom/shikra-el2.dtso | 23 +++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 4e714251d5e6..634914b8f229 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -367,9 +367,20 @@ dtb-$(CONFIG_ARCH_QCOM) += sdm850-lenovo-yoga-c630.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm850-samsung-w737.dtb dtb-$(CONFIG_ARCH_QCOM) += sdx75-idp.dtb dtb-$(CONFIG_ARCH_QCOM) += shikra-cqm-evk.dtb + +shikra-cqm-evk-el2-dtbs := shikra-cqm-evk.dtb shikra-el2.dtbo +dtb-$(CONFIG_ARCH_QCOM) += shikra-cqm-evk-el2.dtb + dtb-$(CONFIG_ARCH_QCOM) += shikra-cqs-evk.dtb + +shikra-cqs-evk-el2-dtbs := shikra-cqs-evk.dtb shikra-el2.dtbo +dtb-$(CONFIG_ARCH_QCOM) += shikra-cqs-evk-el2.dtb + dtb-$(CONFIG_ARCH_QCOM) += shikra-iqs-evk.dtb +shikra-iqs-evk-el2-dtbs := shikra-iqs-evk.dtb shikra-el2.dtbo +dtb-$(CONFIG_ARCH_QCOM) += shikra-iqs-evk-el2.dtb + shikra-cqm-evk-imx577-camera-dtbs := shikra-cqm-evk.dtb shikra-cqm-cqs-evk-imx577-camera.dtbo shikra-cqs-evk-imx577-camera-dtbs := shikra-cqs-evk.dtb shikra-cqm-cqs-evk-imx577-camera.dtbo shikra-iqs-evk-imx577-camera-dtbs := shikra-iqs-evk.dtb shikra-iqs-evk-imx577-camera.dtbo @@ -377,6 +388,7 @@ shikra-iqs-evk-imx577-camera-dtbs := shikra-iqs-evk.dtb shikra-iqs-evk-imx577-ca dtb-$(CONFIG_ARCH_QCOM) += shikra-cqm-evk-imx577-camera.dtb dtb-$(CONFIG_ARCH_QCOM) += shikra-cqs-evk-imx577-camera.dtb dtb-$(CONFIG_ARCH_QCOM) += shikra-iqs-evk-imx577-camera.dtb + dtb-$(CONFIG_ARCH_QCOM) += sm4250-oneplus-billie2.dtb dtb-$(CONFIG_ARCH_QCOM) += sm4450-qrd.dtb dtb-$(CONFIG_ARCH_QCOM) += sm6115-fxtec-pro1x.dtb diff --git a/arch/arm64/boot/dts/qcom/shikra-el2.dtso b/arch/arm64/boot/dts/qcom/shikra-el2.dtso new file mode 100644 index 000000000000..d2f3186bd47d --- /dev/null +++ b/arch/arm64/boot/dts/qcom/shikra-el2.dtso @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + * + * Shikra specific modifications required to boot in EL2. + */ + +/dts-v1/; +/plugin/; + +&gpu_zap_shader { + status = "disabled"; +}; + +&remoteproc_cdsp { + iommus = <&apps_smmu 0x0200 0x0>; +}; + +&remoteproc_lpaicp { + iommus = <&apps_smmu 0x0360 0x0005>, + <&apps_smmu 0x0366 0x0000>, + <&apps_smmu 0x00e7 0x0000>; +}; -- 2.34.1

