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

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

File Facts

System
Linux kernel
Corpus path
arch/arm64/boot/dts/qcom/pmi8998.dtsi
Extension
.dtsi
Size
2292 bytes
Lines
99
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
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>

&spmi_bus {
	pmi8998_lsid0: pmic@2 {
		compatible = "qcom,pmi8998", "qcom,spmi-pmic";
		reg = <0x2 SPMI_USID>;
		#address-cells = <1>;
		#size-cells = <0>;

		pmi8998_charger: charger@1000 {
			compatible = "qcom,pmi8998-charger";
			reg = <0x1000>;

			interrupts = <0x2 0x13 0x4 IRQ_TYPE_EDGE_BOTH>,
				     <0x2 0x12 0x2 IRQ_TYPE_EDGE_BOTH>,
				     <0x2 0x16 0x1 IRQ_TYPE_EDGE_RISING>,
				     <0x2 0x13 0x6 IRQ_TYPE_EDGE_RISING>;
			interrupt-names = "usb-plugin",
					  "bat-ov",
					  "wdog-bark",
					  "usbin-icl-change";

			io-channels = <&pmi8998_rradc 3>,
				      <&pmi8998_rradc 4>;
			io-channel-names = "usbin_i", "usbin_v";

			status = "disabled";
		};

		pmi8998_gpios: gpio@c000 {
			compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio";
			reg = <0xc000>;
			gpio-controller;
			gpio-ranges = <&pmi8998_gpios 0 0 14>;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};

		pmi8998_rradc: adc@4500 {
			compatible = "qcom,pmi8998-rradc";
			reg = <0x4500>;
			#io-channel-cells = <1>;
		};
	};

	pmi8998_lsid1: pmic@3 {
		compatible = "qcom,pmi8998", "qcom,spmi-pmic";
		reg = <0x3 SPMI_USID>;
		#address-cells = <1>;
		#size-cells = <0>;

		labibb {
			compatible = "qcom,pmi8998-lab-ibb";

			ibb: ibb {
				interrupts = <0x3 0xdc 0x2 IRQ_TYPE_EDGE_RISING>,
					     <0x3 0xdc 0x0 IRQ_TYPE_LEVEL_HIGH>;
				interrupt-names = "sc-err", "ocp";
			};

			lab: lab {
				interrupts = <0x3 0xde 0x1 IRQ_TYPE_EDGE_RISING>,
					     <0x3 0xde 0x0 IRQ_TYPE_LEVEL_LOW>;
				interrupt-names = "sc-err", "ocp";
			};
		};

Annotation

Implementation Notes