xref: /openbmc/linux/arch/arm64/boot/dts/qcom/pmi8998.dtsi (revision c4c3c32d)
1// SPDX-License-Identifier: GPL-2.0
2#include <dt-bindings/interrupt-controller/irq.h>
3#include <dt-bindings/spmi/spmi.h>
4
5&spmi_bus {
6	pmi8998_lsid0: pmic@2 {
7		compatible = "qcom,pmi8998", "qcom,spmi-pmic";
8		reg = <0x2 SPMI_USID>;
9		#address-cells = <1>;
10		#size-cells = <0>;
11
12		pmi8998_charger: charger@1000 {
13			compatible = "qcom,pmi8998-charger";
14			reg = <0x1000>;
15
16			interrupts = <0x2 0x13 0x4 IRQ_TYPE_EDGE_BOTH>,
17				     <0x2 0x12 0x2 IRQ_TYPE_EDGE_BOTH>,
18				     <0x2 0x16 0x1 IRQ_TYPE_EDGE_RISING>,
19				     <0x2 0x13 0x6 IRQ_TYPE_EDGE_RISING>;
20			interrupt-names = "usb-plugin",
21					  "bat-ov",
22					  "wdog-bark",
23					  "usbin-icl-change";
24
25			io-channels = <&pmi8998_rradc 3>,
26				      <&pmi8998_rradc 4>;
27			io-channel-names = "usbin_i", "usbin_v";
28
29			status = "disabled";
30		};
31
32		pmi8998_gpios: gpio@c000 {
33			compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio";
34			reg = <0xc000>;
35			gpio-controller;
36			gpio-ranges = <&pmi8998_gpios 0 0 14>;
37			#gpio-cells = <2>;
38			interrupt-controller;
39			#interrupt-cells = <2>;
40		};
41
42		pmi8998_rradc: adc@4500 {
43			compatible = "qcom,pmi8998-rradc";
44			reg = <0x4500>;
45			#io-channel-cells = <1>;
46		};
47	};
48
49	pmi8998_lsid1: pmic@3 {
50		compatible = "qcom,pmi8998", "qcom,spmi-pmic";
51		reg = <0x3 SPMI_USID>;
52		#address-cells = <1>;
53		#size-cells = <0>;
54
55		labibb {
56			compatible = "qcom,pmi8998-lab-ibb";
57
58			ibb: ibb {
59				interrupts = <0x3 0xdc 0x2 IRQ_TYPE_EDGE_RISING>,
60					     <0x3 0xdc 0x0 IRQ_TYPE_LEVEL_HIGH>;
61				interrupt-names = "sc-err", "ocp";
62			};
63
64			lab: lab {
65				interrupts = <0x3 0xde 0x1 IRQ_TYPE_EDGE_RISING>,
66					     <0x3 0xde 0x0 IRQ_TYPE_LEVEL_LOW>;
67				interrupt-names = "sc-err", "ocp";
68			};
69		};
70
71		pmi8998_lpg: pwm {
72			compatible = "qcom,pmi8998-lpg";
73
74			#address-cells = <1>;
75			#size-cells = <0>;
76			#pwm-cells = <2>;
77
78			status = "disabled";
79		};
80
81		pmi8998_flash: led-controller@d300 {
82			compatible = "qcom,pmi8998-flash-led", "qcom,spmi-flash-led";
83			reg = <0xd300>;
84			status = "disabled";
85		};
86
87		pmi8998_wled: leds@d800 {
88			compatible = "qcom,pmi8998-wled";
89			reg = <0xd800>, <0xd900>;
90			interrupts = <0x3 0xd8 0x1 IRQ_TYPE_EDGE_RISING>,
91				     <0x3 0xd8 0x2 IRQ_TYPE_EDGE_RISING>;
92			interrupt-names = "ovp", "short";
93			label = "backlight";
94
95			status = "disabled";
96		};
97	};
98};
99