Skip to content

Commit 3732391

Browse files
committed
Merge tag 'mfd-next-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
Pull MFD updates from Lee Jones: "Core Frameworks: - Add support for a "resource managed strongly uncachable ioremap" call - Provide a collection of MFD helper macros - Remove mfd_clone_cell() from MFD core - Add NULL de-reference protection in MFD core - Remove superfluous function fd_platform_add_cell() from MFD core - Honour Device Tree's request to disable a device New Drivers: - Add support for MediaTek MT6323 PMIC New Device Support: - Add support for Gemini Lake to Intel LPSS PCI - Add support for Cherry Trail Crystal Cover PMIC to Intel SoC PMIC CRC - Add support for PM{I}8950 to Qualcomm SPMI PMIC - Add support for U8420 to ST-Ericsson DB8500 - Add support for Comet Lake PCH-H to Intel LPSS PCI New Functionality: - Add support for requested supply clocks; madera-core Fix-ups: - Lower interrupt priority; rk808 - Use provided helpers (macros, group functions, defines); rk808, ipaq-micro, ab8500-core, db8500-prcmu, mt6397-core, cs5535-mfd - Only allocate IRQs on request; max77620 - Use simplified API; arizona-core - Remove redundant and/or duplicated code; wm8998-tables, arizona, syscon - Device Tree binding fix-ups; madera, max77650, max77693 - Remove mfd_cell->id abuse hack; cs5535-mfd - Remove only user of mfd_clone_cell(); cs5535-mfd - Make resources static; rohm-bd70528 Bug Fixes: - Fix product ID for RK818; rk808 - Fix Power Key; rk808 - Fix booting on the BananaPi; mt6397-core - Endian fix-ups; twl.h - Fix static error checker warnings; ti_am335x_tscadc" * tag 'mfd-next-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (47 commits) Revert "mfd: syscon: Set name of regmap_config" mfd: ti_am335x_tscadc: Fix static checker warning mfd: bd70528: Staticize bit value definitions mfd: mfd-core: Honour Device Tree's request to disable a child-device dt-bindings: mfd: max77693: Fix missing curly brace mfd: intel-lpss: Add Intel Comet Lake PCH-H PCI IDs mfd: db8500-prcmu: Support U8420-sysclk firmware dt-bindings: mfd: max77650: Convert the binding document to yaml mfd: mfd-core: Move pdev->mfd_cell creation back into mfd_add_device() mfd: mfd-core: Remove usage counting for .{en,dis}able() call-backs x86: olpc-xo1-sci: Remove invocation of MFD's .enable()/.disable() call-backs x86: olpc-xo1-pm: Remove invocation of MFD's .enable()/.disable() call-backs mfd: mfd-core: Remove mfd_clone_cell() mfd: mfd-core: Protect against NULL call-back function pointer mfd: cs5535-mfd: Register clients using their own dedicated MFD cell entries mfd: cs5535-mfd: Request shared IO regions centrally mfd: cs5535-mfd: Remove mfd_cell->id hack mfd: cs5535-mfd: Use PLATFORM_DEVID_* defines and tidy error message mfd: intel_soc_pmic_crc: Add "cht_crystal_cove_pmic" cell to CHT cells mfd: madera: Add support for requesting the supply clocks ...
2 parents 38edc3d + edfaeaf commit 3732391

Some content is hidden

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

45 files changed

+730
-538
lines changed

Documentation/devicetree/bindings/mfd/madera.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,14 @@ Optional properties:
6767
As defined in bindings/gpio.txt.
6868
Although optional, it is strongly recommended to use a hardware reset
6969

70+
- clocks: Should reference the clocks supplied on MCLK1, MCLK2 and MCLK3
71+
- clock-names: May contain up to three strings:
72+
"mclk1" for the clock supplied on MCLK1, recommended to be a high
73+
quality audio reference clock
74+
"mclk2" for the clock supplied on MCLK2, required to be an always on
75+
32k clock
76+
"mclk3" for the clock supplied on MCLK3
77+
7078
- MICBIASx : Initial data for the MICBIAS regulators, as covered in
7179
Documentation/devicetree/bindings/regulator/regulator.txt.
7280
One for each MICBIAS generator (MICBIAS1, MICBIAS2, ...)

