1// SPDX-License-Identifier: BSD-3-Clause
2#include <dt-bindings/interrupt-controller/irq.h>
3#include <dt-bindings/spmi/spmi.h>
4#include <dt-bindings/iio/qcom,spmi-vadc.h>
5
6&spmi_bus {
7	pm8226_0: pm8226@0 {
8		compatible = "qcom,pm8226", "qcom,spmi-pmic";
9		reg = <0x0 SPMI_USID>;
10		#address-cells = <1>;
11		#size-cells = <0>;
12
13		pwrkey@800 {
14			compatible = "qcom,pm8941-pwrkey";
15			reg = <0x800>;
16			interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
17			debounce = <15625>;
18			bias-pull-up;
19		};
20
21		smbb: charger@1000 {
22			compatible = "qcom,pm8226-charger";
23			reg = <0x1000>;
24			interrupts = <0x0 0x10 7 IRQ_TYPE_EDGE_BOTH>,
25				     <0x0 0x10 5 IRQ_TYPE_EDGE_BOTH>,
26				     <0x0 0x10 4 IRQ_TYPE_EDGE_BOTH>,
27				     <0x0 0x12 1 IRQ_TYPE_EDGE_BOTH>,
28				     <0x0 0x12 0 IRQ_TYPE_EDGE_BOTH>,
29				     <0x0 0x13 2 IRQ_TYPE_EDGE_BOTH>,
30				     <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>,
31				     <0x0 0x14 1 IRQ_TYPE_EDGE_BOTH>;
32			interrupt-names = "chg-done",
33					  "chg-fast",
34					  "chg-trkl",
35					  "bat-temp-ok",
36					  "bat-present",
37					  "chg-gone",
38					  "usb-valid",
39					  "dc-valid";
40
41			chg_otg: otg-vbus { };
42		};
43
44		rtc@6000 {
45			compatible = "qcom,pm8941-rtc";
46			reg = <0x6000>, <0x6100>;
47			reg-names = "rtc", "alarm";
48			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
49		};
50
51		pm8226_vadc: adc@3100 {
52			compatible = "qcom,spmi-vadc";
53			reg = <0x3100>;
54			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
55			#address-cells = <1>;
56			#size-cells = <0>;
57			#io-channel-cells = <1>;
58
59			adc-chan@7 {
60				reg = <VADC_VSYS>;
61				qcom,pre-scaling = <1 3>;
62				label = "vph_pwr";
63			};
64			adc-chan@8 {
65				reg = <VADC_DIE_TEMP>;
66				label = "die_temp";
67			};
68			adc-chan@9 {
69				reg = <VADC_REF_625MV>;
70				label = "ref_625mv";
71			};
72			adc-chan@a {
73				reg = <VADC_REF_1250MV>;
74				label = "ref_1250mv";
75			};
76			adc-chan@e {
77				reg = <VADC_GND_REF>;
78			};
79			adc-chan@f {
80				reg = <VADC_VDD_VADC>;
81			};
82		};
83
84		pm8226_mpps: mpps@a000 {
85			compatible = "qcom,pm8226-mpp", "qcom,spmi-mpp";
86			reg = <0xa000>;
87			gpio-controller;
88			#gpio-cells = <2>;
89			gpio-ranges = <&pm8226_mpps 0 0 8>;
90			interrupt-controller;
91			#interrupt-cells = <2>;
92		};
93	};
94
95	pm8226_1: pm8226@1 {
96		compatible = "qcom,pm8226", "qcom,spmi-pmic";
97		reg = <0x1 SPMI_USID>;
98		#address-cells = <1>;
99		#size-cells = <0>;
100
101		pm8226_spmi_regulators: pm8226-regulators {
102			compatible = "qcom,pm8226-regulators";
103		};
104
105		pm8226_vib: vibrator@c000 {
106			compatible = "qcom,pm8916-vib";
107			reg = <0xc000>;
108			status = "disabled";
109		};
110	};
111};
112