blob: c1f2012d1c8b615714ce0dc510dac6d4e748ad96 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001// SPDX-License-Identifier: GPL-2.0
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +03002#include <dt-bindings/iio/qcom,spmi-vadc.h>
3#include <dt-bindings/interrupt-controller/irq.h>
Ivan T. Ivanovc9127892015-02-03 14:17:59 +02004#include <dt-bindings/spmi/spmi.h>
5
6&spmi_bus {
7
Stephen Boyd134c5442015-11-20 15:31:20 -08008 pm8941_0: pm8941@0 {
9 compatible = "qcom,pm8941", "qcom,spmi-pmic";
Ivan T. Ivanovc9127892015-02-03 14:17:59 +020010 reg = <0x0 SPMI_USID>;
11 #address-cells = <1>;
12 #size-cells = <0>;
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +030013
14 rtc@6000 {
15 compatible = "qcom,pm8941-rtc";
Stephen Boyd65d4e832015-11-25 14:27:36 -080016 reg = <0x6000>,
17 <0x6100>;
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +030018 reg-names = "rtc", "alarm";
19 interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
20 };
21
22 pwrkey@800 {
23 compatible = "qcom,pm8941-pwrkey";
Stephen Boyd65d4e832015-11-25 14:27:36 -080024 reg = <0x800>;
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +030025 interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
26 debounce = <15625>;
27 bias-pull-up;
28 };
29
Stephen Boyd4ac5a202017-01-26 16:47:26 -080030 usb_id: misc@900 {
31 compatible = "qcom,pm8941-misc";
32 reg = <0x900>;
33 interrupts = <0x0 0x9 0 IRQ_TYPE_EDGE_BOTH>;
34 interrupt-names = "usb_id";
35 };
36
37 smbb: charger@1000 {
Courtney Cavin982afd82015-07-30 10:53:57 -070038 compatible = "qcom,pm8941-charger";
Stephen Boyd65d4e832015-11-25 14:27:36 -080039 reg = <0x1000>;
Courtney Cavin982afd82015-07-30 10:53:57 -070040 interrupts = <0x0 0x10 7 IRQ_TYPE_EDGE_BOTH>,
41 <0x0 0x10 5 IRQ_TYPE_EDGE_BOTH>,
42 <0x0 0x10 4 IRQ_TYPE_EDGE_BOTH>,
43 <0x0 0x12 1 IRQ_TYPE_EDGE_BOTH>,
44 <0x0 0x12 0 IRQ_TYPE_EDGE_BOTH>,
45 <0x0 0x13 2 IRQ_TYPE_EDGE_BOTH>,
46 <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>,
47 <0x0 0x14 1 IRQ_TYPE_EDGE_BOTH>;
48 interrupt-names = "chg-done",
49 "chg-fast",
50 "chg-trkl",
51 "bat-temp-ok",
52 "bat-present",
53 "chg-gone",
54 "usb-valid",
55 "dc-valid";
Bird, Timffb35d42017-01-26 16:47:25 -080056
57 usb-otg-in-supply = <&pm8941_5vs1>;
58
59 chg_otg: otg-vbus { };
Courtney Cavin982afd82015-07-30 10:53:57 -070060 };
61
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +030062 pm8941_gpios: gpios@c000 {
Stephen Boyd2ca9c2a42015-11-20 17:49:46 -080063 compatible = "qcom,pm8941-gpio", "qcom,spmi-gpio";
Stephen Boyd65d4e832015-11-25 14:27:36 -080064 reg = <0xc000>;
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +030065 gpio-controller;
Brian Masneycdd3d642018-10-31 20:11:48 -040066 gpio-ranges = <&pm8941_gpios 0 0 36>;
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +030067 #gpio-cells = <2>;
Brian Masney5f540fb2019-01-19 15:42:45 -050068 interrupt-controller;
69 #interrupt-cells = <2>;
Bhushan Shah73bae192016-07-29 11:39:07 +053070
71 boost_bypass_n_pin: boost-bypass {
72 pins = "gpio21";
73 function = "normal";
74 };
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +030075 };
76
77 pm8941_mpps: mpps@a000 {
Stephen Boyd2ca9c2a42015-11-20 17:49:46 -080078 compatible = "qcom,pm8941-mpp", "qcom,spmi-mpp";
Stephen Boyd65d4e832015-11-25 14:27:36 -080079 reg = <0xa000>;
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +030080 gpio-controller;
81 #gpio-cells = <2>;
82 interrupts = <0 0xa0 0 IRQ_TYPE_NONE>,
83 <0 0xa1 0 IRQ_TYPE_NONE>,
84 <0 0xa2 0 IRQ_TYPE_NONE>,
85 <0 0xa3 0 IRQ_TYPE_NONE>,
86 <0 0xa4 0 IRQ_TYPE_NONE>,
87 <0 0xa5 0 IRQ_TYPE_NONE>,
88 <0 0xa6 0 IRQ_TYPE_NONE>,
89 <0 0xa7 0 IRQ_TYPE_NONE>;
90 };
91
92 pm8941_temp: temp-alarm@2400 {
93 compatible = "qcom,spmi-temp-alarm";
Stephen Boyd65d4e832015-11-25 14:27:36 -080094 reg = <0x2400>;
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +030095 interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
96 io-channels = <&pm8941_vadc VADC_DIE_TEMP>;
97 io-channel-names = "thermal";
98 #thermal-sensor-cells = <0>;
99 };
100
101 pm8941_vadc: vadc@3100 {
102 compatible = "qcom,spmi-vadc";
Stephen Boyd65d4e832015-11-25 14:27:36 -0800103 reg = <0x3100>;
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +0300104 interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
105 #address-cells = <1>;
106 #size-cells = <0>;
107 #io-channel-cells = <1>;
108
Craig Tatlor296a3642018-03-30 21:04:08 +0100109 bat_temp {
110 reg = <VADC_LR_MUX1_BAT_THERM>;
111 };
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +0300112 die_temp {
113 reg = <VADC_DIE_TEMP>;
114 };
115 ref_625mv {
116 reg = <VADC_REF_625MV>;
117 };
118 ref_1250v {
119 reg = <VADC_REF_1250MV>;
120 };
121 ref_gnd {
122 reg = <VADC_GND_REF>;
123 };
124 ref_vdd {
125 reg = <VADC_VDD_VADC>;
126 };
Craig Tatlor296a3642018-03-30 21:04:08 +0100127 vbat_sns {
128 reg = <VADC_VBAT_SNS>;
129 };
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +0300130 };
131
132 pm8941_iadc: iadc@3600 {
133 compatible = "qcom,pm8941-iadc", "qcom,spmi-iadc";
Stephen Boyd65d4e832015-11-25 14:27:36 -0800134 reg = <0x3600>;
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +0300135 interrupts = <0x0 0x36 0x0 IRQ_TYPE_EDGE_RISING>;
136 qcom,external-resistor-micro-ohms = <10000>;
137 };
Tim Birdccf97fe2015-07-16 16:55:33 -0700138
139 coincell@2800 {
140 compatible = "qcom,pm8941-coincell";
141 reg = <0x2800>;
142 status = "disabled";
143 };
Ivan T. Ivanovc9127892015-02-03 14:17:59 +0200144 };
145
Stephen Boyd134c5442015-11-20 15:31:20 -0800146 pm8941_1: pm8941@1 {
147 compatible = "qcom,pm8941", "qcom,spmi-pmic";
Ivan T. Ivanovc9127892015-02-03 14:17:59 +0200148 reg = <0x1 SPMI_USID>;
149 #address-cells = <1>;
150 #size-cells = <0>;
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +0300151
Bjorn Andersson7026d152015-11-23 11:04:07 -0800152 pm8941_wled: wled@d800 {
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +0300153 compatible = "qcom,pm8941-wled";
Stephen Boyd65d4e832015-11-25 14:27:36 -0800154 reg = <0xd800>;
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +0300155 label = "backlight";
156
Bjorn Andersson7026d152015-11-23 11:04:07 -0800157 status = "disabled";
Ivan T. Ivanov635ecad2015-04-20 10:45:36 +0300158 };
Stephen Boyd4ac5a202017-01-26 16:47:26 -0800159
160 regulators {
161 compatible = "qcom,pm8941-regulators";
162 interrupts = <0x1 0x83 0x2 0>, <0x1 0x84 0x2 0>;
163 interrupt-names = "ocp-5vs1", "ocp-5vs2";
164 vin_5vs-supply = <&pm8941_5v>;
165
166 pm8941_5v: s4 {
167 regulator-min-microvolt = <5000000>;
168 regulator-max-microvolt = <5000000>;
169 regulator-enable-ramp-delay = <500>;
170 };
171
172 pm8941_5vs1: 5vs1 {
173 regulator-enable-ramp-delay = <1000>;
174 regulator-pull-down;
175 regulator-over-current-protection;
176 qcom,ocp-max-retries = <10>;
177 qcom,ocp-retry-delay = <30>;
178 qcom,vs-soft-start-strength = <0>;
179 regulator-initial-mode = <1>;
180 };
Brian Masneyac242e22019-10-06 21:45:07 -0400181
182 pm8941_5vs2: 5vs2 {
183 regulator-enable-ramp-delay = <1000>;
184 regulator-pull-down;
185 regulator-over-current-protection;
186 qcom,ocp-max-retries = <10>;
187 qcom,ocp-retry-delay = <30>;
188 qcom,vs-soft-start-strength = <0>;
189 regulator-initial-mode = <1>;
190 };
Stephen Boyd4ac5a202017-01-26 16:47:26 -0800191 };
Ivan T. Ivanovc9127892015-02-03 14:17:59 +0200192 };
193};