arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts
Source file repositories/reference/linux-study-clean/arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts
File Facts
- System
- Linux kernel
- Corpus path
arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts- Extension
.dts- Size
- 10818 bytes
- Lines
- 470
- 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.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
Dependency Surface
msm8996.dtsimsm8996-xiaomi-common.dtsidt-bindings/sound/qcom,q6afe.hdt-bindings/sound/qcom,q6asm.hdt-bindings/sound/qcom,wcd9335.hdt-bindings/input/ti-drv260x.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2021, Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
*/
/dts-v1/;
#include "msm8996.dtsi"
#include "msm8996-xiaomi-common.dtsi"
#include <dt-bindings/sound/qcom,q6afe.h>
#include <dt-bindings/sound/qcom,q6asm.h>
#include <dt-bindings/sound/qcom,wcd9335.h>
#include <dt-bindings/input/ti-drv260x.h>
/ {
model = "Xiaomi Mi 5";
compatible = "xiaomi,gemini", "qcom,msm8996";
chassis-type = "handset";
qcom,msm-id = <246 0x30001>;
qcom,pmic-id = <0x20009 0x2000a 0x00 0x00>;
qcom,board-id = <31 0>;
divclk2_haptics: divclk2 {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <32768>;
clock-output-names = "divclk2";
pinctrl-names = "default";
pinctrl-0 = <&divclk2_pin_a>;
};
};
&adsp_pil {
firmware-name = "qcom/msm8996/gemini/adsp.mbn";
};
&blsp2_i2c3 {
haptics: drv2604@5a {
compatible = "ti,drv2604";
reg = <0x5a>;
enable-gpio = <&tlmm 93 0x00>;
mode = <DRV260X_LRA_MODE>;
library-sel = <DRV260X_LIB_LRA>;
pinctrl-names = "default","sleep";
pinctrl-0 = <&vibrator_default>;
pinctrl-1 = <&vibrator_sleep>;
};
lp5562@30 {
compatible = "ti,lp5562";
reg = <0x30>;
#address-cells = <1>;
#size-cells = <0>;
enable-gpios = <&pm8994_gpios 7 1>;
clock-mode = /bits/8 <2>;
label = "button-backlight";
led@0 {
reg = <0>;
chan-name = "button-backlight";
led-cur = /bits/ 8 <0x32>;
max-cur = /bits/ 8 <0xc8>;
};
led@1 {
reg = <1>;
chan-name = "button-backlight1";
led-cur = /bits/ 8 <0x32>;
max-cur = /bits/ 8 <0xc8>;
Annotation
- Immediate include surface: `msm8996.dtsi`, `msm8996-xiaomi-common.dtsi`, `dt-bindings/sound/qcom,q6afe.h`, `dt-bindings/sound/qcom,q6asm.h`, `dt-bindings/sound/qcom,wcd9335.h`, `dt-bindings/input/ti-drv260x.h`.
- Atlas domain: Architecture Layer / arch/arm64.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.