Documentation/devicetree/bindings/mfd/max77650.txt

Lines changed: 0 additions & 46 deletions
This file was deleted.
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mfd/max77650.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: MAX77650 ultra low-power PMIC from Maxim Integrated.
8+
9+
maintainers:
10+
- Bartosz Golaszewski <[email protected]>
11+
12+
description: |
13+
MAX77650 is an ultra-low power PMIC providing battery charging and power
14+
supply for low-power IoT and wearable applications.
15+
16+
The GPIO-controller module is represented as part of the top-level PMIC
17+
node. The device exposes a single GPIO line.
18+
19+
For device-tree bindings of other sub-modules (regulator, power supply,
20+
LEDs and onkey) refer to the binding documents under the respective
21+
sub-system directories.
22+
23+
properties:
24+
compatible:
25+
const: maxim,max77650
26+
27+
reg:
28+
description:
29+
I2C device address.
30+
maxItems: 1
31+
32+
interrupts:
33+
maxItems: 1
34+
35+
interrupt-controller: true
36+
37+
"#interrupt-cells":
38+
const: 2
39+
description:
40+
The first cell is the IRQ number, the second cell is the trigger type.
41+
42+
gpio-controller: true
43+
44+
"#gpio-cells":
45+
const: 2
46+
description:
47+
The first cell is the pin number and the second cell is used to specify
48+
the gpio active state.
49+
50+
gpio-line-names:
51+
maxItems: 1
52+
description:
53+
Single string containing the name of the GPIO line.
54+
55+
regulators:
56+
$ref: ../regulator/max77650-regulator.yaml
57+
58+
charger:
59+
$ref: ../power/supply/max77650-charger.yaml
60+
61+
leds:
62+
$ref: ../leds/leds-max77650.yaml
63+
64+
onkey:
65+
$ref: ../input/max77650-onkey.yaml
66+
67+
required:
68+
- compatible
69+
- reg
70+
- interrupts
71+
- interrupt-controller
72+
- "#interrupt-cells"
73+
- gpio-controller
74+
- "#gpio-cells"
75+
76+
examples:
77+
- |
78+
#include <dt-bindings/interrupt-controller/irq.h>
79+
#include <dt-bindings/input/linux-event-codes.h>
80+
i2c {
81+
#address-cells = <1>;
82+
#size-cells = <0>;
83+
84+
pmic@48 {
85+
compatible = "maxim,max77650";
86+
reg = <0x48>;
87+
88+
interrupt-controller;
89+
interrupt-parent = <&gpio2>;
90+
#interrupt-cells = <2>;
91+
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
92+
93+
gpio-controller;
94+
#gpio-cells = <2>;
95+
gpio-line-names = "max77650-charger";
96+
97+
regulators {
98+
compatible = "maxim,max77650-regulator";
99+
100+
max77650_ldo: regulator@0 {
101+
regulator-compatible = "ldo";
102+
regulator-name = "max77650-ldo";
103+
regulator-min-microvolt = <1350000>;
104+
regulator-max-microvolt = <2937500>;
105+
};
106+
107+
max77650_sbb0: regulator@1 {
108+
regulator-compatible = "sbb0";
109+
regulator-name = "max77650-sbb0";
110+
regulator-min-microvolt = <800000>;
111+
regulator-max-microvolt = <1587500>;
112+
};
113+
};
114+
115+
charger {
116+
compatible = "maxim,max77650-charger";
117+
input-voltage-min-microvolt = <4200000>;
118+
input-current-limit-microamp = <285000>;
119+
};
120+
121+
leds {
122+
compatible = "maxim,max77650-led";
123+
#address-cells = <1>;
124+
#size-cells = <0>;
125+
126+
led@0 {
127+
reg = <0>;
128+
label = "blue:usr0";
129+
};
130+
131+
led@1 {
132+
reg = <1>;
133+
label = "red:usr1";
134+
linux,default-trigger = "heartbeat";
135+
};
136+
137+
led@2 {
138+
reg = <2>;
139+
label = "green:usr2";
140+
};
141+
};
142+
143+
onkey {
144+
compatible = "maxim,max77650-onkey";
145+
linux,code = <KEY_END>;
146+
maxim,onkey-slide;
147+
};
148+
};
149+
};

