Skip to content

Commit 884e0d3

Browse files
committed
Merge tag 'mfd-next-5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
Pull MFD updates from Lee Jones: "Core Frameworks - Make better attempt at matching device with the correct OF node - Allow batch removal of hierarchical sub-devices New Drivers - Add STM32 Clocksource driver - Add support for Khadas System Control Microcontroller Driver Removal - Remove unused driver for TI's SMSC ECE1099 New Device Support - Add support for Intel Emmitsburg PCH to Intel LPSS PCI - Add support for Intel Tiger Lake PCH-H to Intel LPSS PCI - Add support for Dialog DA revision to Dialog DA9063 New Functionality - Add support for AXP803 to be probed by I2C Fix-ups - Numerous W=1 warning fixes - Device Tree changes (stm32-lptimer, gateworks-gsc, khadas,mcu, stmfx, cros-ec, j721e-system-controller) - Enabled Regmap 'fast I/O' in stm32-lptimer - Change BUG_ON to WARN_ON in arizona-core - Remove superfluous code/initialisation (madera, max14577) - Trivial formatting/spelling issues (madera-core, madera-i2c, da9055, max77693-private) - Switch to of_platform_populate() in sprd-sc27xx-spi - Expand out set/get brightness/pwm macros in lm3533-ctrlbank - Disable IRQs on suspend in motorola-cpcap - Clean-up error handling in intel_soc_pmic_mrfld - Ensure correct removal order of sub-devices in madera - Many s/HTTP/HTTPS/ link changes - Ensure name used with Regmap is unique in syscon Bug Fixes - Properly 'put' clock on unbind and error in arizona-core - Fix revision handling in da9063 - Fix 'assignment of read-only location' error in kempld-core - Avoid using the Regmap API when atomic in rn5t618 - Redefine volatile register description in rn5t618 - Use locking to protect event handler in dln2" * tag 'mfd-next-5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (76 commits) mfd: syscon: Use a unique name with regmap_config mfd: Replace HTTP links with HTTPS ones mfd: dln2: Run event handler loop under spinlock mfd: madera: Improve handling of regulator unbinding mfd: mfd-core: Add mechanism for removal of a subset of children mfd: intel_soc_pmic_mrfld: Simplify the return expression of intel_scu_ipc_dev_iowrite8() mfd: max14577: Remove redundant initialization of variable current_bits mfd: rn5t618: Fix caching of battery related registers mfd: max77693-private: Drop a duplicated word mfd: da9055: pdata.h: Drop a duplicated word mfd: rn5t618: Make restart handler atomic safe mfd: kempld-core: Fix 'assignment of read-only location' error mfd: axp20x: Allow the AXP803 to be probed by I2C mfd: da9063: Add support for latest DA silicon revision mfd: da9063: Fix revision handling to correctly select reg tables dt-bindings: mfd: st,stmfx: Remove I2C unit name dt-bindings: mfd: ti,j721e-system-controller.yaml: Add J721e system controller mfd: motorola-cpcap: Disable interrupt for suspend mfd: smsc-ece1099: Remove driver mfd: core: Add OF_MFD_CELL_REG() helper ...
2 parents 18737f4 + e15d7f2 commit 884e0d3

Some content is hidden

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

86 files changed

+1725
-846
lines changed

Documentation/devicetree/bindings/mfd/cros-ec.txt

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

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,12 @@ properties:
7979
description: |
8080
conversion mode:
8181
0 - temperature, in C*10
82-
1 - pre-scaled voltage value
82+
1 - pre-scaled 24-bit voltage value
8383
2 - scaled voltage based on an optional resistor divider
8484
and optional offset
85+
3 - pre-scaled 16-bit voltage value
8586
$ref: /schemas/types.yaml#/definitions/uint32
86-
enum: [0, 1, 2]
87+
enum: [0, 1, 2, 3]
8788

