Skip to content

Commit af32f3a

Browse files
committed
Merge tag 'mfd-next-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
Pull MFD updates from Lee Jones: "New Drivers: - Add support for ROHM BD71828 PMICs and GPIOs - Add support for Qualcomm Aqstic Audio Codecs WCD9340 and WCD9341 New Device Support: - Add support for BD71828 to BD70528 RTC driver - Add support for Intel's Jasper Lake to LPSS PCI New Functionality: - Add support for Power Key to ROHM BD71828 - Add support for Clocks to ROHM BD71828 - Add support for GPIOs to Dialog DA9062 - Add support for USB PD Notify to ChromiumOS EC - Allow callers to specify args when requesting regmap lookup; syscon Fix-ups: - Improve error handling and sanity checking; atmel-hlcdc, dln2 - Device Tree support/documentation; bd71828, da9062, xylon,logicvc, ab8500, max14577, atmel-usart - Match devices using platform IDs; bd7xxxx - Refactor BD718x7 regulator component; bd718x7-regulator - Use standard interfaces/helpers; syscon, sm501 - Trivial (whitespace, spelling, etc); ab8500-core, Kconfig - Remove unused code; db8500-prcmu, tqmx86 - Wait until boot has finished before accessing registers; madera-core - Provide missing register value defaults; cs47l15-tables - Allow more time for hardware to reset; madera-core Bug Fixes: - Fix erroneous register values; rohm-bd70528 - Fix register volatility; axp20x, rn5t618 - Fix Kconfig dependencies; MFD_MAX77650 - Fix incorrect compatible string; da9062-core - Fix syscon_regmap_lookup_by_phandle_args() stub; syscon" * tag 'mfd-next-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (41 commits) mfd: syscon: Fix syscon_regmap_lookup_by_phandle_args() dummy mfd: wcd934x: Add support to wcd9340/wcd9341 codec mfd: syscon: Add arguments support for syscon reference mfd: rn5t618: Mark ADC control register volatile dt-bindings: atmel-usart: Add microchip,sam9x60-{usart, dbgu} dt-bindings: atmel-usart: Remove wildcard mfd: cros_ec: Add cros-usbpd-notify subdevice mfd: da9062: Fix watchdog compatible string mfd: madera: Allow more time for hardware reset mfd: cs47l15: Add missing register default mfd: madera: Wait for boot done before accessing any other registers mfd: Kconfig: Rename Samsung to lowercase mfd: tqmx86: remove set but not used variable 'i2c_ien' mfd: dbx500-prcmu: Drop DSI pll clock functions mfd: dbx500-prcmu: Drop set_display_clocks() mfd: max77650: Select REGMAP_IRQ in Kconfig mfd: axp20x: Mark AXP20X_VBUS_IPSOUT_MGMT as volatile mfd: ab8500: Fix ab8500-clk typo mfd: intel-lpss: Add Intel Jasper Lake PCI IDs dt-bindings: mfd: max14577: Add reference to max14040_battery.txt descriptions ...
2 parents d0fa925 + 5312f32 commit af32f3a

Some content is hidden

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

47 files changed

+2810
-416
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/leds/rohm,bd71828-leds.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: ROHM BD71828 Power Management Integrated Circuit LED driver
8+
9+
maintainers:
10+
- Matti Vaittinen <[email protected]>
11+
12+
description: |
13+
This module is part of the ROHM BD71828 MFD device. For more details
14+
see Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml.
15+
16+
The LED controller is represented as a sub-node of the PMIC node on the device
17+
tree.
18+
19+
The device has two LED outputs referred as GRNLED and AMBLED in data-sheet.
20+
21+
select: false
22+
23+
properties:
24+
compatible:
25+
const: rohm,bd71828-leds
26+
27+
patternProperties:
28+
"^led-[1-2]$":
29+
type: object
30+
description:
31+
Properties for a single LED.
32+
properties:
33+
#allOf:
34+
#- $ref: "common.yaml#"
35+
rohm,led-compatible:
36+
description: LED identification string
37+
allOf:
38+
- $ref: "/schemas/types.yaml#/definitions/string"
39+
- enum:
40+
- bd71828-ambled
41+
- bd71828-grnled
42+
function:
43+
description:
44+
Purpose of LED as defined in dt-bindings/leds/common.h
45+
$ref: "/schemas/types.yaml#/definitions/string"
46+
color:
47+
description:
48+
LED colour as defined in dt-bindings/leds/common.h
49+
$ref: "/schemas/types.yaml#/definitions/uint32"
50+
51+
required:
52+
- compatible

