Commit 24dc241b authored by Wasim Nazir's avatar Wasim Nazir Committed by Bjorn Andersson
Browse files

arm64: dts: qcom: lemans: Update memory-map for IoT platforms



The "automotive" memory map is the special case for the Lemans
configuration described by this dtsi, move it aside and use the IoT
memory map as the baseline.

Introduce "lemans-auto" as a derivative of "lemans" that retains the
old automotive memory map to support legacy use cases.

As part of the IoT memory map updates:
  - Introduce new carveouts for gunyah_md and pil_dtb. Adjust the size and
    base address of the PIL carveout to accommodate these changes.
  - Increase the size of the video/camera PIL carveout without affecting
    existing functionality.
  - Reduce the size of the trusted apps carveout to meet IoT-specific
    requirements.
  - Remove audio_mdf_mem, tz_ffi_mem, and their corresponding SCM references,
    as they are not required for IoT platforms.

Co-developed-by: default avatarPratyush Brahma <quic_pbrahma@quicinc.com>
Signed-off-by: default avatarPratyush Brahma <quic_pbrahma@quicinc.com>
Co-developed-by: default avatarPrakash Gupta <quic_guptap@quicinc.com>
Signed-off-by: default avatarPrakash Gupta <quic_guptap@quicinc.com>
Nacked-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarWasim Nazir <wasim.nazir@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250803110113.401927-3-wasim.nazir@oss.qualcomm.com


Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent c7724332
Loading
Loading
Loading
Loading
+104 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2023, Linaro Limited
 */

/dts-v1/;

#include "lemans.dtsi"

/delete-node/ &pil_camera_mem;
/delete-node/ &pil_adsp_mem;
/delete-node/ &q6_adsp_dtb_mem;
/delete-node/ &q6_gdsp0_dtb_mem;
/delete-node/ &pil_gdsp0_mem;
/delete-node/ &pil_gdsp1_mem;
/delete-node/ &q6_gdsp1_dtb_mem;
/delete-node/ &q6_cdsp0_dtb_mem;
/delete-node/ &pil_cdsp0_mem;
/delete-node/ &pil_gpu_mem;
/delete-node/ &pil_cdsp1_mem;
/delete-node/ &q6_cdsp1_dtb_mem;
/delete-node/ &pil_cvp_mem;
/delete-node/ &pil_video_mem;
/delete-node/ &gunyah_md_mem;

/ {
	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		tz_ffi_mem: tz-ffi@91c00000 {
			compatible = "shared-dma-pool";
			reg = <0x0 0x91c00000 0x0 0x1400000>;
			no-map;
		};

		pil_camera_mem: pil-camera@95200000 {
			reg = <0x0 0x95200000 0x0 0x500000>;
			no-map;
		};

		pil_adsp_mem: pil-adsp@95c00000 {
			reg = <0x0 0x95c00000 0x0 0x1e00000>;
			no-map;
		};

		pil_gdsp0_mem: pil-gdsp0@97b00000 {
			reg = <0x0 0x97b00000 0x0 0x1e00000>;
			no-map;
		};

		pil_gdsp1_mem: pil-gdsp1@99900000 {
			reg = <0x0 0x99900000 0x0 0x1e00000>;
			no-map;
		};

		pil_cdsp0_mem: pil-cdsp0@9b800000 {
			reg = <0x0 0x9b800000 0x0 0x1e00000>;
			no-map;
		};

		pil_gpu_mem: pil-gpu@9d600000 {
			reg = <0x0 0x9d600000 0x0 0x2000>;
			no-map;
		};

		pil_cdsp1_mem: pil-cdsp1@9d700000 {
			reg = <0x0 0x9d700000 0x0 0x1e00000>;
			no-map;
		};

		pil_cvp_mem: pil-cvp@9f500000 {
			reg = <0x0 0x9f500000 0x0 0x700000>;
			no-map;
		};

		pil_video_mem: pil-video@9fc00000 {
			reg = <0x0 0x9fc00000 0x0 0x700000>;
			no-map;
		};

		audio_mdf_mem: audio-mdf-region@ae000000 {
			reg = <0x0 0xae000000 0x0 0x1000000>;
			no-map;
		};

		hyptz_reserved_mem: hyptz-reserved@beb00000 {
			reg = <0x0 0xbeb00000 0x0 0x11500000>;
			no-map;
		};

		trusted_apps_mem: trusted-apps@d1900000 {
			reg = <0x0 0xd1900000 0x0 0x3800000>;
			no-map;
		};
	};

	firmware {
		scm {
			memory-region = <&tz_ffi_mem>;
		};
	};
};
+44 −31
Original line number Diff line number Diff line
@@ -513,7 +513,6 @@ firmware {
		scm {
			compatible = "qcom,scm-sa8775p", "qcom,scm";
			qcom,dload-mode = <&tcsr 0x13000>;
			memory-region = <&tz_ffi_mem>;
		};
	};

