Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / qcom / pmi8998.dtsi
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 };