Skip to content

Commit 69352bd

Browse files
committed
Merge tag 'mfd-next-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
Pull MFD updates from Lee Jones: "Samsung Exynos ACPM: - Populate child platform devices from device tree data - Introduce a new API, 'devm_acpm_get_by_node()', for child devices to get the ACPM handle ROHM PMICs: - Add support for the ROHM BD96802 scalable companion PMIC to the BD96801 core driver - Add support for controlling the BD96802 using the BD96801 regulator driver - Add support to the BD96805, which is almost identical to the BD96801 - Add support to the BD96806, which is similar to the BD96802 Maxim MAX77759: - Add a core driver for the MAX77759 companion PMIC - Add a GPIO driver for the expander functions on the MAX77759 - Add an NVMEM driver to expose the non-volatile memory on the MAX77759 STMicroelectronics STM32MP25: - Add support for the STM32MP25 SoC to the stm32-lptimer - Add support for the STM32MP25 to the clocksource driver, handling new register access requirements - Add support for the STM32MP25 to the PWM driver, enabling up to two PWM outputs Broadcom BCM590xx: - Add support for the BCM59054 PMU - Parse the PMU ID and revision to support behavioral differences between chip revisions - Add regulator support for the BCM59054 Samsung S2MPG10: - Add support for the S2MPG10 PMIC, which communicates via the Samsung ACPM firmware instead of I2C Exynos ACPM: - Improve timeout detection reliability by using ktime APIs instead of a loop counter assumption - Allow PMIC access during late system shutdown by switching to 'udelay()' instead of a sleeping function - Fix an issue where reading command results longer than 8 bytes would fail - Silence non-error '-EPROBE_DEFER' messages during boot to clean up logs Exynos LPASS: - Fix an error handling path by switching to 'devm_regmap_init_mmio()' to prevent resource leaks - Fix a bug where 'exynos_lpass_disable()' was called twice in the remove function - Fix another resource leak in the probe's error path by using 'devm_add_action_or_reset()' Samsung SEC: - Handle the s2dos05, which does not have IRQ support, explicitly to prevent warnings - Fix the core driver to correctly handle errors from 'sec_irq_init()' instead of ignoring them STMPE-SPI: - Correct an undeclared identifier in the 'MODULE_DEVICE_TABLE' macro MAINTAINERS: - Adjust a file path for the Siemens IPC LED drivers entry to fix a broken reference Maxim Drivers: - Correct the spelling of "Electronics" in Samsung copyright headers across multiple files General: - Fix wakeup source memory leaks on device unbind for 88pm886, as3722, max14577, max77541, max77705, max8925, rt5033, and sprd-sc27xx drivers Samsung SEC Drivers: - Split the driver into a transport-agnostic core ('sec-core') and transport-specific ('sec-i2c', 'sec-acpm') modules to support non-I2C devices - Merge the 'sec-core' and 'sec-irq' modules to reduce memory consumption - Move internal APIs to a private header to clean up the public API - Improve code style by sorting includes, cleaning up headers, sorting device tables, and using helper macros like 'dev_err_probe()', 'MFD_CELL', and 'REGMAP_IRQ_REG' - Make regmap configuration for s2dos05/s2mpu05 explicit to improve clarity - Rework platform data and regmap instantiation to use OF match data instead of a large switch statement ROHM BD96801/2: - Prepare the driver for new models by separating chip-specific data into its own structure - Drop IC name prefix from IRQ resource names in both the MFD and regulator drivers for simplification Broadcom BCM590xx: - Refactor the regulator driver to store descriptions in a table to ease support for new chips - Rename BCM59056-specific data to prepare for the addition of other regulators - Use 'dev_err_probe()' for cleaner error handling Exynos ACPM: - Correct kerneldoc warnings and use the conventional 'np' argument name General MFD: - Convert 'aat2870' and 'tps65010' to use the per-client debugfs directory provided by the I2C core - Convert 'sm501', 'tps65010' and 'ucb1x00' to use the new GPIO line value setter callbacks - Constify 'regmap_irq_chip' and other structures in '88pm886' to move data to read-only sections BCM590xx: - Drop the unused "id" member from the 'bcm590xx' struct in preparation for a replacement Samsung SEC Core: - Remove forward declarations for functions that no longer exist SM501: - Remove the unused 'sm501_find_clock()' function New Compatibles: - Google: Add a PMIC child node to the 'google,gs101-acpm-ipc' binding - ROHM: Add new bindings for 'rohm,bd96802-regulator' and 'rohm,bd96802-pmic', and add compatibles for BD96805 and BD96806 - Maxim: Add new bindings for 'maxim,max77759-gpio', 'maxim,max77759-nvmem', and the top-level 'maxim,max77759' - STM: Add 'stm32mp25' compatible to the 'stm32-lptimer' binding - Broadcom: Add 'bcm59054' compatible - Atmel/Microchip: Add 'microchip,sama7d65-gpbr' and 'microchip,sama7d65-secumod' compatibles - Samsung: Add 's2mpg10' compatible to the 'samsung,s2mps11' MFD binding - MediaTek: Add compatibles for 'mt6893' (scpsys), 'mt7988-topmisc', and 'mt8365-infracfg-nao' - Qualcomm: Add 'qcom,apq8064-mmss-sfpb' and 'qcom,apq8064-sps-sic' syscon compatibles Refactoring & Cleanup: - Convert Broadcom BCM59056 devicetree bindings to YAML and split them into MFD and regulator parts - Convert the Microchip AT91 secumod binding to YAML - Drop unrelated consumer nodes from binding examples to reduce bloat - Correct indentation and style in various DTS examples" * tag 'mfd-next-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (81 commits) mfd: maxim: Correct Samsung "Electronics" spelling in copyright headers mfd: maxim: Correct Samsung "Electronics" spelling in headers mfd: sm501: Remove unused sm501_find_clock mfd: 88pm886: Constify struct regmap_irq_chip and some other structures dt-bindings: mfd: syscon: Add mediatek,mt8365-infracfg-nao mfd: sprd-sc27xx: Fix wakeup source leaks on device unbind mfd: rt5033: Fix wakeup source leaks on device unbind mfd: max8925: Fix wakeup source leaks on device unbind mfd: max77705: Fix wakeup source leaks on device unbind mfd: max77541: Fix wakeup source leaks on device unbind mfd: max14577: Fix wakeup source leaks on device unbind mfd: as3722: Fix wakeup source leaks on device unbind mfd: 88pm886: Fix wakeup source leaks on device unbind dt-bindings: mfd: Correct indentation and style in DTS example dt-bindings: mfd: Drop unrelated nodes from DTS example dt-bindings: mfd: syscon: Add qcom,apq8064-sps-sic dt-bindings: mfd: syscon: Add qcom,apq8064-mmss-sfpb mfd: stmpe-spi: Correct the name used in MODULE_DEVICE_TABLE dt-bindings: mfd: syscon: Add mt7988-topmisc mfd: exynos-lpass: Fix another error handling path in exynos_lpass_probe() ...
2 parents 2043ae9 + ffb006a commit 69352bd

