Unverified Commit 6a85afe4 authored by Jernej Skrabec's avatar Jernej Skrabec Committed by Maxime Ripard
Browse files

dt-bindings: pwm: allwinner: Add H6 PWM description



H6 PWM block is basically the same as A20 PWM, except that it also has
bus clock and reset line which needs to be handled accordingly.

Expand Allwinner PWM binding with H6 PWM specifics.

Signed-off-by: default avatarJernej Skrabec <jernej.skrabec@siol.net>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarClément Péron <peron.clem@gmail.com>
Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
parent 0388a110
Loading
Loading
Loading
Loading
+51 −0
Original line number Diff line number Diff line
@@ -30,10 +30,48 @@ properties:
      - items:
          - const: allwinner,sun50i-h5-pwm
          - const: allwinner,sun5i-a13-pwm
      - const: allwinner,sun50i-h6-pwm

  reg:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 2
    items:
      - description: Module Clock
      - description: Bus Clock

  # Even though it only applies to subschemas under the conditionals,
  # not listing them here will trigger a warning because of the
  # additionalsProperties set to false.
  clock-names: true

  resets:
    maxItems: 1

if:
  properties:
    compatible:
      contains:
        const: allwinner,sun50i-h6-pwm

then:
  properties:
    clocks:
      maxItems: 2

    clock-names:
      items:
        - const: mod
        - const: bus

  required:
    - clock-names
    - resets

else:
  properties:
    clocks:
      maxItems: 1

@@ -54,4 +92,17 @@ examples:
        #pwm-cells = <3>;
    };

  - |
    #include <dt-bindings/clock/sun50i-h6-ccu.h>
    #include <dt-bindings/reset/sun50i-h6-ccu.h>

    pwm@300a000 {
      compatible = "allwinner,sun50i-h6-pwm";
      reg = <0x0300a000 0x400>;
      clocks = <&osc24M>, <&ccu CLK_BUS_PWM>;
      clock-names = "mod", "bus";
      resets = <&ccu RST_BUS_PWM>;
      #pwm-cells = <3>;
    };

...