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