Documentation/devicetree/bindings/mfd/ab8500.txt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
* AB8500 Multi-Functional Device (MFD)
22

33
Required parent device properties:
4-
- compatible : contains "stericsson,ab8500";
4+
- compatible : contains "stericsson,ab8500" or "stericsson,ab8505";
55
- interrupts : contains the IRQ line for the AB8500
66
- interrupt-controller : describes the AB8500 as an Interrupt Controller (has its own domain)
77
- #interrupt-cells : should be 2, for 2-cell format
@@ -49,11 +49,13 @@ ab8500-charger : : vddadc : Charger interface
4949
: CH_WD_EXP : : Charger watchdog detected
5050
ab8500-gpadc : HW_CONV_END : vddadc : Analogue to Digital Converter
5151
SW_CONV_END : :
52-
ab8500-gpio : : : GPIO Controller
52+
ab8500-gpio : : : GPIO Controller (AB8500)
53+
ab8505-gpio : : : GPIO Controller (AB8505)
5354
ab8500-ponkey : ONKEY_DBF : : Power-on Key
5455
ONKEY_DBR : :
5556
ab8500-pwm : : : Pulse Width Modulator
56-
ab8500-regulator : : : Regulators
57+
ab8500-regulator : : : Regulators (AB8500)
58+
ab8505-regulator : : : Regulators (AB8505)
5759
ab8500-rtc : 60S : : Real Time Clock
5860
: ALARM : :
5961
ab8500-sysctrl : : : System Control

Documentation/devicetree/bindings/mfd/atmel-usart.txt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
* Atmel Universal Synchronous Asynchronous Receiver/Transmitter (USART)
22

33
Required properties for USART:
4-
- compatible: Should be "atmel,<chip>-usart" or "atmel,<chip>-dbgu"
5-
The compatible <chip> indicated will be the first SoC to support an
6-
additional mode or an USART new feature.
7-
For the dbgu UART, use "atmel,<chip>-dbgu", "atmel,<chip>-usart"
4+
- compatible: Should be one of the following:
5+
- "atmel,at91rm9200-usart"
6+
- "atmel,at91sam9260-usart"
7+
- "microchip,sam9x60-usart"
8+
- "atmel,at91rm9200-dbgu", "atmel,at91rm9200-usart"
9+
- "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart"
10+
- "microchip,sam9x60-dbgu", "microchip,sam9x60-usart"
811
- reg: Should contain registers location and length
912
- interrupts: Should contain interrupt
1013
- clock-names: tuple listing input clock names.

Documentation/devicetree/bindings/mfd/da9062.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ da9062-rtc : : Real-Time Clock
1313
da9062-onkey : : On Key
1414
da9062-watchdog : : Watchdog Timer
1515
da9062-thermal : : Thermal
16+
da9062-gpio : : GPIOs
1617

1718
The DA9061 PMIC consists of:
1819

@@ -38,6 +39,15 @@ Required properties:
3839
See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for
3940
further information on IRQ bindings.
4041

42+
Optional properties:
43+
44+
- gpio-controller : Marks the device as a gpio controller.
45+
- #gpio-cells : Should be two. The first cell is the pin number and the
46+
second cell is used to specify the gpio polarity.
47+
48+
See Documentation/devicetree/bindings/gpio/gpio.txt for further information on
49+
GPIO bindings.
50+
4151
Sub-nodes:
4252

