diff --git a/qcom/tuna-reserved-memory.dtsi b/qcom/tuna-reserved-memory.dtsi new file mode 100644 index 00000000..8c9df41b --- /dev/null +++ b/qcom/tuna-reserved-memory.dtsi @@ -0,0 +1,234 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +&reserved_memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + gunyah_hyp_mem: gunyah_hyp_region@80000000 { + no-map; + reg = <0x0 0x80000000 0x0 0xe00000>; + }; + + cpusys_vm_mem: cpusys_vm_region@80e00000 { + no-map; + reg = <0x0 0x80e00000 0x0 0x400000>; + }; + + cpucp_pdp_mem: cpucp_region@81200000 { + no-map; + reg = <0x0 0x81200000 0x0 0x200000>; + }; + + /* + * hyp_tags_mem is dynamically removed from the RAM + * partition tables before boot occurs. Size of region + * varies. + */ + + xbl_dtlog_mem: xbl_dtlog_region@81a00000 { + no-map; + reg = <0x0 0x81a00000 0x0 0x40000>; + }; + + aop_image_mem: aop_image_region@81c00000 { + no-map; + reg = <0x0 0x81c00000 0x0 0x60000>; + }; + + aop_cmd_db_mem: aop_cmd_db_region@81c60000 { + compatible = "qcom,cmd-db"; + no-map; + reg = <0x0 0x81c60000 0x0 0x20000>; + }; + + aop_config_mem: aop_config_region@81c80000 { + no-map; + reg = <0x0 0x81c80000 0x0 0x20000>; + }; + + tme_crash_dump_mem: tme_crash_dump_region@81ca0000 { + no-map; + reg = <0x0 0x81ca0000 0x0 0x40000>; + }; + + tme_log_mem: tme_log_region@81ce0000 { + no-map; + reg = <0x0 0x81ce0000 0x0 0x4000>; + }; + + uefi_log_mem: uefi_log_region@81ce4000 { + no-map; + reg = <0x0 0x81ce4000 0x0 0x10000>; + }; + + smem_mem: smem_region@81d00000 { + no-map; + reg = <0x0 0x81d00000 0x0 0x200000>; + }; + + pdp_ns_shared_mem: pdp_ns_shared_region@81f00000 { + no-map; + reg = <0x0 0x81f00000 0x0 0x100000>; + }; + + cpucp_scandump_mem: cpucp_scandump_region@82000000 { + no-map; + reg = <0x0 0x82000000 0x0 0x380000>; + }; + + adsp_mhi_mem: adsp_mhi_region@82380000 { + no-map; + reg = <0x0 0x82380000 0x0 0x20000>; + }; + + soccp_sdi_mem: soccp_sdi_region@823a0000 { + no-map; + reg = <0x0 0x823a0000 0x0 0x40000>; + }; + + pmic_minii_dump_mem: pmic_minii_dump_region@823e0000 { + no-map; + reg = <0x0 0x823e0000 0x0 0x80000>; + }; + + pvm_fw_mem: pvm_fw_region@824a0000 { + no-map; + reg = <0x0 0x824a0000 0x0 0x100000>; + }; + + hyp_mem_database_mem: hyp_mem_database_region@825a0000 { + no-map; + reg = <0x0 0x825a0000 0x0 0x60000>; + }; + + global_sync_mem: global_sync_region@82600000 { + no-map; + reg = <0x0 0x82600000 0x0 0x100000>; + }; + + tz_stat_mem: tz_stat_region@82700000 { + no-map; + reg = <0x0 0x82700000 0x0 0x100000>; + }; + + dsm_partition_1_mem: dsm_partition_1_region@84a00000 { + no-map; + reg = <0x0 0x84a00000 0x0 0x4900000>; + }; + + dsm_partition_2_mem: dsm_partition_2_region@89300000 { + no-map; + reg = <0x0 0x89300000 0x0 0xa80000>; + }; + + mpss_mem: mpss_region@89e00000 { + no-map; + reg = <0x0 0x89e00000 0x0 0x11200000>; + }; + + q6_mpss_dtb_mem: q6_mpss_dtb_region@9b000000 { + no-map; + reg = <0x0 0x9b000000 0x0 0x80000>; + }; + + ipa_fw_mem: ipa_fw_region@9b080000 { + no-map; + reg = <0x0 0x9b080000 0x0 0x10000>; + }; + + ipa_gsi_mem: ipa_gsi_region@9b090000 { + no-map; + reg = <0x0 0x9b090000 0x0 0xa000>; + }; + + gpu_microcode_mem: gpu_microcode_region@9b09a000 { + no-map; + reg = <0x0 0x9b09a000 0x0 0x2000>; + }; + + camera_mem: camera_region@9b300000 { + no-map; + reg = <0x0 0x9b300000 0x0 0x800000>; + }; + + camera_2_mem: camera_2_region@9bb00000 { + no-map; + reg = <0x0 0x9bb00000 0x0 0x800000>; + }; + + video_mem: video_region@9c300000 { + no-map; + reg = <0x0 0x9c300000 0x0 0x800000>; + }; + + cvp_mem: cvp_region@9cb00000 { + no-map; + reg = <0x0 0x9cb00000 0x0 0x700000>; + }; + + cdsp_mem: cdsp_region@9d200000 { + no-map; + reg = <0x0 0x9d200000 0x0 0x2000000>; + }; + + q6_cdsp_dtb_mem: q6_cdsp_dtb_region@9f200000 { + no-map; + reg = <0x0 0x9f200000 0x0 0x80000>; + }; + + q6_adsp_dtb_mem: q6_adsp_dtb_region@9f280000 { + no-map; + reg = <0x0 0x9f280000 0x0 0x80000>; + }; + + adspslpi_mem: adspslpi_region@9f300000 { + no-map; + reg = <0x0 0x9f300000 0x0 0x4080000>; + }; + + soccp_mem: soccp_region@a3380000 { + no-map; + reg = <0x0 0xa3380000 0x0 0x180000>; + }; + + wpss_mem: wpss_region@a3500000 { + no-map; + reg = <0x0 0xa3500000 0x0 0x1900000>; + }; + + wlan_msa_mem: wlan_msa_region@a6400000 { + no-map; + reg = <0x0 0xa6400000 0x0 0xc00000>; + }; + + /* uefi region can be reused by apps */ + + /* Linux kernel image is loaded at 0xa8000000 */ + + xbl_ramdump_mem: xbl_ramdump_region@b8000000 { + no-map; + reg = <0x0 0xb8000000 0x0 0x1c0000>; + }; + + /* merged tz_reserved, xbl_sc, and qtee regions */ + tz_merged_mem: tz_merged_region@d8000000 { + no-map; + reg = <0x0 0xd8000000 0x0 0x600000>; + }; + + /* + * ta/tags mem is dynamically removed from the RAM + * partition tables before boot occurs. Size of region + * varies. + */ + + llcc_lpi_mem: llcc_lpi_region@ff800000 { + no-map; + reg = <0x0 0xff800000 0x0 0x400000>; + }; + +}; diff --git a/qcom/tuna.dtsi b/qcom/tuna.dtsi index e2d37771..3060024a 100644 --- a/qcom/tuna.dtsi +++ b/qcom/tuna.dtsi @@ -208,6 +208,24 @@ soc: soc { }; }; +#include "tuna-reserved-memory.dtsi" + +&reserved_memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + /* global autoconfigured region for contiguous allocations */ + system_cma: linux,cma { + compatible = "shared-dma-pool"; + alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>; + reusable; + alignment = <0x0 0x400000>; + size = <0x0 0x2000000>; + linux,cma-default; + }; +}; + &soc { #address-cells = <1>; #size-cells = <1>;