arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts

Source file repositories/reference/linux-study-clean/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts

File Facts

System
Linux kernel
Corpus path
arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
Extension
.dts
Size
7964 bytes
Lines
412
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: GPL-2.0-only

/dts-v1/;

#include "msm8916-pm8916.dtsi"
#include "msm8916-modem-qdsp6.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/leds/common.h>

/ {
	model = "Longcheer L8150";
	compatible = "longcheer,l8150", "qcom,msm8916";
	chassis-type = "handset";

	aliases {
		mmc0 = &sdhc_1; /* eMMC */
		mmc1 = &sdhc_2; /* SD card */
		serial0 = &blsp_uart2;
	};

	chosen {
		stdout-path = "serial0";
	};

	/*
	 * For some reason, the signed wcnss firmware is not relocatable.
	 * It must be loaded at 0x8b600000. Unfortunately, this also means that
	 * mpss_mem does not fit when loaded to the typical address at 0x86800000.
	 *
	 * Load wcnss_mem to the fixed address and relocate mpss_mem to the next
	 * working higher address. For some reason the modem firmware does not
	 * boot when placed at 0x8a800000 to 0x8e800000.
	 */
	reserved-memory {
		/delete-node/ mpss@86800000;
		/delete-node/ wcnss;

		wcnss_mem: wcnss@8b600000 {
			reg = <0x0 0x8b600000 0x0 0x600000>;
			no-map;
		};

		mpss_mem: mpss@8e800000 {
			reg = <0x0 0x8e800000 0x0 0x5000000>;
			no-map;
		};
	};

	battery: battery {
		compatible = "simple-battery";
		voltage-min-design-microvolt = <3400000>;
		voltage-max-design-microvolt = <4350000>;
		energy-full-design-microwatt-hours = <9500000>;
		charge-full-design-microamp-hours = <2500000>;

		ocv-capacity-celsius = <25>;
		ocv-capacity-table-0 = <4330000 100>, <4265000 95>,
			<4208000 90>, <4153000 85>, <4100000 80>, <4049000 75>,
			<4001000 70>, <3962000 65>, <3919000 60>, <3872000 55>,
			<3839000 50>, <3817000 45>, <3798000 40>, <3783000 35>,
			<3767000 30>, <3747000 25>, <3729000 20>, <3709000 16>,
			<3688000 13>, <3681000 11>, <3680000 10>, <3679000 9>,
			<3677000 8>, <3674000 7>, <3666000 6>, <3641000 5>,
			<3597000 4>, <3537000 3>, <3457000 2>, <3336000 1>,
			<3000000 0>;
	};

Annotation

Implementation Notes