arch/arm64/boot/dts/qcom/qcs8550.dtsi

Source file repositories/reference/linux-study-clean/arch/arm64/boot/dts/qcom/qcs8550.dtsi

File Facts

System
Linux kernel
Corpus path
arch/arm64/boot/dts/qcom/qcs8550.dtsi
Extension
.dtsi
Size
4529 bytes
Lines
163
Domain
Architecture Layer
Bucket
arch/arm64
Inferred role
Architecture Layer: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2023-2024, Qualcomm Innovation Center, Inc. All rights reserved.
 */

#include "sm8550.dtsi"

/delete-node/ &reserved_memory;

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


		/* These are 3 types of reserved memory regions here:
		 * 1. Firmware related regions which aren't shared with kernel.
		 *     The device tree source in kernel doesn't need to have node to
		 * indicate the firmware related reserved information. Bootloader
		 * conveys the information by updating devicetree at runtime.
		 *     This will be described as: UEFI saves the physical address of
		 * the UEFI System Table to dts file's chosen node. Kernel read this
		 * table and add reserved memory regions to efi config table. Current
		 * reserved memory region may have reserved region which was not yet
		 * used, release note of the firmware have such kind of information.
		 * 2. Firmware related memory regions which are shared with Kernel
		 *     The device tree source in the kernel needs to include nodes
		 * that indicate fimware-related shared information. A label name
		 * is suggested because this type of shared information needs to
		 * be referenced by specific drivers for handling purposes.
		 *     Unlike previous platforms, QCS8550 boots using EFI and describes
		 * most reserved regions in the ESRT memory map. As a result, reserved
		 * memory regions which aren't relevant to the kernel(like the hypervisor
		 ( region) don't need to be described in DT.
		 * 3. Remoteproc regions.
		 *     Remoteproc regions will be reserved and then assigned to
		 * subsystem firmware later.
		 * Here is a reserved memory map for this platform:
		 *  0x80000000 +-------------------+
		 *             |                   |
		 *             | Firmware Related  |
		 *             |                   |
		 *  0x8a800000 +-------------------+
		 *             |                   |
		 *             | Remoteproc Region |
		 *             |                   |
		 *  0xa7000000 +-------------------+
		 *             |                   |
		 *             | Kernel Available  |
		 *             |                   |
		 *  0xd4d00000 +-------------------+
		 *             |                   |
		 *             | Firmware Related  |
		 *             |                   |
		 * 0x100000000 +-------------------+
		 */

		aop_image_mem: aop-image-region@81c00000 {
			reg = <0x0 0x81c00000 0x0 0x60000>;
			no-map;
		};

		aop_cmd_db_mem: aop-cmd-db-region@81c60000 {
			compatible = "qcom,cmd-db";
			reg = <0x0 0x81c60000 0x0 0x20000>;
			no-map;
		};

		aop_config_mem: aop-config-region@81c80000 {

Annotation

Implementation Notes