Skip to content

Commit 86406a9

Browse files
committed
Merge tag 'mfd-next-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
Pull MFD updates from Lee Jones: "Core Frameworks: - Add support for registering devices via MFD cells to Simple MFD (I2C) New Drivers: - Add support for Renesas Synchronization Management Unit (SMU) New Device Support: - Add support for N5010 to Intel M10 BMC - Add support for Cannon Lake to Intel LPSS ACPI - Add support for Samsung SSG{1,2} to ST-Ericsson's U8500 family - Add support for TQMx110EB and TQMxE40x to TQ-Systems PLD TQMx86 New Functionality: - Add support for GPIO to Intel LPC ICH - Add support for Reset to Texas Instruments TPS65086 Fix-ups: - Trivial, sorting, whitespace, renaming, etc; mt6360-core, db8500-prcmu-regs, tqmx86 - Device Tree fiddling; syscon, axp20x, qcom,pm8008, ti,tps65086, brcm,cru - Use proper APIs for IRQ map resolution; ab8500-core, stmpe, tc3589x, wm8994-irq - Pass 'supplied-from' property through axp288_fuel_gauge via swnode - Remove unused file entry; MAINTAINERS - Make interrupt line optional; tps65086 - Rename db8500-cpuidle driver symbol; db8500-prcmu - Remove support for unused hardware; tqmx86 - Provide a standard LPC clock frequency for unknown boards; tqmx86 - Remove unused code; ti_am335x_tscadc - Use of_iomap() instead of ioremap(); syscon Bug Fixes: - Clear GPIO IRQ resource flags when no IRQ is set; tqmx86 - Fix incorrect/misleading frequencies; db8500-prcmu - Mitigate namespace clash with other GPIOBASE users" * tag 'mfd-next-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (31 commits) mfd: lpc_sch: Rename GPIOBASE to prevent build error mfd: syscon: Use of_iomap() instead of ioremap() dt-bindings: mfd: Add Broadcom CRU mfd: ti_am335x_tscadc: Delete superfluous error message mfd: tqmx86: Assume 24MHz LPC clock for unknown boards mfd: tqmx86: Add support for TQ-Systems DMI IDs mfd: tqmx86: Add support for TQMx110EB and TQMxE40x mfd: tqmx86: Fix typo in "platform" mfd: tqmx86: Remove incorrect TQMx90UC board ID mfd: tqmx86: Clear GPIO IRQ resource when no IRQ is set mfd: simple-mfd-i2c: Add support for registering devices via MFD cells mfd/cpuidle: ux500: Rename driver symbol mfd: tps65086: Add cell entry for reset driver mfd: tps65086: Make interrupt line optional dt-bindings: mfd: Convert tps65086.txt to YAML MAINTAINERS: Adjust ARM/NOMADIK/Ux500 ARCHITECTURES to file renaming mfd: db8500-prcmu: Handle missing FW variant mfd: db8500-prcmu: Rename register header mfd: axp20x: Add supplied-from property to axp288_fuel_gauge cell mfd: Don't use irq_create_mapping() to resolve a mapping ...
2 parents 5e6a584 + cdff1ed commit 86406a9

37 files changed

+1906
-120
lines changed

Documentation/devicetree/bindings/mfd/axp20x.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ Required properties:
2626
* "x-powers,axp803"
2727
* "x-powers,axp806"
2828
* "x-powers,axp805", "x-powers,axp806"
29+
* "x-powers,axp305", "x-powers,axp805", "x-powers,axp806"
2930
* "x-powers,axp809"
3031
* "x-powers,axp813"
3132
- reg: The I2C slave address or RSB hardware address for the AXP chip
32-
- interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin
3333
- interrupt-controller: The PMIC has its own internal IRQs
3434
- #interrupt-cells: Should be set to 1
3535

@@ -43,6 +43,7 @@ more information:
4343
AXP20x/LDO3: software-based implementation
4444

