Skip to content

Commit b8ec70a

Browse files
committed
Merge tag 'mfd-next-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
Pull MFD updates from Lee Jones: "New Drivers: - Add support for TI TPS6594/TPS6593/LP8764 PMICs - Add support for Samsung RT5033 Battery Charger - Add support for Analog Devices MAX77540 and MAX77541 PMICs New Device Support: - Add support for SPI to Rockchip RK808 (and friends) - Add support for AXP192 PMIC to X-Powers AXP20X - Add support for AXP313a PMIC to X-Powers AXP20X - Add support for RK806 to Rockchip RK8XX Removed Device Support: - Removed MFD support for Richtek RT5033 Battery Fix-ups: - Remove superfluous code - Switch I2C drivers from .probe_new() to .probe() - Convert over to managed resources (devm_*(), etc) - Use dev_err_probe() for returning errors from .probe() - Add lots of Device Tree bindings / support - Improve cache efficiency by switching to Maple - Use own exported namespaces (NS) - Include missing and remove superfluous headers - Start using / convert to the new shutdown sys-off API - Trivial: variable / define renaming - Make use of of_property_read_reg() when requesting DT 'reg's Bug Fixes: - Fix chip revision readout due to incorrect data masking - Amend incorrect register and mask values used for charger state - Hide unused functionality at compile time - Fix resource leaks following error handling routines - Return correct error values and fix error handling in general - Repair incorrect device names - used for device matching - Remedy broken module auto-loading" * tag 'mfd-next-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (51 commits) dt-bindings: mfd: max77541: Add ADI MAX77541/MAX77540 iio: adc: max77541: Add ADI MAX77541 ADC Support regulator: max77541: Add ADI MAX77541/MAX77540 Regulator Support dt-bindings: regulator: max77541: Add ADI MAX77541/MAX77540 Regulator mfd: Switch two more drivers back to use struct i2c_driver::probe dt-bindings: mfd: samsung,s5m8767: Simplify excluding properties mfd: stmpe: Only disable the regulators if they are enabled mfd: max77541: Add ADI MAX77541/MAX77540 PMIC Support dt-bindings: mfd: gateworks-gsc: Remove unnecessary fan-controller nodes mfd: core: Use of_property_read_reg() to parse "reg" mfd: stmfx: Nullify stmfx->vdd in case of error mfd: stmfx: Fix error path in stmfx_chip_init mfd: intel-lpss: Add missing check for platform_get_resource mfd: stpmic1: Add PMIC poweroff via sys-off handler mfd: stpmic1: Fixup main control register and bits naming dt-bindings: mfd: qcom,tcsr: Add the compatible for IPQ8074 mfd: tps65219: Add support for soft shutdown via sys-off API mfd: pm8008: Drop bogus i2c module alias mfd: pm8008: Fix module autoloading mfd: tps65219: Add GPIO cell instance ...
2 parents 99bdeae + b05740d commit b8ec70a

146 files changed

Lines changed: 2374 additions & 300 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.mailmap

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,10 @@ Krzysztof Kozlowski <krzk@kernel.org> <k.kozlowski@samsung.com>
275275
Krzysztof Kozlowski <krzk@kernel.org> <krzysztof.kozlowski@canonical.com>
276276
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
277277
Kuogee Hsieh <quic_khsieh@quicinc.com> <khsieh@codeaurora.org>
278+
Lee Jones <lee@kernel.org> <joneslee@google.com>
279+
Lee Jones <lee@kernel.org> <lee.jones@canonical.com>
280+
Lee Jones <lee@kernel.org> <lee.jones@linaro.org>
281+
Lee Jones <lee@kernel.org> <lee@ubuntu.com>
278282
Leonard Crestez <leonard.crestez@nxp.com> Leonard Crestez <cdleonard@gmail.com>
279283
Leonardo Bras <leobras.c@gmail.com> <leonardo@linux.ibm.com>
280284
Leonard Göhrs <l.goehrs@pengutronix.de>
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mfd/adi,max77541.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: MAX77540/MAX77541 PMIC from ADI
8+
9+
maintainers:
10+
- Okan Sahin <okan.sahin@analog.com>
11+
12+
description: |
13+
MAX77540 is a Power Management IC with 2 buck regulators.
14+
15+
MAX77541 is a Power Management IC with 2 buck regulators and 1 ADC.
16+
17+
properties:
18+
compatible:
19+
enum:
20+
- adi,max77540
21+
- adi,max77541
22+
23+
reg:
24+
maxItems: 1
25+
26+
interrupts:
27+
maxItems: 1
28+
29+
regulators:
30+
$ref: /schemas/regulator/adi,max77541-regulator.yaml#
31+
32+
required:
33+
- compatible
34+
- reg
35+
- interrupts
36+
37+
additionalProperties: false
38+
39+
examples:
40+
- |
41+
#include <dt-bindings/interrupt-controller/irq.h>
42+
43+
i2c {
44+
#address-cells = <1>;
45+
#size-cells = <0>;
46+
47+
pmic@69 {
48+
compatible = "adi,max77541";
49+
reg = <0x69>;
50+
interrupt-parent = <&gpio>;
51+
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
52+
53+
regulators {
54+
buck1 {
55+
regulator-min-microvolt = <500000>;
56+
regulator-max-microvolt = <5200000>;
57+
regulator-boot-on;
58+
regulator-always-on;
59+
};
60+
buck2 {
61+
regulator-min-microvolt = <500000>;
62+
regulator-max-microvolt = <5200000>;
63+
regulator-boot-on;
64+
regulator-always-on;
65+
};
66+
};
67+
};
68+
};

