summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/qcom/pmi8998.dtsi
blob: cd3f0790fd4202b7c7fbf2c309811819ec8a6a8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
// 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";
			};
		};

		pmi8998_lpg: pwm {
			compatible = "qcom,pmi8998-lpg";

			#address-cells = <1>;
			#size-cells = <0>;
			#pwm-cells = <2>;

			status = "disabled";
		};

		pmi8998_flash: led-controller@d300 {
			compatible = "qcom,pmi8998-flash-led", "qcom,spmi-flash-led";
			reg = <0xd300>;
			status = "disabled";
		};

		pmi8998_wled: leds@d800 {
			compatible = "qcom,pmi8998-wled";
			reg = <0xd800>, <0xd900>;
			interrupts = <0x3 0xd8 0x1 IRQ_TYPE_EDGE_RISING>,
				     <0x3 0xd8 0x2 IRQ_TYPE_EDGE_RISING>;
			interrupt-names = "ovp", "short";
			label = "backlight";

			status = "disabled";
		};
	};
};