@@ -772,6 +771,11 @@ sail_ota_mem: sail-ss@90e00000 {
			no-map;
		};

		gunyah_md_mem: gunyah-md@91a80000 {
			reg = <0x0 0x91a80000 0x0 0x80000>;
			no-map;
		};

		aoss_backup_mem: aoss-backup@91b00000 {
			reg = <0x0 0x91b00000 0x0 0x40000>;
			no-map;
@@ -797,12 +801,6 @@ cdt_data_backup_mem: cdt-data-backup@91ba0000 {
			no-map;
		};

		tz_ffi_mem: tz-ffi@91c00000 {
			compatible = "shared-dma-pool";
			reg = <0x0 0x91c00000 0x0 0x1400000>;
			no-map;
		};

		lpass_machine_learning_mem: lpass-machine-learning@93b00000 {
			reg = <0x0 0x93b00000 0x0 0xf00000>;
			no-map;
@@ -814,62 +812,77 @@ adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap@94a00000 {
		};

		pil_camera_mem: pil-camera@95200000 {
			reg = <0x0 0x95200000 0x0 0x500000>;
			reg = <0x0 0x95200000 0x0 0x700000>;
			no-map;
		};

		pil_adsp_mem: pil-adsp@95c00000 {
			reg = <0x0 0x95c00000 0x0 0x1e00000>;
		pil_adsp_mem: pil-adsp@95900000 {
			reg = <0x0 0x95900000 0x0 0x1e00000>;
			no-map;
		};

		pil_gdsp0_mem: pil-gdsp0@97b00000 {
			reg = <0x0 0x97b00000 0x0 0x1e00000>;
		q6_adsp_dtb_mem: q6-adsp-dtb@97700000 {
			reg = <0x0 0x97700000 0x0 0x80000>;
			no-map;
		};

		pil_gdsp1_mem: pil-gdsp1@99900000 {
			reg = <0x0 0x99900000 0x0 0x1e00000>;
		q6_gdsp0_dtb_mem: q6-gdsp0-dtb@97780000 {
			reg = <0x0 0x97780000 0x0 0x80000>;
			no-map;
		};

		pil_cdsp0_mem: pil-cdsp0@9b800000 {
			reg = <0x0 0x9b800000 0x0 0x1e00000>;
		pil_gdsp0_mem: pil-gdsp0@97800000 {
			reg = <0x0 0x97800000 0x0 0x1e00000>;
			no-map;
		};

		pil_gpu_mem: pil-gpu@9d600000 {
			reg = <0x0 0x9d600000 0x0 0x2000>;
		pil_gdsp1_mem: pil-gdsp1@99600000 {
			reg = <0x0 0x99600000 0x0 0x1e00000>;
			no-map;
		};

		pil_cdsp1_mem: pil-cdsp1@9d700000 {
			reg = <0x0 0x9d700000 0x0 0x1e00000>;
		q6_gdsp1_dtb_mem: q6-gdsp1-dtb@9b400000 {
			reg = <0x0 0x9b400000 0x0 0x80000>;
			no-map;
		};

		pil_cvp_mem: pil-cvp@9f500000 {
			reg = <0x0 0x9f500000 0x0 0x700000>;
		q6_cdsp0_dtb_mem: q6-cdsp0-dtb@9b480000 {
			reg = <0x0 0x9b480000 0x0 0x80000>;
			no-map;
		};

		pil_video_mem: pil-video@9fc00000 {
			reg = <0x0 0x9fc00000 0x0 0x700000>;
		pil_cdsp0_mem: pil-cdsp0@9b500000 {
			reg = <0x0 0x9b500000 0x0 0x1e00000>;
			no-map;
		};

		audio_mdf_mem: audio-mdf-region@ae000000 {
			reg = <0x0 0xae000000 0x0 0x1000000>;
		pil_gpu_mem: pil-gpu@9d300000 {
			reg = <0x0 0x9d300000 0x0 0x2000>;
			no-map;
		};

		firmware_mem: firmware-region@b0000000 {
			reg = <0x0 0xb0000000 0x0 0x800000>;
		q6_cdsp1_dtb_mem: q6-cdsp1-dtb@9d380000 {
			reg = <0x0 0x9d380000 0x0 0x80000>;
			no-map;
		};

		hyptz_reserved_mem: hyptz-reserved@beb00000 {
			reg = <0x0 0xbeb00000 0x0 0x11500000>;
		pil_cdsp1_mem: pil-cdsp1@9d400000 {
			reg = <0x0 0x9d400000 0x0 0x1e00000>;
			no-map;
		};

		pil_cvp_mem: pil-cvp@9f200000 {
			reg = <0x0 0x9f200000 0x0 0x700000>;
			no-map;
		};

		pil_video_mem: pil-video@9f900000 {
			reg = <0x0 0x9f900000 0x0 0x1000000>;
			no-map;
		};

		firmware_mem: firmware-region@b0000000 {
			reg = <0x0 0xb0000000 0x0 0x800000>;
			no-map;
		};

@@ -914,7 +927,7 @@ deepsleep_backup_mem: deepsleep-backup@d1800000 {
		};

		trusted_apps_mem: trusted-apps@d1900000 {
			reg = <0x0 0xd1900000 0x0 0x3800000>;
			reg = <0x0 0xd1900000 0x0 0x1c00000>;
			no-map;
		};

+1 −1
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>

#include "lemans.dtsi"
#include "lemans-auto.dtsi"
#include "sa8775p-pmics.dtsi"

/ {