8889
gw,voltage-divider-ohms:
8990
description: Values of resistors for divider on raw ADC input
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mfd/google,cros-ec.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: ChromeOS Embedded Controller
8+
9+
maintainers:
10+
- Benson Leung <[email protected]>
11+
- Enric Balletbo i Serra <[email protected]>
12+
- Guenter Roeck <[email protected]>
13+
14+
description:
15+
Google's ChromeOS EC is a microcontroller which talks to the AP and
16+
implements various functions such as keyboard and battery charging.
17+
The EC can be connected through various interfaces (I2C, SPI, and others)
18+
and the compatible string specifies which interface is being used.
19+
20+
properties:
21+
compatible:
22+
oneOf:
23+
- description:
24+
For implementations of the EC is connected through I2C.
25+
const: google,cros-ec-i2c
26+
- description:
27+
For implementations of the EC is connected through SPI.
28+
const: google,cros-ec-spi
29+
- description:
30+
For implementations of the EC is connected through RPMSG.
31+
const: google,cros-ec-rpmsg
32+
33+
google,cros-ec-spi-pre-delay:
34+
description:
35+
This property specifies the delay in usecs between the
36+
assertion of the CS and the first clock pulse.
37+
allOf:
38+
- $ref: /schemas/types.yaml#/definitions/uint32
39+
- default: 0
40+
- minimum: 0
41+
42+
google,cros-ec-spi-msg-delay:
43+
description:
44+
This property specifies the delay in usecs between messages.
45+
allOf:
46+
- $ref: /schemas/types.yaml#/definitions/uint32
47+
- default: 0
48+
- minimum: 0
49+
50+
google,has-vbc-nvram:
51+
description:
52+
Some implementations of the EC include a small nvram space used to
53+
store verified boot context data. This boolean flag is used to specify
54+
whether this nvram is present or not.
55+
type: boolean
56+
57+
spi-max-frequency:
58+
description: Maximum SPI frequency of the device in Hz.
59+
60+
reg:
61+
maxItems: 1
62+
63+
interrupts:
64+
maxItems: 1
65+
66+
required:
67+
- compatible
68+
69+
if:
70+
properties:
71+
compatible:
72+
contains:
73+
enum:
74+
- google,cros-ec-i2c
75+
- google,cros-ec-rpmsg
76+
then:
77+
properties:
78+
google,cros-ec-spi-pre-delay: false
79+
google,cros-ec-spi-msg-delay: false
80+
spi-max-frequency: false
81+
82+
additionalProperties: false
83+
84+
examples:
85+
# Example for I2C
86+
- |
87+
#include <dt-bindings/gpio/gpio.h>
88+
#include <dt-bindings/interrupt-controller/irq.h>
89+
90+
i2c0 {
91+
#address-cells = <1>;
92+
#size-cells = <0>;
93+
94+
cros-ec@1e {
95+
compatible = "google,cros-ec-i2c";
96+
reg = <0x1e>;
97+
interrupts = <6 0>;
98+
interrupt-parent = <&gpio0>;
99+
};
100+
};
101+
102+
# Example for SPI
103+
- |
104+
#include <dt-bindings/gpio/gpio.h>
105+
#include <dt-bindings/interrupt-controller/irq.h>
106+
107+
spi0 {
108+
#address-cells = <1>;
109+
#size-cells = <0>;
110+
111+
cros-ec@0 {
112+
compatible = "google,cros-ec-spi";
113+
reg = <0x0>;
114+
google,cros-ec-spi-msg-delay = <30>;
115+
google,cros-ec-spi-pre-delay = <10>;
116+
interrupts = <99 0>;
117+
interrupt-parent = <&gpio7>;
118+
spi-max-frequency = <5000000>;
119+
};
120+
};
121+
122+
# Example for RPMSG
123+
- |
124+
scp0 {
125+
cros-ec {
126+
compatible = "google,cros-ec-rpmsg";
127+
};
128+
};
129+
...
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mfd/khadas,mcu.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Khadas on-board Microcontroller Device Tree Bindings
8+
9+
maintainers:
10+
- Neil Armstrong <[email protected]>
11+
12+
description: |
13+
Khadas embeds a microcontroller on their VIM and Edge boards adding some
14+
system feature as PWM Fan control (for VIM2 rev14 or VIM3), User memory
15+
storage, IR/Key resume control, system power LED control and more.
16+
17+
properties:
18+
compatible:
19+
enum:
20+
- khadas,mcu # MCU revision is discoverable
21+
22+
"#cooling-cells": # Only needed for boards having FAN control feature
23+
const: 2
24+
25+
reg:
26+
maxItems: 1
27+
28+
required:
29+
- compatible
30+
- reg
31+
32+
additionalProperties: false
33+
34+
examples:
35+
- |
36+
i2c {
37+
#address-cells = <1>;
38+
#size-cells = <0>;
39+
khadas_mcu: system-controller@18 {
40+
compatible = "khadas,mcu";
41+
reg = <0x18>;
42+
#cooling-cells = <2>;
43+
};
44+
};

Documentation/devicetree/bindings/mfd/st,stm32-lptimer.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ properties:
3333
items:
3434
- const: mux
3535

36+
interrupts:
37+
maxItems: 1
38+
3639
"#address-cells":
3740
const: 1
3841

@@ -106,11 +109,13 @@ additionalProperties: false
106109
examples:
107110
- |
108111
#include <dt-bindings/clock/stm32mp1-clks.h>
112+
#include <dt-bindings/interrupt-controller/arm-gic.h>
109113
timer@40002400 {
110114
compatible = "st,stm32-lptimer";
111115
reg = <0x40002400 0x400>;
112116
clocks = <&timer_clk>;
113117
clock-names = "mux";
118+
interrupts-extended = <&exti 47 IRQ_TYPE_LEVEL_HIGH>;
114119
#address-cells = <1>;
115120
#size-cells = <0>;
116121

0 commit comments

Comments
 (0)