Commit f38b7512 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull pwm updates from Uwe Kleine-König:
 "Apart from the usual mix of new drivers (pwm-argon-fan-hat), adding
  support for variants to existing drivers, minor improvements to both
  drivers and docs, device tree documenation updates, the noteworthy
  changes are:

   - A hwmon companion driver to pwm-mc33xs2410 living in drivers/hwmon
     and acked by Guenter Roeck

   - chardev support for PWM devices. This leverages atomic PWM updates
     to userspace and at the same time simplifies and accelerates PWM
     configuration changes"

* tag 'pwm/for-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux: (35 commits)
  pwm: raspberrypi-poe: Fix spelling mistake "Firwmware" -> "Firmware"
  hwmon: add support for MC33XS2410 hardware monitoring
  pwm: mc33xs2410: add hwmon support
  pwm: img: Remove redundant pm_runtime_mark_last_busy() calls
  pwm: Expose PWM_WFHWSIZE in public header
  dt-bindings: pwm: Convert lpc32xx-pwm.txt to yaml format
  docs: pwm: Adapt Locking paragraph to reality
  pwm: twl-led: Drop driver local locking
  pwm: sun4i: Drop driver local locking
  pwm: sti: Drop driver local locking
  pwm: microchip-core: Drop driver local locking
  pwm: lpc18xx-sct: Drop driver local locking
  pwm: fsl-ftm: Drop driver local locking
  pwm: clps711x: Drop driver local locking
  pwm: atmel: Drop driver local locking
  pwm: argon-fan-hat: Add Argon40 Fan HAT support
  dt-bindings: pwm: argon40,fan-hat: Document Argon40 Fan HAT
  dt-bindings: vendor-prefixes: Document Argon40
  pwm: pwm-mediatek: Add support for PWM IP V3.0.2 in MT6991/MT8196
  pwm: pwm-mediatek: Pass PWM_CK_26M_SEL from platform data
  ...
parents 02621631 68b9272c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ description:
  The Analog Devices AXI PWM generator can generate PWM signals
  with variable pulse width and period.

  https://wiki.analog.com/resources/fpga/docs/axi_pwm_gen
  https://analogdevicesinc.github.io/hdl/library/axi_pwm_gen/index.html

allOf:
  - $ref: pwm.yaml#
+48 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pwm/argon40,fan-hat.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Argon40 Fan HAT PWM controller

maintainers:
  - Marek Vasut <marek.vasut+renesas@mailbox.org>

description:
  The trivial PWM on Argon40 Fan HAT, which is a RaspberryPi blower fan
  hat which can be controlled over I2C, generates a fixed 30 kHz period
  PWM signal with configurable 0..100% duty cycle to control the fan
  speed.

allOf:
  - $ref: pwm.yaml#

properties:
  compatible:
    const: argon40,fan-hat

  reg:
    maxItems: 1

  "#pwm-cells":
    const: 3

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      pwm@1a {
        compatible = "argon40,fan-hat";
        reg = <0x1a>;
        #pwm-cells = <3>;
      };
    };
+0 −20
Original line number Diff line number Diff line
* NXP LPC18xx State Configurable Timer - Pulse Width Modulator driver

Required properties:
  - compatible: Should be "nxp,lpc1850-sct-pwm"
  - reg: Should contain physical base address and length of pwm registers.
  - clocks: Must contain an entry for each entry in clock-names.
    See ../clock/clock-bindings.txt for details.
  - clock-names: Must include the following entries.
    - pwm: PWM operating clock.
  - #pwm-cells: Should be 3. See pwm.yaml in this directory for the description
    of the cells format.

Example:
  pwm: pwm@40000000 {
    compatible = "nxp,lpc1850-sct-pwm";
    reg = <0x40000000 0x1000>;
    clocks =<&ccu1 CLK_CPU_SCT>;
    clock-names = "pwm";
    #pwm-cells = <3>;
  };
+0 −17
Original line number Diff line number Diff line
LPC32XX PWM controller

Required properties:
- compatible: should be "nxp,lpc3220-pwm"
- reg: physical base address and length of the controller's registers

Examples:

pwm@4005c000 {
	compatible = "nxp,lpc3220-pwm";
	reg = <0x4005c000 0x4>;
};

pwm@4005c004 {
	compatible = "nxp,lpc3220-pwm";
	reg = <0x4005c004 0x4>;
};
+28 −7
Original line number Diff line number Diff line
@@ -11,26 +11,47 @@ maintainers:

allOf:
  - $ref: pwm.yaml#
  - if:
      properties:
        compatible:
          contains:
            const: spacemit,k1-pwm
    then:
      properties:
        "#pwm-cells":
          const: 3
    else:
      properties:
        "#pwm-cells":
          const: 1
          description: |
            Used for specifying the period length in nanoseconds.

properties:
  compatible:
    enum:
    oneOf:
      - enum:
          - marvell,pxa250-pwm
          - marvell,pxa270-pwm
          - marvell,pxa168-pwm
          - marvell,pxa910-pwm
      - items:
          - const: spacemit,k1-pwm
          - const: marvell,pxa910-pwm

  reg:
    # Length should be 0x10
    maxItems: 1

  "#pwm-cells":
    # Used for specifying the period length in nanoseconds
    const: 1
    description: Number of cells in a pwm specifier.

  clocks:
    maxItems: 1

  resets:
    maxItems: 1

required:
  - compatible
  - reg
Loading