Skip to content

Commit ace1ba1

Browse files
committed
Merge tag 'pwm/for-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
Pull pwm updates from Thierry Reding: "There's a little bit of everything in here: we've got various improvements and cleanups to drivers, some fixes across the board and a bit of new hardware support" * tag 'pwm/for-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (22 commits) dt-bindings: pwm: convert pwm-bcm2835 bindings to YAML pwm: Add Renesas RZ/G2L MTU3a PWM driver pwm: mtk_disp: Fix the disable flow of disp_pwm dt-bindings: pwm: restrict node name suffixes pwm: pca9685: Switch i2c driver back to use .probe() pwm: ab8500: Fix error code in probe() MAINTAINERS: add pwm to PolarFire SoC entry pwm: add microchip soft ip corePWM driver pwm: sysfs: Do not apply state to already disabled PWMs pwm: imx-tpm: force 'real_period' to be zero in suspend pwm: meson: make full use of common clock framework pwm: meson: don't use hdmi/video clock as mux parent pwm: meson: switch to using struct clk_parent_data for mux parents pwm: meson: remove not needed check in meson_pwm_calc pwm: meson: fix handling of period/duty if greater than UINT_MAX pwm: meson: modify and simplify calculation in meson_pwm_get_state dt-bindings: pwm: Add R-Car V3U device tree bindings dt-bindings: pwm: imx: add i.MX8QXP compatible pwm: mediatek: Add support for MT7981 dt-bindings: pwm: mediatek: Add mediatek,mt7981 compatible ...
2 parents b986158 + 92554cd commit ace1ba1

20 files changed

+1302
-172
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ properties:
4343
- fsl,imx8mn-pwm
4444
- fsl,imx8mp-pwm
4545
- fsl,imx8mq-pwm
46+
- fsl,imx8qxp-pwm
4647
- const: fsl,imx27-pwm
4748

4849
reg:
@@ -61,6 +62,9 @@ properties:
6162
interrupts:
6263
maxItems: 1
6364

65+
power-domains:
66+
maxItems: 1
67+
6468
required:
6569
- compatible
6670
- reg

Documentation/devicetree/bindings/pwm/mediatek,mt2712-pwm.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ properties:
2222
- mediatek,mt7623-pwm
2323
- mediatek,mt7628-pwm
2424
- mediatek,mt7629-pwm
25+
- mediatek,mt7981-pwm
2526
- mediatek,mt7986-pwm
2627
- mediatek,mt8183-pwm
2728
- mediatek,mt8365-pwm

Documentation/devicetree/bindings/pwm/pwm-bcm2835.txt

Lines changed: 0 additions & 30 deletions
This file was deleted.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/pwm/pwm-bcm2835.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: BCM2835 PWM controller (Raspberry Pi controller)
8+
9+
maintainers:
10+
- Stefan Wahren <[email protected]>
11+
12+
allOf:
13+
- $ref: pwm.yaml#
14+
15+
properties:
16+
compatible:
17+
const: brcm,bcm2835-pwm
18+
19+
reg:
20+
maxItems: 1
21+
22+
clocks:
23+
maxItems: 1
24+
25+
"#pwm-cells":
26+
const: 3
27+
28+
required:
29+
- compatible
30+
- reg
31+
- clocks
32+
- "#pwm-cells"
33+
34+
additionalProperties: false
35+
36+
examples:
37+
- |
38+
pwm@2020c000 {
39+
compatible = "brcm,bcm2835-pwm";
40+
reg = <0x2020c000 0x28>;
41+
clocks = <&clk_pwm>;
42+
#pwm-cells = <3>;
43+
};

Documentation/devicetree/bindings/pwm/pwm.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ select: false
1313

1414
properties:
1515
$nodename:
16-
pattern: "^pwm(@.*|-[0-9a-f])*$"
16+
pattern: "^pwm(@.*|-([0-9]|[1-9][0-9]+))?$"
1717