4545
Optional properties:
46+
- interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin
4647
- x-powers,dcdc-freq: defines the work frequency of DC-DC in KHz
4748
AXP152/20X: range: 750-1875, Default: 1.5 MHz
4849
AXP22X/8XX: range: 1800-4050, Default: 3 MHz
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
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,cru.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Broadcom CRU
8+
9+
maintainers:
10+
- Rafał Miłecki <[email protected]>
11+
12+
description: |
13+
Broadcom CRU ("Clock and Reset Unit" or "Central Resource Unit") is a hardware
14+
block grouping smaller blocks. On Broadcom Northstar platform it contains e.g.
15+
clocks, pinctrl, USB PHY and thermal.
16+
17+
properties:
18+
compatible:
19+
items:
20+
- enum:
21+
- brcm,ns-cru
22+
- const: simple-mfd
23+
24+
reg:
25+
description: CRU registers
26+
27+
ranges: true
28+
29+
"#address-cells":
30+
const: 1
31+
32+
"#size-cells":
33+
const: 1
34+
35+
pinctrl:
36+
$ref: ../pinctrl/brcm,ns-pinmux.yaml
37+
38+
patternProperties:
39+
'^clock-controller@[a-f0-9]+$':
40+
$ref: ../clock/brcm,iproc-clocks.yaml
41+
42+
'^thermal@[a-f0-9]+$':
43+
$ref: ../thermal/brcm,ns-thermal.yaml
44+
45+
additionalProperties: false
46+
47+
required:
48+
- reg
49+
50+
examples:
51+
- |
52+
cru-bus@1800c100 {
53+
compatible = "brcm,ns-cru", "simple-mfd";
54+
reg = <0x1800c100 0x1d0>;
55+
ranges;
56+
#address-cells = <1>;
57+
#size-cells = <1>;
58+
59+
clock-controller@100 {
60+
#clock-cells = <1>;
61+
compatible = "brcm,nsp-lcpll0";
62+
reg = <0x100 0x14>;
63+
clocks = <&osc>;
64+
clock-output-names = "lcpll0", "pcie_phy", "sdio", "ddr_phy";
65+
};
66+
67+
clock-controller@140 {
68+
#clock-cells = <1>;
69+
compatible = "brcm,nsp-genpll";
70+
reg = <0x140 0x24>;
71+
clocks = <&osc>;
72+
clock-output-names = "genpll", "phy", "ethernetclk", "usbclk",
73+
"iprocfast", "sata1", "sata2";
74+
};
75+
76+
pinctrl {
77+
compatible = "brcm,bcm4708-pinmux";
78+
offset = <0x1c0>;
79+
};
80+
81+
thermal@2c0 {
82+
compatible = "brcm,ns-thermal";
83+
reg = <0x2c0 0x10>;
84+
#thermal-sensor-cells = <0>;
85+
};
86+
};

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

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,19 @@ patternProperties:
5353
5454
properties:
5555
compatible:
56-
const: qcom,pm8008-gpio
56+
items:
57+
- const: qcom,pm8008-gpio
58+
- const: qcom,spmi-gpio
5759

5860
reg:
5961
description: Peripheral address of one of the two GPIO peripherals.
6062
maxItems: 1
6163

6264
gpio-controller: true
6365

66+
gpio-ranges:
67+
maxItems: 1
68+
6469
interrupt-controller: true
6570

6671
"#interrupt-cells":
@@ -75,6 +80,7 @@ patternProperties:
7580
- gpio-controller
7681
- interrupt-controller
7782
- "#gpio-cells"
83+
- gpio-ranges
7884
- "#interrupt-cells"
7985

