Skip to content

Commit cc52dc2

Browse files
committed
Merge tag 'pwm/for-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux
Pull pwm updates from Uwe Kleine-König: "This contains some cleanups to the core and some mostly minor updates to a bunch of drivers and device tree bindings. One thing worth pointing out is that it contains an immutable branch containing support for a new mfd chip (Analog Devices ADP5585) with several sub drivers. Thanks go to Andrew Kreimer, Clark Wang, Conor Dooley, David Lechner, Dmitry Rokosov, Frank Li, Geert Uytterhoeven, George Stark, Jiapeng Chong, Krzysztof Kozlowski, Laurent Pinchart, Liao Chen, Liu Ying, Rob Herring and Wolfram Sang for code contributions and reviews and to Lee Jones for preparing the above mentioned immutable branch" * tag 'pwm/for-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux: (21 commits) pwm: stm32: Fix a typo dt-bindings: pwm: amlogic: Add new bindings for meson A1 PWM dt-bindings: pwm: amlogic: Add optional power-domains pwm: Switch back to struct platform_driver::remove() dt-bindings: pwm: allwinner,sun4i-a10-pwm: add top-level constraints pwm: axi-pwmgen: use shared macro for version reg pwm: atmel-hlcdc: Drop trailing comma pwm: atmel-hlcdc: Enable module autoloading pwm: omap-dmtimer: Use of_property_read_bool() pwm: adp5585: Set OSC_EN bit to 1 when PWM state is enabled pwm: lp3943: Fix an incorrect type in lp3943_pwm_parse_dt() pwm: Simplify pwm_capture() pwm: lp3943: Use of_property_count_u32_elems() to get property length pwm: Don't export pwm_capture() pwm: Make info in traces about affected pwm more useful dt-bindings: pwm: renesas,tpu: Add r8a779h0 support dt-bindings: pwm: renesas,pwm-rcar: Add r8a779h0 support pwm: adp5585: Add Analog Devices ADP5585 support gpio: adp5585: Add Analog Devices ADP5585 support mfd: adp5585: Add Analog Devices ADP5585 core support ...
2 parents 7fced2a + d242fea commit cc52dc2

37 files changed

+939
-56
lines changed
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mfd/adi,adp5585.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Analog Devices ADP5585 Keypad Decoder and I/O Expansion
8+
9+
maintainers:
10+
- Laurent Pinchart <[email protected]>
11+
12+
description:
13+
The ADP5585 is a 10/11 input/output port expander with a built in keypad
14+
matrix decoder, programmable logic, reset generator, and PWM generator.
15+
16+
properties:
17+
compatible:
18+
items:
19+
- enum:
20+
- adi,adp5585-00 # Default
21+
- adi,adp5585-01 # 11 GPIOs
22+
- adi,adp5585-02 # No pull-up resistors by default on special pins
23+
- adi,adp5585-03 # Alternate I2C address
24+
- adi,adp5585-04 # Pull-down resistors on all pins by default
25+
- const: adi,adp5585
26+
27+
reg:
28+
maxItems: 1
29+
30+
interrupts:
31+
maxItems: 1
32+
33+
vdd-supply: true
34+
35+
gpio-controller: true
36+
37+
'#gpio-cells':
38+
const: 2
39+
40+
gpio-reserved-ranges: true
41+
42+
"#pwm-cells":
43+
const: 3
44+
45+
required:
46+
- compatible
47+
- reg
48+
- gpio-controller
49+
- "#gpio-cells"
50+
- "#pwm-cells"
51+
52+
allOf:
53+
- if:
54+
properties:
55+
compatible:
56+
contains:
57+
const: adi,adp5585-01
58+
then:
59+
properties:
60+
gpio-reserved-ranges: false
61+
else:
62+
properties:
63+
gpio-reserved-ranges:
64+
maxItems: 1
65+
items:
66+
items:
67+
- const: 5
68+
- const: 1
69+
70+
additionalProperties: false
71+
72+
examples:
73+
- |
74+
i2c {
75+
#address-cells = <1>;
76+
#size-cells = <0>;
77+
78+
io-expander@34 {
79+
compatible = "adi,adp5585-00", "adi,adp5585";
80+
reg = <0x34>;
81+
82+
vdd-supply = <&reg_3v3>;
83+
84+
gpio-controller;
85+
#gpio-cells = <2>;
86+
gpio-reserved-ranges = <5 1>;
87+
88+
#pwm-cells = <3>;
89+
};
90+
};
91+
92+
...

Documentation/devicetree/bindings/pwm/allwinner,sun4i-a10-pwm.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,11 @@ properties:
4646
- description: Module Clock
4747
- description: Bus Clock
4848

49-
# Even though it only applies to subschemas under the conditionals,
50-
# not listing them here will trigger a warning because of the
51-
# additionalsProperties set to false.
52-
clock-names: true
49+
clock-names:
50+
minItems: 1
51+
items:
52+
- const: mod
53+
- const: bus
5354

