xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/qcs8550.dtsi (revision c771600c6af14749609b49565ffb4cac2959710d)
1bb8a2dc3STengfei Fan// SPDX-License-Identifier: BSD-3-Clause
2bb8a2dc3STengfei Fan/*
3bb8a2dc3STengfei Fan * Copyright (c) 2023-2024, Qualcomm Innovation Center, Inc. All rights reserved.
4bb8a2dc3STengfei Fan */
5bb8a2dc3STengfei Fan
6bb8a2dc3STengfei Fan#include "sm8550.dtsi"
7bb8a2dc3STengfei Fan
8bb8a2dc3STengfei Fan/delete-node/ &reserved_memory;
9bb8a2dc3STengfei Fan
10bb8a2dc3STengfei Fan/ {
11bb8a2dc3STengfei Fan	reserved_memory: reserved-memory {
12bb8a2dc3STengfei Fan		#address-cells = <2>;
13bb8a2dc3STengfei Fan		#size-cells = <2>;
14bb8a2dc3STengfei Fan		ranges;
15bb8a2dc3STengfei Fan
16bb8a2dc3STengfei Fan
17bb8a2dc3STengfei Fan		/* These are 3 types of reserved memory regions here:
18bb8a2dc3STengfei Fan		 * 1. Firmware related regions which aren't shared with kernel.
19bb8a2dc3STengfei Fan		 *     The device tree source in kernel doesn't need to have node to
20bb8a2dc3STengfei Fan		 * indicate the firmware related reserved information. Bootloader
21bb8a2dc3STengfei Fan		 * conveys the information by updating devicetree at runtime.
22bb8a2dc3STengfei Fan		 *     This will be described as: UEFI saves the physical address of
23bb8a2dc3STengfei Fan		 * the UEFI System Table to dts file's chosen node. Kernel read this
24bb8a2dc3STengfei Fan		 * table and add reserved memory regions to efi config table. Current
25bb8a2dc3STengfei Fan		 * reserved memory region may have reserved region which was not yet
26bb8a2dc3STengfei Fan		 * used, release note of the firmware have such kind of information.
27bb8a2dc3STengfei Fan		 * 2. Firmware related memory regions which are shared with Kernel
28bb8a2dc3STengfei Fan		 *     The device tree source in the kernel needs to include nodes
29bb8a2dc3STengfei Fan		 * that indicate fimware-related shared information. A label name
30bb8a2dc3STengfei Fan		 * is suggested because this type of shared information needs to
31bb8a2dc3STengfei Fan		 * be referenced by specific drivers for handling purposes.
32bb8a2dc3STengfei Fan		 *     Unlike previous platforms, QCS8550 boots using EFI and describes
33bb8a2dc3STengfei Fan		 * most reserved regions in the ESRT memory map. As a result, reserved
34bb8a2dc3STengfei Fan		 * memory regions which aren't relevant to the kernel(like the hypervisor
35bb8a2dc3STengfei Fan		 ( region) don't need to be described in DT.
36bb8a2dc3STengfei Fan		 * 3. Remoteproc regions.
37bb8a2dc3STengfei Fan		 *     Remoteproc regions will be reserved and then assigned to
38bb8a2dc3STengfei Fan		 * subsystem firmware later.
39bb8a2dc3STengfei Fan		 * Here is a reserved memory map for this platform:
40bb8a2dc3STengfei Fan		 *  0x80000000 +-------------------+
41bb8a2dc3STengfei Fan		 *             |                   |
42bb8a2dc3STengfei Fan		 *             | Firmware Related  |
43bb8a2dc3STengfei Fan		 *             |                   |
44bb8a2dc3STengfei Fan		 *  0x8a800000 +-------------------+
45bb8a2dc3STengfei Fan		 *             |                   |
46bb8a2dc3STengfei Fan		 *             | Remoteproc Region |
47bb8a2dc3STengfei Fan		 *             |                   |
48bb8a2dc3STengfei Fan		 *  0xa7000000 +-------------------+
49bb8a2dc3STengfei Fan		 *             |                   |
50bb8a2dc3STengfei Fan		 *             | Kernel Available  |
51bb8a2dc3STengfei Fan		 *             |                   |
52bb8a2dc3STengfei Fan		 *  0xd4d00000 +-------------------+
53bb8a2dc3STengfei Fan		 *             |                   |
54bb8a2dc3STengfei Fan		 *             | Firmware Related  |
55bb8a2dc3STengfei Fan		 *             |                   |
56bb8a2dc3STengfei Fan		 * 0x100000000 +-------------------+
57bb8a2dc3STengfei Fan		 */
58bb8a2dc3STengfei Fan
59bb8a2dc3STengfei Fan		aop_image_mem: aop-image-region@81c00000 {
60bb8a2dc3STengfei Fan			reg = <0x0 0x81c00000 0x0 0x60000>;
61bb8a2dc3STengfei Fan			no-map;
62bb8a2dc3STengfei Fan		};
63bb8a2dc3STengfei Fan
64bb8a2dc3STengfei Fan		aop_cmd_db_mem: aop-cmd-db-region@81c60000 {
65bb8a2dc3STengfei Fan			compatible = "qcom,cmd-db";
66bb8a2dc3STengfei Fan			reg = <0x0 0x81c60000 0x0 0x20000>;
67bb8a2dc3STengfei Fan			no-map;
68bb8a2dc3STengfei Fan		};
69bb8a2dc3STengfei Fan
70bb8a2dc3STengfei Fan		aop_config_mem: aop-config-region@81c80000 {
71bb8a2dc3STengfei Fan			no-map;
72bb8a2dc3STengfei Fan			reg = <0x0 0x81c80000 0x0 0x20000>;
73bb8a2dc3STengfei Fan		};
74bb8a2dc3STengfei Fan
75bb8a2dc3STengfei Fan		smem_mem: smem-region@81d00000 {
76bb8a2dc3STengfei Fan			compatible = "qcom,smem";
77bb8a2dc3STengfei Fan			reg = <0x0 0x81d00000 0x0 0x200000>;
78bb8a2dc3STengfei Fan			hwlocks = <&tcsr_mutex 3>;
79bb8a2dc3STengfei Fan			no-map;
80bb8a2dc3STengfei Fan		};
81bb8a2dc3STengfei Fan
82bb8a2dc3STengfei Fan		adsp_mhi_mem: adsp-mhi-region@81f00000 {
83bb8a2dc3STengfei Fan			reg = <0x0 0x81f00000 0x0 0x20000>;
84bb8a2dc3STengfei Fan			no-map;
85bb8a2dc3STengfei Fan		};
86bb8a2dc3STengfei Fan
87bb8a2dc3STengfei Fan		mpss_mem: mpss-region@8a800000 {
88bb8a2dc3STengfei Fan			reg = <0x0 0x8a800000 0x0 0x10800000>;
89bb8a2dc3STengfei Fan			no-map;
90bb8a2dc3STengfei Fan		};
91bb8a2dc3STengfei Fan
92bb8a2dc3STengfei Fan		q6_mpss_dtb_mem: q6-mpss-dtb-region@9b000000 {
93bb8a2dc3STengfei Fan			reg = <0x0 0x9b000000 0x0 0x80000>;
94bb8a2dc3STengfei Fan			no-map;
95bb8a2dc3STengfei Fan		};
96bb8a2dc3STengfei Fan
97bb8a2dc3STengfei Fan		ipa_fw_mem: ipa-fw-region@9b080000 {
98bb8a2dc3STengfei Fan			reg = <0x0 0x9b080000 0x0 0x10000>;
99bb8a2dc3STengfei Fan			no-map;
100bb8a2dc3STengfei Fan		};
101bb8a2dc3STengfei Fan
102bb8a2dc3STengfei Fan		ipa_gsi_mem: ipa-gsi-region@9b090000 {
103bb8a2dc3STengfei Fan			reg = <0x0 0x9b090000 0x0 0xa000>;
104bb8a2dc3STengfei Fan			no-map;
105bb8a2dc3STengfei Fan		};
106bb8a2dc3STengfei Fan
107bb8a2dc3STengfei Fan		gpu_micro_code_mem: gpu-micro-code-region@9b09a000 {
108bb8a2dc3STengfei Fan			reg = <0x0 0x9b09a000 0x0 0x2000>;
109bb8a2dc3STengfei Fan			no-map;
110bb8a2dc3STengfei Fan		};
111bb8a2dc3STengfei Fan
112bb8a2dc3STengfei Fan		spss_region_mem: spss-region@9b100000 {
113bb8a2dc3STengfei Fan			reg = <0x0 0x9b100000 0x0 0x180000>;
114bb8a2dc3STengfei Fan			no-map;
115bb8a2dc3STengfei Fan		};
116bb8a2dc3STengfei Fan
117bb8a2dc3STengfei Fan		spu_secure_shared_memory_mem: spu-secure-shared-memory-region@9b280000 {
118bb8a2dc3STengfei Fan			reg = <0x0 0x9b280000 0x0 0x80000>;
119bb8a2dc3STengfei Fan			no-map;
120bb8a2dc3STengfei Fan		};
121bb8a2dc3STengfei Fan
122bb8a2dc3STengfei Fan		camera_mem: camera-region@9b300000 {
123bb8a2dc3STengfei Fan			reg = <0x0 0x9b300000 0x0 0x800000>;
124bb8a2dc3STengfei Fan			no-map;
125bb8a2dc3STengfei Fan		};
126bb8a2dc3STengfei Fan
127bb8a2dc3STengfei Fan		video_mem: video-region@9bb00000 {
128bb8a2dc3STengfei Fan			reg = <0x0 0x9bb00000 0x0 0x700000>;
129bb8a2dc3STengfei Fan			no-map;
130bb8a2dc3STengfei Fan		};
131bb8a2dc3STengfei Fan
132bb8a2dc3STengfei Fan		cvp_mem: cvp-region@9c200000 {
133bb8a2dc3STengfei Fan			reg = <0x0 0x9c200000 0x0 0x700000>;
134bb8a2dc3STengfei Fan			no-map;
135bb8a2dc3STengfei Fan		};
136bb8a2dc3STengfei Fan
137bb8a2dc3STengfei Fan		cdsp_mem: cdsp-region@9c900000 {
138bb8a2dc3STengfei Fan			reg = <0x0 0x9c900000 0x0 0x2000000>;
139bb8a2dc3STengfei Fan			no-map;
140bb8a2dc3STengfei Fan		};
141bb8a2dc3STengfei Fan
142bb8a2dc3STengfei Fan		q6_cdsp_dtb_mem: q6-cdsp-dtb-region@9e900000 {
143bb8a2dc3STengfei Fan			reg = <0x0 0x9e900000 0x0 0x80000>;
144bb8a2dc3STengfei Fan			no-map;
145bb8a2dc3STengfei Fan		};
146bb8a2dc3STengfei Fan
147bb8a2dc3STengfei Fan		q6_adsp_dtb_mem: q6-adsp-dtb-region@9e980000 {
148bb8a2dc3STengfei Fan			reg = <0x0 0x9e980000 0x0 0x80000>;
149bb8a2dc3STengfei Fan			no-map;
150bb8a2dc3STengfei Fan		};
151bb8a2dc3STengfei Fan
152bb8a2dc3STengfei Fan		adspslpi_mem: adspslpi-region@9ea00000 {
153bb8a2dc3STengfei Fan			reg = <0x0 0x9ea00000 0x0 0x4080000>;
154bb8a2dc3STengfei Fan			no-map;
155bb8a2dc3STengfei Fan		};
156bb8a2dc3STengfei Fan
157*50468931SKrzysztof Kozlowski		mpss_dsm_mem: mpss-dsm-region@d4d00000 {
158bb8a2dc3STengfei Fan			reg = <0x0 0xd4d00000 0x0 0x3300000>;
159bb8a2dc3STengfei Fan			no-map;
160bb8a2dc3STengfei Fan		};
161bb8a2dc3STengfei Fan	};
162bb8a2dc3STengfei Fan};
163