Some content is hidden

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

74 files changed

+4931
-1668
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/arm/atmel,sama5d2-secumod.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Microchip AT91 Security Module (SECUMOD)
8+
9+
maintainers:
10+
- Nicolas Ferre <[email protected]>
11+
12+
description:
13+
The Security Module also offers the PIOBU pins which can be used as GPIO pins.
14+
Note that they maintain their voltage during Backup/Self-refresh.
15+
16+
properties:
17+
compatible:
18+
oneOf:
19+
- items:
20+
- const: atmel,sama5d2-secumod
21+
- const: syscon
22+
- items:
23+
- enum:
24+
- microchip,sama7d65-secumod
25+
- microchip,sama7g5-secumod
26+
- const: atmel,sama5d2-secumod
27+
- const: syscon
28+
reg:
29+
maxItems: 1
30+
31+
gpio-controller: true
32+
33+
"#gpio-cells":
34+
const: 2
35+
36+
required:
37+
- compatible
38+
- reg
39+
40+
unevaluatedProperties: false
41+
42+
examples:
43+
- |
44+
security-module@fc040000 {
45+
compatible = "atmel,sama5d2-secumod", "syscon";
46+
reg = <0xfc040000 0x100>;
47+
gpio-controller;
48+
#gpio-cells = <2>;
49+
};