8086
additionalProperties: false
@@ -107,10 +113,11 @@ examples:
107113
interrupt-parent = <&tlmm>;
108114
interrupts = <32 IRQ_TYPE_EDGE_RISING>;
109115
110-
gpio@c000 {
111-
compatible = "qcom,pm8008-gpio";
116+
pm8008_gpios: gpio@c000 {
117+
compatible = "qcom,pm8008-gpio", "qcom,spmi-gpio";
112118
reg = <0xc000>;
113119
gpio-controller;
120+
gpio-ranges = <&pm8008_gpios 0 0 2>;
114121
#gpio-cells = <2>;
115122
interrupt-controller;
116123
#interrupt-cells = <2>;

Documentation/devicetree/bindings/mfd/syscon.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,12 @@ properties:
4545
- microchip,sparx5-cpu-syscon
4646
- mstar,msc313-pmsleep
4747
- rockchip,px30-qos
48+
- rockchip,rk3036-qos
4849
- rockchip,rk3066-qos
50+
- rockchip,rk3228-qos
4951
- rockchip,rk3288-qos
5052
- rockchip,rk3399-qos
53+
- rockchip,rk3568-qos
5154
- samsung,exynos3-sysreg
5255
- samsung,exynos4-sysreg
5356
- samsung,exynos5-sysreg
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mfd/ti,tps65086.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: TPS65086 Power Management Integrated Circuit (PMIC)
8+
9+
maintainers:
10+
- Emil Renner Berthing <[email protected]>
11+
12+
properties:
13+
compatible:
14+
const: ti,tps65086
15+
16+
reg:
17+
const: 0x5e
18+
description: I2C slave address
19+
20+
interrupts:
21+
maxItems: 1
22+
23+
interrupt-controller: true
24+
25+
'#interrupt-cells':
26+
const: 2
27+
description: |
28+
The first cell is the IRQ number. The second cell is the flags,
29+
encoded as trigger masks from ../interrupt-controller/interrupts.txt.
30+
31+
gpio-controller: true
32+
33+
'#gpio-cells':
34+
const: 2
35+
description: |
36+
The first cell is the pin number and the second cell is used to specify
37+
flags. See ../gpio/gpio.txt for more information.
38+
39+
regulators:
40+
type: object
41+
description: |
42+
List of child nodes that specify the regulator initialization data.
43+
Child nodes must be named after their hardware counterparts:
44+
buck[1-6], ldoa[1-3], swa1, swb[1-2], and vtt.
45+
Each child node is defined using the standard binding for regulators and
46+
the optional regulator properties defined below.
47+
48+
patternProperties:
49+
"^buck[1-6]$":
50+
type: object
51+
$ref: ../regulator/regulator.yaml
52+
53+
properties:
54+
regulator-name: true
55+
regulator-boot-on: true
56+
regulator-always-on: true
57+
regulator-min-microvolt: true
58+
regulator-max-microvolt: true
59+
ti,regulator-step-size-25mv:
60+
type: boolean
61+
description: |
62+
Set this if the regulator is factory set with a 25mv step voltage
63+
mapping.
64+
ti,regulator-decay:
65+
type: boolean
66+
description: |
67+
Set this if the output needs to decay, default is for the output
68+
to slew down.
69+
70+
additionalProperties: false
71+
72+
"^(ldoa[1-3]|swa1|swb[1-2]|vtt)$":
73+
type: object
74+
$ref: ../regulator/regulator.yaml
75+
76+
properties:
77+
regulator-name: true
78+
regulator-boot-on: true
79+
regulator-always-on: true
80+
regulator-min-microvolt: true
81+
regulator-max-microvolt: true
82+
83+
additionalProperties: false
84+
85+
additionalProperties: false
86+
87+
required:
88+
- compatible
89+
- reg
90+
- gpio-controller
91+
- '#gpio-cells'
92+
- regulators
93+
94+
examples:
95+
- |
96+
#include <dt-bindings/interrupt-controller/irq.h>
97+
i2c0 {
98+
#address-cells = <1>;
99+
#size-cells = <0>;
100+
101+
pmic: pmic@5e {
102+
compatible = "ti,tps65086";
103+
reg = <0x5e>;
104+
interrupt-parent = <&gpio1>;
105+
interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
106+
interrupt-controller;
107+
#interrupt-cells = <2>;
108+
gpio-controller;
109+
#gpio-cells = <2>;
110+
111+
regulators {
112+
buck1 {
113+
regulator-name = "vcc1";
114+
regulator-min-microvolt = <1600000>;
115+
regulator-max-microvolt = <1600000>;
116+
regulator-boot-on;
117+
ti,regulator-decay;
118+
ti,regulator-step-size-25mv;
119+
};
120+
};
121+
};
122+
};
123+
124+
...

Documentation/devicetree/bindings/mfd/tps65086.txt

Lines changed: 0 additions & 54 deletions
This file was deleted.

MAINTAINERS

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2271,7 +2271,6 @@ F: drivers/iio/adc/ab8500-gpadc.c
22712271
F: drivers/mfd/ab8500*
22722272
F: drivers/mfd/abx500*
22732273
F: drivers/mfd/db8500*
2274-
F: drivers/mfd/dbx500*
22752274
F: drivers/pinctrl/nomadik/
22762275
F: drivers/rtc/rtc-ab8500.c
22772276
F: drivers/rtc/rtc-pl031.c

drivers/clk/ux500/u8500_of_clk.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,10 +99,11 @@ static void u8500_clk_init(struct device_node *np)
9999
if (fw_version != NULL) {
100100
switch (fw_version->project) {
101101
case PRCMU_FW_PROJECT_U8500_C2:
102-
case PRCMU_FW_PROJECT_U8500_MBL:
102+
case PRCMU_FW_PROJECT_U8500_SSG1:
103103
case PRCMU_FW_PROJECT_U8520:
104104
case PRCMU_FW_PROJECT_U8420:
105105
case PRCMU_FW_PROJECT_U8420_SYSCLK:
106+
case PRCMU_FW_PROJECT_U8500_SSG2:
106107
sgaclk_parent = "soc0_pll";
107108
break;
108109
default:

drivers/cpuidle/cpuidle-ux500.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ static int dbx500_cpuidle_probe(struct platform_device *pdev)
117117

118118
static struct platform_driver dbx500_cpuidle_plat_driver = {
119119
.driver = {
120-
.name = "cpuidle-dbx500",
120+
.name = "db8500-cpuidle",
121121
},
122122
.probe = dbx500_cpuidle_probe,
123123
};

0 commit comments

Comments
 (0)