Documentation/devicetree/bindings/mfd/gateworks-gsc.yaml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -122,21 +122,13 @@ patternProperties:
122122
compatible:
123123
const: gw,gsc-fan
124124

125-
"#address-cells":
126-
const: 1
127-
128-
"#size-cells":
129-
const: 0
130-
131125
reg:
132126
description: The fan controller base address
133127
maxItems: 1
134128

135129
required:
136130
- compatible
137131
- reg
138-
- "#address-cells"
139-
- "#size-cells"
140132

141133
required:
142134
- compatible
@@ -194,8 +186,6 @@ examples:
194186
};
195187
196188
fan-controller@2c {
197-
#address-cells = <1>;
198-
#size-cells = <0>;
199189
compatible = "gw,gsc-fan";
200190
reg = <0x2c>;
201191
};

Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,10 @@ patternProperties:
146146
type: object
147147
$ref: /schemas/nvmem/qcom,spmi-sdam.yaml#
148148

149+
"phy@[0-9a-f]+$":
150+
type: object
151+
$ref: /schemas/phy/qcom,snps-eusb2-repeater.yaml#
152+
149153
"pon@[0-9a-f]+$":
150154
type: object
151155
$ref: /schemas/power/reset/qcom,pon.yaml#

Documentation/devicetree/bindings/mfd/qcom,tcsr.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ properties:
3434
- qcom,tcsr-ipq5332
3535
- qcom,tcsr-ipq6018
3636
- qcom,tcsr-ipq8064
37+
- qcom,tcsr-ipq8074
3738
- qcom,tcsr-ipq9574
3839
- qcom,tcsr-mdm9615
3940
- qcom,tcsr-msm8226
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mfd/richtek,rt5033.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Richtek RT5033 Power Management Integrated Circuit
8+
9+
maintainers:
10+
- Jakob Hauser <jahau@rocketmail.com>
11+
12+
description:
13+
RT5033 is a multifunction device which includes battery charger, fuel gauge,
14+
flash LED current source, LDO and synchronous Buck converter for portable
15+
applications. It is interfaced to host controller using I2C interface. The
16+
battery fuel gauge uses a separate I2C bus.
17+
18+
properties:
19+
compatible:
20+
const: richtek,rt5033
21+
22+
reg:
23+
maxItems: 1
24+
25+
interrupts:
26+
maxItems: 1
27+
28+
regulators:
29+
description:
30+
The regulators of RT5033 have to be instantiated under a sub-node named
31+
"regulators". For SAFE_LDO voltage there is only one value of 4.9 V. LDO
32+
voltage ranges from 1.2 V to 3.0 V in 0.1 V steps. BUCK voltage ranges
33+
from 1.0 V to 3.0 V in 0.1 V steps.
34+
type: object
35+
patternProperties:
36+
"^(SAFE_LDO|LDO|BUCK)$":
37+
type: object
38+
$ref: /schemas/regulator/regulator.yaml#
39+
unevaluatedProperties: false
40+
additionalProperties: false
41+
42+
charger:
43+
type: object
44+
$ref: /schemas/power/supply/richtek,rt5033-charger.yaml#
45+
46+
required:
47+
- compatible
48+
- reg
49+
- interrupts
50+
51+
additionalProperties: false
52+
53+
examples:
54+
- |
55+
#include <dt-bindings/interrupt-controller/irq.h>
56+
57+
battery: battery {
58+
compatible = "simple-battery";
59+
precharge-current-microamp = <450000>;
60+
constant-charge-current-max-microamp = <1000000>;
61+
charge-term-current-microamp = <150000>;
62+
precharge-upper-limit-microvolt = <3500000>;
63+
constant-charge-voltage-max-microvolt = <4350000>;
64+
};
65+
66+
extcon {
67+
usb_con: connector {
68+
compatible = "usb-b-connector";
69+
label = "micro-USB";
70+
type = "micro";
71+
};
72+
};
73+
74+
i2c {
75+
#address-cells = <1>;
76+
#size-cells = <0>;
77+
78+
i2c@0 {
79+
#address-cells = <1>;
80+
#size-cells = <0>;
81+
reg = <0>;
82+
83+
fuel-gauge@35 {
84+
compatible = "richtek,rt5033-battery";
85+
reg = <0x35>;
86+
87+
interrupt-parent = <&msmgpio>;
88+
interrupts = <121 IRQ_TYPE_EDGE_FALLING>;
89+
90+
pinctrl-names = "default";
91+
pinctrl-0 = <&fg_alert_default>;
92+
93+
power-supplies = <&rt5033_charger>;
94+
};
95+
};
96+
97+
i2c@1 {
98+
#address-cells = <1>;
99+
#size-cells = <0>;
100+
reg = <1>;
101+
102+
pmic@34 {
103+
compatible = "richtek,rt5033";
104+
reg = <0x34>;
105+
106+
interrupt-parent = <&msmgpio>;
107+
interrupts = <62 IRQ_TYPE_EDGE_FALLING>;
108+
109+
pinctrl-names = "default";
110+
pinctrl-0 = <&pmic_int_default>;
111+
112+
regulators {
113+
safe_ldo_reg: SAFE_LDO {
114+
regulator-name = "SAFE_LDO";
115+
regulator-min-microvolt = <4900000>;
116+
regulator-max-microvolt = <4900000>;
117+
regulator-always-on;
118+
};
119+
ldo_reg: LDO {
120+
regulator-name = "LDO";
121+
regulator-min-microvolt = <2800000>;
122+
regulator-max-microvolt = <2800000>;
123+
};
124+
buck_reg: BUCK {
125+
regulator-name = "BUCK";
126+
regulator-min-microvolt = <1200000>;
127+
regulator-max-microvolt = <1200000>;
128+
};
129+
};
130+
131+
rt5033_charger: charger {
132+
compatible = "richtek,rt5033-charger";
133+
monitored-battery = <&battery>;
134+
richtek,usb-connector = <&usb_con>;
135+
};
136+
};
137+
};
138+
};

Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -153,29 +153,18 @@ dependencies:
153153
additionalProperties: false
154154