Documentation/devicetree/bindings/arm/atmel-sysregs.txt

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -46,28 +46,3 @@ Examples:
4646
reg = <0xffffe800 0x200>;
4747
};
4848

49-
Security Module (SECUMOD)
50-
51-
The Security Module macrocell provides all necessary secure functions to avoid
52-
voltage, temperature, frequency and mechanical attacks on the chip. It also
53-
embeds secure memories that can be scrambled.
54-
55-
The Security Module also offers the PIOBU pins which can be used as GPIO pins.
56-
Note that they maintain their voltage during Backup/Self-refresh.
57-
58-
required properties:
59-
- compatible: Should be "atmel,<chip>-secumod", "syscon".
60-
<chip> can be "sama5d2".
61-
- reg: Should contain registers location and length
62-
- gpio-controller: Marks the port as GPIO controller.
63-
- #gpio-cells: There are 2. The pin number is the
64-
first, the second represents additional
65-
parameters such as GPIO_ACTIVE_HIGH/LOW.
66-
67-
68-
secumod@fc040000 {
69-
compatible = "atmel,sama5d2-secumod", "syscon";
70-
reg = <0xfc040000 0x100>;
71-
gpio-controller;
72-
#gpio-cells = <2>;
73-
};

Documentation/devicetree/bindings/mfd/atmel,at91sam9260-gpbr.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ properties:
1919
- items:
2020
- enum:
2121
- atmel,at91sam9260-gpbr
22+
- microchip,sama7d65-gpbr
2223
- const: syscon
2324
- items:
2425
- enum:

Documentation/devicetree/bindings/mfd/brcm,bcm59056.txt

Lines changed: 0 additions & 39 deletions
This file was deleted.
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mfd/brcm,bcm59056.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Broadcom BCM590xx Power Management Units
8+
9+
maintainers:
10+
- Artur Weber <[email protected]>
11+
12+
properties:
13+
compatible:
14+
enum:
15+
- brcm,bcm59054
16+
- brcm,bcm59056
17+
18+
reg:
19+
maxItems: 1
20+
21+
interrupts:
22+
maxItems: 1
23+
24+
regulators:
25+
type: object
26+
27+
required:
28+
- compatible
29+
- reg
30+
- interrupts
31+
32+
additionalProperties: false
33+
34+
allOf:
35+
- if:
36+
properties:
37+
compatible:
38+
contains:
39+
const: brcm,bcm59054
40+
then:
41+
properties:
42+
regulators:
43+
$ref: /schemas/regulator/brcm,bcm59054.yaml#
44+
45+
- if:
46+
properties:
47+
compatible:
48+
contains:
49+
const: brcm,bcm59056
50+
then:
51+
properties:
52+
regulators:
53+
$ref: /schemas/regulator/brcm,bcm59056.yaml#
54+
55+
examples:
56+
- |
57+
#include <dt-bindings/interrupt-controller/arm-gic.h>
58+
#include <dt-bindings/interrupt-controller/irq.h>
59+
60+
i2c {
61+
#address-cells = <1>;
62+
#size-cells = <0>;
63+
64+
pmic@8 {
65+
compatible = "brcm,bcm59056";
66+
reg = <0x08>;
67+
interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
68+
69+
regulators {
70+
rfldo {
71+
regulator-min-microvolt = <1200000>;
72+
regulator-max-microvolt = <3300000>;
73+
};
74+
};
75+
};
76+
};

0 commit comments

Comments
 (0)