1#include <dt-bindings/iio/qcom,spmi-vadc.h>
2#include <dt-bindings/interrupt-controller/irq.h>
3#include <dt-bindings/spmi/spmi.h>
4
5&spmi_bus {
6
7	usid0: pm8941@0 {
8		compatible ="qcom,spmi-pmic";
9		reg = <0x0 SPMI_USID>;
10		#address-cells = <1>;
11		#size-cells = <0>;
12
13		rtc@6000 {
14			compatible = "qcom,pm8941-rtc";
15			reg = <0x6000 0x100>,
16			      <0x6100 0x100>;
17			reg-names = "rtc", "alarm";
18			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
19		};
20
21		pwrkey@800 {
22			compatible = "qcom,pm8941-pwrkey";
23			reg = <0x800 0x100>;
24			interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
25			debounce = <15625>;
26			bias-pull-up;
27		};
28
29		charger@1000 {
30			compatible = "qcom,pm8941-charger";
31			reg = <0x1000 0x700>;
32			interrupts = <0x0 0x10 7 IRQ_TYPE_EDGE_BOTH>,
33				     <0x0 0x10 5 IRQ_TYPE_EDGE_BOTH>,
34				     <0x0 0x10 4 IRQ_TYPE_EDGE_BOTH>,
35				     <0x0 0x12 1 IRQ_TYPE_EDGE_BOTH>,
36				     <0x0 0x12 0 IRQ_TYPE_EDGE_BOTH>,
37				     <0x0 0x13 2 IRQ_TYPE_EDGE_BOTH>,
38				     <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>,
39				     <0x0 0x14 1 IRQ_TYPE_EDGE_BOTH>;
40			interrupt-names = "chg-done",
41					  "chg-fast",
42					  "chg-trkl",
43					  "bat-temp-ok",
44					  "bat-present",
45					  "chg-gone",
46					  "usb-valid",
47					  "dc-valid";
48		};
49
50		pm8941_gpios: gpios@c000 {
51			compatible = "qcom,pm8941-gpio";
52			reg = <0xc000 0x2400>;
53			gpio-controller;
54			#gpio-cells = <2>;
55			interrupts = <0 0xc0 0 IRQ_TYPE_NONE>,
56				     <0 0xc1 0 IRQ_TYPE_NONE>,
57				     <0 0xc2 0 IRQ_TYPE_NONE>,
58				     <0 0xc3 0 IRQ_TYPE_NONE>,
59				     <0 0xc4 0 IRQ_TYPE_NONE>,
60				     <0 0xc5 0 IRQ_TYPE_NONE>,
61				     <0 0xc6 0 IRQ_TYPE_NONE>,
62				     <0 0xc7 0 IRQ_TYPE_NONE>,
63				     <0 0xc8 0 IRQ_TYPE_NONE>,
64				     <0 0xc9 0 IRQ_TYPE_NONE>,
65				     <0 0xca 0 IRQ_TYPE_NONE>,
66				     <0 0xcb 0 IRQ_TYPE_NONE>,
67				     <0 0xcc 0 IRQ_TYPE_NONE>,
68				     <0 0xcd 0 IRQ_TYPE_NONE>,
69				     <0 0xce 0 IRQ_TYPE_NONE>,
70				     <0 0xcf 0 IRQ_TYPE_NONE>,
71				     <0 0xd0 0 IRQ_TYPE_NONE>,
72				     <0 0xd1 0 IRQ_TYPE_NONE>,
73				     <0 0xd2 0 IRQ_TYPE_NONE>,
74				     <0 0xd3 0 IRQ_TYPE_NONE>,
75				     <0 0xd4 0 IRQ_TYPE_NONE>,
76				     <0 0xd5 0 IRQ_TYPE_NONE>,
77				     <0 0xd6 0 IRQ_TYPE_NONE>,
78				     <0 0xd7 0 IRQ_TYPE_NONE>,
79				     <0 0xd8 0 IRQ_TYPE_NONE>,
80				     <0 0xd9 0 IRQ_TYPE_NONE>,
81				     <0 0xda 0 IRQ_TYPE_NONE>,
82				     <0 0xdb 0 IRQ_TYPE_NONE>,
83				     <0 0xdc 0 IRQ_TYPE_NONE>,
84				     <0 0xdd 0 IRQ_TYPE_NONE>,
85				     <0 0xde 0 IRQ_TYPE_NONE>,
86				     <0 0xdf 0 IRQ_TYPE_NONE>,
87				     <0 0xe0 0 IRQ_TYPE_NONE>,
88				     <0 0xe1 0 IRQ_TYPE_NONE>,
89				     <0 0xe2 0 IRQ_TYPE_NONE>,
90				     <0 0xe3 0 IRQ_TYPE_NONE>;
91		};
92
93		pm8941_mpps: mpps@a000 {
94			compatible = "qcom,pm8941-mpp";
95			reg = <0xa000 0x800>;
96			gpio-controller;
97			#gpio-cells = <2>;
98			interrupts = <0 0xa0 0 IRQ_TYPE_NONE>,
99				     <0 0xa1 0 IRQ_TYPE_NONE>,
100				     <0 0xa2 0 IRQ_TYPE_NONE>,
101				     <0 0xa3 0 IRQ_TYPE_NONE>,
102				     <0 0xa4 0 IRQ_TYPE_NONE>,
103				     <0 0xa5 0 IRQ_TYPE_NONE>,
104				     <0 0xa6 0 IRQ_TYPE_NONE>,
105				     <0 0xa7 0 IRQ_TYPE_NONE>;
106		};
107
108		pm8941_temp: temp-alarm@2400 {
109			compatible = "qcom,spmi-temp-alarm";
110			reg = <0x2400 0x100>;
111			interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
112			io-channels = <&pm8941_vadc VADC_DIE_TEMP>;
113			io-channel-names = "thermal";
114			#thermal-sensor-cells = <0>;
115		};
116
117		pm8941_vadc: vadc@3100 {
118			compatible = "qcom,spmi-vadc";
119			reg = <0x3100 0x100>;
120			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
121			#address-cells = <1>;
122			#size-cells = <0>;
123			#io-channel-cells = <1>;
124
125			die_temp {
126				reg = <VADC_DIE_TEMP>;
127			};
128			ref_625mv {
129				reg = <VADC_REF_625MV>;
130			};
131			ref_1250v {
132				reg = <VADC_REF_1250MV>;
133			};
134			ref_gnd {
135				reg = <VADC_GND_REF>;
136			};
137			ref_vdd {
138				reg = <VADC_VDD_VADC>;
139			};
140		};
141
142		pm8941_iadc: iadc@3600 {
143			compatible = "qcom,pm8941-iadc", "qcom,spmi-iadc";
144			reg = <0x3600 0x100>;
145			interrupts = <0x0 0x36 0x0 IRQ_TYPE_EDGE_RISING>;
146			qcom,external-resistor-micro-ohms = <10000>;
147		};
148
149		coincell@2800 {
150			compatible = "qcom,pm8941-coincell";
151			reg = <0x2800>;
152			status = "disabled";
153		};
154	};
155
156	usid1: pm8941@1 {
157		compatible = "qcom,spmi-pmic";
158		reg = <0x1 SPMI_USID>;
159		#address-cells = <1>;
160		#size-cells = <0>;
161
162		wled@d800 {
163			compatible = "qcom,pm8941-wled";
164			reg = <0xd800 0x100>;
165			label = "backlight";
166
167			qcom,cs-out;
168			qcom,current-limit = <20>;
169			qcom,current-boost-limit = <805>;
170			qcom,switching-freq = <1600>;
171			qcom,ovp = <29>;
172			qcom,num-strings = <2>;
173		};
174	};
175};
176