Documentation/devicetree/bindings/mfd/max77693.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ Example:
175175
maxim,thermal-regulation-celsius = <75>;
176176
maxim,battery-overcurrent-microamp = <3000000>;
177177
maxim,charge-input-threshold-microvolt = <4300000>;
178+
};
178179

179180
led {
180181
compatible = "maxim,max77693-led";

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ Required properties:
2929
"qcom,pm8916",
3030
"qcom,pm8004",
3131
"qcom,pm8909",
32+
"qcom,pm8950",
33+
"qcom,pmi8950",
3234
"qcom,pm8998",
3335
"qcom,pmi8998",
3436
"qcom,pm8005",
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
Device-Tree bindings for MediaTek PMIC based RTC
2+
3+
MediaTek PMIC based RTC is an independent function of MediaTek PMIC that works
4+
as a type of multi-function device (MFD). The RTC can be configured and set up
5+
with PMIC wrapper bus which is a common resource shared with the other
6+
functions found on the same PMIC.
7+
8+
For MediaTek PMIC MFD bindings, see:
9+
../mfd/mt6397.txt
10+
11+
For MediaTek PMIC wrapper bus bindings, see:
12+
../soc/mediatek/pwrap.txt
13+
14+
Required properties:
15+
- compatible: Should be one of follows
16+
"mediatek,mt6323-rtc": for MT6323 PMIC
17+
"mediatek,mt6397-rtc": for MT6397 PMIC
18+
19+
Example:
20+
21+
pmic {
22+
compatible = "mediatek,mt6323";
23+
24+
...
25+
26+
rtc {
27+
compatible = "mediatek,mt6323-rtc";
28+
};
29+
};

Documentation/driver-api/driver-model/devres.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,7 @@ IOMAP
314314
devm_ioport_unmap()
315315
devm_ioremap()
316316
devm_ioremap_nocache()
317+
devm_ioremap_uc()
317318
devm_ioremap_wc()
318319
devm_ioremap_resource() : checks resource, requests memory region, ioremaps
319320
devm_ioremap_resource_wc()

MAINTAINERS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10396,6 +10396,13 @@ S: Maintained
1039610396
F: drivers/net/dsa/mt7530.*
1039710397
F: net/dsa/tag_mtk.c
1039810398

10399+
MEDIATEK BOARD LEVEL SHUTDOWN DRIVERS
10400+
M: Sean Wang <[email protected]>
10401+
10402+
S: Maintained
10403+
F: Documentation/devicetree/bindings/power/reset/mt6323-poweroff.txt
10404+
F: drivers/power/reset/mt6323-poweroff.c
10405+
1039910406
MEDIATEK JPEG DRIVER
1040010407
M: Rick Chang <[email protected]>
1040110408
M: Bin Liu <[email protected]>

arch/arm/mach-ux500/cpu-db8500.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,14 @@ static void __init ux500_init_irq(void)
8484
struct resource r;
8585

8686
irqchip_init();
87+
prcmu_early_init();
8788
np = of_find_compatible_node(NULL, NULL, "stericsson,db8500-prcmu");
8889
of_address_to_resource(np, 0, &r);
8990
of_node_put(np);
9091
if (!r.start) {
9192
pr_err("could not find PRCMU base resource\n");
9293
return;
9394
}
94-
prcmu_early_init(r.start, r.end-r.start);
9595
ux500_pm_init(r.start, r.end-r.start);
9696

9797
/* Unlock before init */

arch/sparc/include/asm/io_64.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,7 @@ static inline void __iomem *ioremap(unsigned long offset, unsigned long size)
407407
}
408408

409409
#define ioremap_nocache(X,Y) ioremap((X),(Y))
410+
#define ioremap_uc(X,Y) ioremap((X),(Y))
410411
#define ioremap_wc(X,Y) ioremap((X),(Y))
411412
#define ioremap_wt(X,Y) ioremap((X),(Y))
412413

0 commit comments

Comments
 (0)