Commit 530c28df authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'pwm/for-5.20-rc1' of...

Merge tag 'pwm/for-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm

Pull pwm updates from Thierry Reding:
 "After v5.19 had all drivers converted to the new atomic API and nobody
  has reported any breakage, this set of changes starts by dropping the
  legacy support.

  Some existing drivers get improvements and broader chip support and a
  new driver is added that emulates a PWM controller using a clock
  output.

  Other than that there's the usual bits of cleanups and minor fixes"

* tag 'pwm/for-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (21 commits)
  pwm: lpc18xx: Fix period handling
  pwm: lpc18xx: Convert to use dev_err_probe()
  pwm: twl-led: Document some limitations and link to the reference manual
  MAINTAINERS: Remove myself as PWM maintainer
  MAINTAINERS: Add include/dt-bindings/pwm to PWM SUBSYSTEM
  dt-bindings: pwm: mediatek: Add compatible string for MT8195
  pwm: Add clock based PWM output driver
  dt-bindings: pwm: Document clk based PWM controller
  pwm: sifive: Shut down hardware only after pwmchip_remove() completed
  pwm: sifive: Ensure the clk is enabled exactly once per running PWM
  pwm: sifive: Simplify clk handling
  pwm: sifive: Enable clk only after period check in .apply()
  pwm: sifive: Reduce time the controller lock is held
  pwm: sifive: Fold pwm_sifive_enable() into its only caller
  pwm: sifive: Simplify offset calculation for PWMCMP registers
  pwm: mediatek: Add MT8365 support
  dt-bindings: pwm: Add MT8365 SoC binding
  pwm: Drop unused forward declaration from pwm.h
  pwm: Reorder header file to get rid of struct pwm_capture forward declaration
  pwm: atmel-tcb: Fix typo in comment
  ...
parents 0805c6fb 8933d30c
Loading
Loading
Loading
Loading
+46 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/pwm/clk-pwm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Clock based PWM controller

maintainers:
  - Nikita Travkin <nikita@trvn.ru>

description: |
  Some systems have clocks that can be exposed to external devices.
  (e.g. by muxing them to GPIO pins)
  It's often possible to control duty-cycle of such clocks which makes them
  suitable for generating PWM signal.

allOf:
  - $ref: pwm.yaml#

properties:
  compatible:
    const: clk-pwm

  clocks:
    description: Clock used to generate the signal.
    maxItems: 1

  "#pwm-cells":
    const: 2

unevaluatedProperties: false

required:
  - compatible
  - clocks

examples:
  - |
    pwm {
      compatible = "clk-pwm";
      #pwm-cells = <2>;
      clocks = <&gcc 0>;
      pinctrl-names = "default";
      pinctrl-0 = <&pwm_clk_flash_default>;
    };
+3 −0
Original line number Diff line number Diff line
@@ -9,6 +9,8 @@ Required properties:
   - "mediatek,mt7628-pwm": found on mt7628 SoC.
   - "mediatek,mt7629-pwm": found on mt7629 SoC.
   - "mediatek,mt8183-pwm": found on mt8183 SoC.
   - "mediatek,mt8195-pwm", "mediatek,mt8183-pwm": found on mt8195 SoC.
   - "mediatek,mt8365-pwm": found on mt8365 SoC.
   - "mediatek,mt8516-pwm": found on mt8516 SoC.
 - reg: physical base address and length of the controller's registers.
 - #pwm-cells: must be 2. See pwm.yaml in this directory for a description of
@@ -18,6 +20,7 @@ Required properties:
                has no clocks
   - "top": the top clock generator
   - "main": clock used by the PWM core
   - "pwm1-3": the three per PWM clocks for mt8365
   - "pwm1-8": the eight per PWM clocks for mt2712
   - "pwm1-6": the six per PWM clocks for mt7622
   - "pwm1-5": the five per PWM clocks for mt7623
+1 −1
Original line number Diff line number Diff line
@@ -16369,7 +16369,6 @@ F: drivers/media/rc/pwm-ir-tx.c
PWM SUBSYSTEM
M:	Thierry Reding <thierry.reding@gmail.com>
R:	Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
M:	Lee Jones <lee.jones@linaro.org>
L:	linux-pwm@vger.kernel.org
S:	Maintained
Q:	https://patchwork.ozlabs.org/project/linux-pwm/list/
@@ -16380,6 +16379,7 @@ F: Documentation/driver-api/pwm.rst
F:	drivers/gpio/gpio-mvebu.c
F:	drivers/pwm/
F:	drivers/video/backlight/pwm_bl.c
F:	include/dt-bindings/pwm/
F:	include/linux/pwm.h
F:	include/linux/pwm_backlight.h
K:	pwm_(config|apply_state|ops)
+10 −0
Original line number Diff line number Diff line
@@ -140,6 +140,16 @@ config PWM_BRCMSTB
	  To compile this driver as a module, choose M Here: the module
	  will be called pwm-brcmstb.c.

config PWM_CLK
	tristate "Clock based PWM support"
	depends on HAVE_CLK || COMPILE_TEST
	help
	  Generic PWM framework driver for outputs that can be
	  muxed to clocks.

	  To compile this driver as a module, choose M here: the module
	  will be called pwm-clk.

config PWM_CLPS711X
	tristate "CLPS711X PWM support"
	depends on ARCH_CLPS711X || COMPILE_TEST
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ obj-$(CONFIG_PWM_BCM_KONA) += pwm-bcm-kona.o
obj-$(CONFIG_PWM_BCM2835)	+= pwm-bcm2835.o
obj-$(CONFIG_PWM_BERLIN)	+= pwm-berlin.o
obj-$(CONFIG_PWM_BRCMSTB)	+= pwm-brcmstb.o
obj-$(CONFIG_PWM_CLK)		+= pwm-clk.o
obj-$(CONFIG_PWM_CLPS711X)	+= pwm-clps711x.o
obj-$(CONFIG_PWM_CRC)		+= pwm-crc.o
obj-$(CONFIG_PWM_CROS_EC)	+= pwm-cros-ec.o
Loading