4353
- regulators : This node defines the settings for the LDOs and BUCKs.

Documentation/devicetree/bindings/mfd/max14577.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ Battery Charger and SFOUT LDO output for powering USB devices. It is
55
interfaced to host controller using I2C.
66

77
MAX77836 additionally contains PMIC (with two LDO regulators) and Fuel Gauge.
8+
For the description of Fuel Gauge low SOC alert interrupt see:
9+
../power/supply/max17040_battery.txt
810

911

1012
Required properties:
Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mfd/rohm,bd71828-pmic.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: ROHM BD71828 Power Management Integrated Circuit bindings
8+
9+
maintainers:
10+
- Matti Vaittinen <[email protected]>
11+
12+
description: |
13+
BD71828GW is a single-chip power management IC for battery-powered portable
14+
devices. The IC integrates 7 buck converters, 7 LDOs, and a 1500 mA
15+
single-cell linear charger. Also included is a Coulomb counter, a real-time
16+
clock (RTC), and a 32.768 kHz clock gate.
17+
18+
properties:
19+
compatible:
20+
const: rohm,bd71828
21+
22+
reg:
23+
description:
24+
I2C slave address.
25+
maxItems: 1
26+
27+
interrupts:
28+
maxItems: 1
29+
30+
gpio-controller: true
31+
32+
"#gpio-cells":
33+
const: 2
34+
description: |
35+
The first cell is the pin number and the second cell is used to specify
36+
flags. See ../gpio/gpio.txt for more information.
37+
38+
clocks:
39+
maxItems: 1
40+
41+
"#clock-cells":
42+
const: 0
43+
44+
rohm,charger-sense-resistor-ohms:
45+
minimum: 10000000
46+
maximum: 50000000
47+
description: |
48+
BD71827 and BD71828 have SAR ADC for measuring charging currents.
49+
External sense resistor (RSENSE in data sheet) should be used. If some
50+
other but 30MOhm resistor is used the resistance value should be given
51+
here in Ohms.
52+
53+
regulators:
54+
$ref: ../regulator/rohm,bd71828-regulator.yaml
55+
description:
56+
List of child nodes that specify the regulators.
57+
58+
leds:
59+
$ref: ../leds/rohm,bd71828-leds.yaml
60+
61+
gpio-reserved-ranges:
62+
description: |
63+
Usage of BD71828 GPIO pins can be changed via OTP. This property can be
64+
used to mark the pins which should not be configured for GPIO. Please see
65+
the ../gpio/gpio.txt for more information.
66+
67+
required:
68+
- compatible
69+
- reg
70+
- interrupts
71+
- clocks
72+
- "#clock-cells"
73+
- regulators
74+
- gpio-controller
75+
- "#gpio-cells"
76+
77+
examples:
78+
- |
79+
#include <dt-bindings/interrupt-controller/irq.h>
80+
#include <dt-bindings/leds/common.h>
81+
i2c {
82+
#address-cells = <1>;
83+
#size-cells = <0>;
84+
pmic: pmic@4b {
85+
compatible = "rohm,bd71828";
86+
reg = <0x4b>;
87+
88+
interrupt-parent = <&gpio1>;
89+
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
90+
91+
clocks = <&osc 0>;
92+
#clock-cells = <0>;
93+
clock-output-names = "bd71828-32k-out";
94+
95+
gpio-controller;
96+
#gpio-cells = <2>;
97+
gpio-reserved-ranges = <0 1>, <2 1>;
98+
99+
rohm,charger-sense-resistor-ohms = <10000000>;
100+
101+
regulators {
102+
buck1: BUCK1 {
103+
regulator-name = "buck1";
104+
regulator-min-microvolt = <500000>;
105+
regulator-max-microvolt = <2000000>;
106+
regulator-ramp-delay = <2500>;
107+
};
108+
buck2: BUCK2 {
109+
regulator-name = "buck2";
110+
regulator-min-microvolt = <500000>;
111+
regulator-max-microvolt = <2000000>;
112+
regulator-ramp-delay = <2500>;
113+
};
114+
buck3: BUCK3 {
115+
regulator-name = "buck3";
116+
regulator-min-microvolt = <1200000>;
117+
regulator-max-microvolt = <2000000>;
118+
};
119+
buck4: BUCK4 {
120+
regulator-name = "buck4";
121+
regulator-min-microvolt = <1000000>;
122+
regulator-max-microvolt = <1800000>;
123+
};
124+
buck5: BUCK5 {
125+
regulator-name = "buck5";
126+
regulator-min-microvolt = <2500000>;
127+
regulator-max-microvolt = <3300000>;
128+
};
129+
buck6: BUCK6 {
130+
regulator-name = "buck6";
131+
regulator-min-microvolt = <500000>;
132+
regulator-max-microvolt = <2000000>;
133+
regulator-ramp-delay = <2500>;
134+
};
135+
buck7: BUCK7 {
136+
regulator-name = "buck7";
137+
regulator-min-microvolt = <500000>;
138+
regulator-max-microvolt = <2000000>;
139+
regulator-ramp-delay = <2500>;
140+
};
141+
ldo1: LDO1 {
142+
regulator-name = "ldo1";
143+
regulator-min-microvolt = <800000>;
144+
regulator-max-microvolt = <3300000>;
145+
};
146+
ldo2: LDO2 {
147+
regulator-name = "ldo2";
148+
regulator-min-microvolt = <800000>;
149+
regulator-max-microvolt = <3300000>;
150+
};
151+
ldo3: LDO3 {
152+
regulator-name = "ldo3";
153+
regulator-min-microvolt = <800000>;
154+
regulator-max-microvolt = <3300000>;
155+
};
156+
ldo4: LDO4 {
157+
regulator-name = "ldo4";
158+
regulator-min-microvolt = <800000>;
159+
regulator-max-microvolt = <3300000>;
160+
};
161+
ldo5: LDO5 {
162+
regulator-name = "ldo5";
163+
regulator-min-microvolt = <800000>;
164+
regulator-max-microvolt = <3300000>;
165+
};
166+
ldo6: LDO6 {
167+
regulator-name = "ldo6";
168+
regulator-min-microvolt = <1800000>;
169+
regulator-max-microvolt = <1800000>;
170+
};
171+
ldo7_reg: LDO7 {
172+
regulator-name = "ldo7";
173+
regulator-min-microvolt = <800000>;
174+
regulator-max-microvolt = <3300000>;
175+
};
176+
};
177+
178+
leds {
179+
compatible = "rohm,bd71828-leds";
180+
181+
led-1 {
182+
rohm,led-compatible = "bd71828-grnled";
183+
function = LED_FUNCTION_INDICATOR;
184+
color = <LED_COLOR_ID_GREEN>;
185+
};
186+
led-2 {
187+
rohm,led-compatible = "bd71828-ambled";
188+
function = LED_FUNCTION_CHARGING;
189+
color = <LED_COLOR_ID_AMBER>;
190+
};
191+
};
192+
};
193+
};

drivers/clk/Kconfig

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -305,10 +305,10 @@ config COMMON_CLK_MMP2
305305
Support for Marvell MMP2 and MMP3 SoC clocks
306306

307307
config COMMON_CLK_BD718XX
308-
tristate "Clock driver for ROHM BD718x7 PMIC"
309-
depends on MFD_ROHM_BD718XX || MFD_ROHM_BD70528
308+
tristate "Clock driver for 32K clk gates on ROHM PMICs"
309+
depends on MFD_ROHM_BD718XX || MFD_ROHM_BD70528 || MFD_ROHM_BD71828
310310
help
311-
This driver supports ROHM BD71837, ROHM BD71847 and
311+
This driver supports ROHM BD71837, ROHM BD71847, ROHM BD71828 and
312312
ROHM BD70528 PMICs clock gates.
313313

314314
config COMMON_CLK_FIXED_MMIO

0 commit comments

Comments
 (0)