155155
allOf:
156-
- if:
156+
- not:
157157
required:
158158
- s5m8767,pmic-buck2-uses-gpio-dvs
159-
then:
160-
properties:
161-
s5m8767,pmic-buck3-uses-gpio-dvs: false
162-
s5m8767,pmic-buck4-uses-gpio-dvs: false
163-
164-
- if:
165-
required:
166159
- s5m8767,pmic-buck3-uses-gpio-dvs
167-
then:
168-
properties:
169-
s5m8767,pmic-buck2-uses-gpio-dvs: false
170-
s5m8767,pmic-buck4-uses-gpio-dvs: false
171-
172-
- if:
160+
- not:
173161
required:
162+
- s5m8767,pmic-buck2-uses-gpio-dvs
163+
- s5m8767,pmic-buck4-uses-gpio-dvs
164+
- not:
165+
required:
166+
- s5m8767,pmic-buck3-uses-gpio-dvs
174167
- s5m8767,pmic-buck4-uses-gpio-dvs
175-
then:
176-
properties:
177-
s5m8767,pmic-buck2-uses-gpio-dvs: false
178-
s5m8767,pmic-buck3-uses-gpio-dvs: false
179168

180169
examples:
181170
- |

Documentation/devicetree/bindings/mfd/st,stpmic1.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ properties:
184184
additionalProperties: false
185185

186186
patternProperties:
187-
"^(buck[1-4]|ldo[1-6]|boost|pwr_sw[1-2])-supply$":
187+
"^(buck[1-4]|ldo[1-6]|vref_ddr|boost|pwr_sw[1-2])-supply$":
188188
description: STPMIC1 voltage regulators supplies
189189

190190
"^(buck[1-4]|ldo[1-6]|boost|vref_ddr|pwr_sw[1-2])$":

0 commit comments

Comments
 (0)