1818
"#pwm-cells":
1919
description:

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ properties:
3535
- renesas,pwm-r8a77980 # R-Car V3H
3636
- renesas,pwm-r8a77990 # R-Car E3
3737
- renesas,pwm-r8a77995 # R-Car D3
38+
- renesas,pwm-r8a779a0 # R-Car V3U
3839
- renesas,pwm-r8a779g0 # R-Car V4H
3940
- const: renesas,pwm-rcar
4041

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18337,6 +18337,7 @@ F: drivers/clk/microchip/clk-mpfs*.c
1833718337
F: drivers/i2c/busses/i2c-microchip-corei2c.c
1833818338
F: drivers/mailbox/mailbox-mpfs.c
1833918339
F: drivers/pci/controller/pcie-microchip-host.c
18340+
F: drivers/pwm/pwm-microchip-core.c
1834018341
F: drivers/reset/reset-mpfs.c
1834118342
F: drivers/rtc/rtc-mpfs.c
1834218343
F: drivers/soc/microchip/mpfs-sys-controller.c

drivers/pwm/Kconfig

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,16 @@ config PWM_MEDIATEK
405405
To compile this driver as a module, choose M here: the module
406406
will be called pwm-mediatek.
407407

408+
config PWM_MICROCHIP_CORE
409+
tristate "Microchip corePWM PWM support"
410+
depends on SOC_MICROCHIP_POLARFIRE || COMPILE_TEST
411+
depends on HAS_IOMEM && OF
412+
help
413+
PWM driver for Microchip FPGA soft IP core.
414+
415+
To compile this driver as a module, choose M here: the module
416+
will be called pwm-microchip-core.
417+
408418
config PWM_MXS
409419
tristate "Freescale MXS PWM support"
410420
depends on ARCH_MXS || COMPILE_TEST
@@ -493,6 +503,17 @@ config PWM_ROCKCHIP
493503
Generic PWM framework driver for the PWM controller found on
494504
Rockchip SoCs.
495505

506+
config PWM_RZ_MTU3
507+
tristate "Renesas RZ/G2L MTU3a PWM Timer support"
508+
depends on RZ_MTU3 || COMPILE_TEST
509+
depends on HAS_IOMEM
510+
help
511+
This driver exposes the MTU3a PWM Timer controller found in Renesas
512+
RZ/G2L like chips through the PWM API.
513+
514+
To compile this driver as a module, choose M here: the module
515+
will be called pwm-rz-mtu3.
516+
496517
config PWM_SAMSUNG
497518
tristate "Samsung PWM support"
498519
depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST

drivers/pwm/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ obj-$(CONFIG_PWM_LPSS_PCI) += pwm-lpss-pci.o
3535
obj-$(CONFIG_PWM_LPSS_PLATFORM) += pwm-lpss-platform.o
3636
obj-$(CONFIG_PWM_MESON) += pwm-meson.o
3737
obj-$(CONFIG_PWM_MEDIATEK) += pwm-mediatek.o
38+
obj-$(CONFIG_PWM_MICROCHIP_CORE) += pwm-microchip-core.o
3839
obj-$(CONFIG_PWM_MTK_DISP) += pwm-mtk-disp.o
3940
obj-$(CONFIG_PWM_MXS) += pwm-mxs.o
4041
obj-$(CONFIG_PWM_NTXEC) += pwm-ntxec.o
@@ -45,6 +46,7 @@ obj-$(CONFIG_PWM_RASPBERRYPI_POE) += pwm-raspberrypi-poe.o
4546
obj-$(CONFIG_PWM_RCAR) += pwm-rcar.o
4647
obj-$(CONFIG_PWM_RENESAS_TPU) += pwm-renesas-tpu.o
4748
obj-$(CONFIG_PWM_ROCKCHIP) += pwm-rockchip.o
49+
obj-$(CONFIG_PWM_RZ_MTU3) += pwm-rz-mtu3.o
4850
obj-$(CONFIG_PWM_SAMSUNG) += pwm-samsung.o
4951
obj-$(CONFIG_PWM_SIFIVE) += pwm-sifive.o
5052
obj-$(CONFIG_PWM_SL28CPLD) += pwm-sl28cpld.o

drivers/pwm/pwm-ab8500.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ static int ab8500_pwm_probe(struct platform_device *pdev)
190190
int err;
191191

192192
if (pdev->id < 1 || pdev->id > 31)
193-
return dev_err_probe(&pdev->dev, EINVAL, "Invalid device id %d\n", pdev->id);
193+
return dev_err_probe(&pdev->dev, -EINVAL, "Invalid device id %d\n", pdev->id);
194194

195195
/*
196196
* Nothing to be done in probe, this is required to get the

0 commit comments

Comments
 (0)