5455
resets:
5556
maxItems: 1

Documentation/devicetree/bindings/pwm/pwm-amlogic.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ properties:
3737
- enum:
3838
- amlogic,meson8-pwm-v2
3939
- amlogic,meson-s4-pwm
40+
- items:
41+
- enum:
42+
- amlogic,meson-a1-pwm
43+
- const: amlogic,meson-s4-pwm
4044
- items:
4145
- enum:
4246
- amlogic,meson8b-pwm-v2
@@ -56,6 +60,9 @@ properties:
5660
minItems: 1
5761
maxItems: 2
5862

63+
power-domains:
64+
maxItems: 1
65+
5966
"#pwm-cells":
6067
const: 3
6168

@@ -136,6 +143,16 @@ allOf:
136143
required:
137144
- clocks
138145

146+
- if:
147+
properties:
148+
compatible:
149+
contains:
150+
enum:
151+
- amlogic,meson-a1-pwm
152+
then:
153+
required:
154+
- power-domains
155+
139156
additionalProperties: false
140157

141158
examples:

Documentation/devicetree/bindings/pwm/renesas,pwm-rcar.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ properties:
3737
- renesas,pwm-r8a77995 # R-Car D3
3838
- renesas,pwm-r8a779a0 # R-Car V3U
3939
- renesas,pwm-r8a779g0 # R-Car V4H
40+
- renesas,pwm-r8a779h0 # R-Car V4M
4041
- const: renesas,pwm-rcar
4142

4243
reg:

Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ properties:
4141
- renesas,tpu-r8a77980 # R-Car V3H
4242
- renesas,tpu-r8a779a0 # R-Car V3U
4343
- renesas,tpu-r8a779g0 # R-Car V4H
44+
- renesas,tpu-r8a779h0 # R-Car V4M
4445
- const: renesas,tpu
4546

4647
reg:

Documentation/devicetree/bindings/trivial-devices.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,6 @@ properties:
3838
- ad,adm9240
3939
# AD5110 - Nonvolatile Digital Potentiometer
4040
- adi,ad5110
41-
# Analog Devices ADP5585 Keypad Decoder and I/O Expansion
42-
- adi,adp5585
43-
# Analog Devices ADP5585 Keypad Decoder and I/O Expansion with support for Row5
44-
- adi,adp5585-02
4541
# Analog Devices ADP5589 Keypad Decoder and I/O Expansion
4642
- adi,adp5589
4743
# Analog Devices LT7182S Dual Channel 6A, 20V PolyPhase Step-Down Silent Switcher

MAINTAINERS

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -538,6 +538,17 @@ F: drivers/leds/leds-adp5520.c
538538
F: drivers/mfd/adp5520.c
539539
F: drivers/video/backlight/adp5520_bl.c
540540

541+
ADP5585 GPIO EXPANDER, PWM AND KEYPAD CONTROLLER DRIVER
542+
M: Laurent Pinchart <[email protected]>
543+
544+
545+
S: Maintained
546+
F: Documentation/devicetree/bindings/*/adi,adp5585*.yaml
547+
F: drivers/gpio/gpio-adp5585.c
548+
F: drivers/mfd/adp5585.c
549+
F: drivers/pwm/pwm-adp5585.c
550+
F: include/linux/mfd/adp5585.h
551+
541552
ADP5588 QWERTY KEYPAD AND IO EXPANDER DRIVER (ADP5588/ADP5587)
542553
M: Michael Hennerich <[email protected]>
543554
S: Supported

drivers/gpio/Kconfig

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1233,6 +1233,13 @@ config GPIO_ADP5520
12331233
This option enables support for on-chip GPIO found
12341234
on Analog Devices ADP5520 PMICs.
12351235

1236+
config GPIO_ADP5585
1237+
tristate "GPIO Support for ADP5585"
1238+
depends on MFD_ADP5585
1239+
help
1240+
This option enables support for the GPIO function found in the Analog
1241+
Devices ADP5585.
1242+
12361243
config GPIO_ALTERA_A10SR
12371244
tristate "Altera Arria10 System Resource GPIO"
12381245
depends on MFD_ALTERA_A10SR

drivers/gpio/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ obj-$(CONFIG_GPIO_74X164) += gpio-74x164.o
2626
obj-$(CONFIG_GPIO_74XX_MMIO) += gpio-74xx-mmio.o
2727
obj-$(CONFIG_GPIO_ADNP) += gpio-adnp.o
2828
obj-$(CONFIG_GPIO_ADP5520) += gpio-adp5520.o
29+
obj-$(CONFIG_GPIO_ADP5585) += gpio-adp5585.o
2930
obj-$(CONFIG_GPIO_AGGREGATOR) += gpio-aggregator.o
3031
obj-$(CONFIG_GPIO_ALTERA_A10SR) += gpio-altera-a10sr.o
3132
obj-$(CONFIG_GPIO_ALTERA) += gpio-altera.o

0 commit comments

Comments
 (0)