# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pwm/pwm-amlogic.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Amlogic PWM

maintainers:
  - Heiner Kallweit <hkallweit1@gmail.com>

properties:
  compatible:
    oneOf:
      - enum:
          - amlogic,meson8b-pwm
          - amlogic,meson-gxbb-pwm
          - amlogic,meson-gxbb-ao-pwm
          - amlogic,meson-axg-ee-pwm
          - amlogic,meson-axg-ao-pwm
          - amlogic,meson-g12a-ee-pwm
          - amlogic,meson-g12a-ao-pwm-ab
          - amlogic,meson-g12a-ao-pwm-cd
        deprecated: true
      - items:
          - const: amlogic,meson-gx-pwm
          - const: amlogic,meson-gxbb-pwm
        deprecated: true
      - items:
          - const: amlogic,meson-gx-ao-pwm
          - const: amlogic,meson-gxbb-ao-pwm
        deprecated: true
      - items:
          - const: amlogic,meson8-pwm
          - const: amlogic,meson8b-pwm
        deprecated: true
      - enum:
          - amlogic,meson8-pwm-v2
          - amlogic,meson-s4-pwm
      - items:
          - enum:
              - amlogic,meson8b-pwm-v2
              - amlogic,meson-gxbb-pwm-v2
              - amlogic,meson-axg-pwm-v2
              - amlogic,meson-g12-pwm-v2
          - const: amlogic,meson8-pwm-v2

  reg:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 4

  clock-names:
    minItems: 1
    maxItems: 2

  "#pwm-cells":
    const: 3

required:
  - compatible
  - reg

allOf:
  - $ref: pwm.yaml#

  - if:
      properties:
        compatible:
          contains:
            enum:
              - amlogic,meson8-pwm
              - amlogic,meson8b-pwm
              - amlogic,meson-gxbb-pwm
              - amlogic,meson-gxbb-ao-pwm
              - amlogic,meson-axg-ee-pwm
              - amlogic,meson-axg-ao-pwm
              - amlogic,meson-g12a-ee-pwm
              - amlogic,meson-g12a-ao-pwm-ab
              - amlogic,meson-g12a-ao-pwm-cd
    then:
      # Obsolete historic bindings tied to the driver implementation
      # The clocks provided here are meant to be matched with the input
      # known (hard-coded) in the driver and used to select pwm clock
      # source. Currently, the linux driver ignores this.
      # This is kept to maintain ABI backward compatibility.
      properties:
        clocks:
          maxItems: 2
        clock-names:
          oneOf:
            - items:
                - enum: [clkin0, clkin1]
            - items:
                - const: clkin0
                - const: clkin1

  # Newer binding where clock describe the actual clock inputs of the pwm
  # block. These are necessary but some inputs may be grounded.
  - if:
      properties:
        compatible:
          contains:
            enum:
              - amlogic,meson8-pwm-v2
    then:
      properties:
        clocks:
          minItems: 1
          items:
            - description: input clock 0 of the pwm block
            - description: input clock 1 of the pwm block
            - description: input clock 2 of the pwm block
            - description: input clock 3 of the pwm block
        clock-names: false
      required:
        - clocks

  # Newer IP block take a single input per channel, instead of 4 inputs
  # for both channels
  - if:
      properties:
        compatible:
          contains:
            enum:
              - amlogic,meson-s4-pwm
    then:
      properties:
        clocks:
          items:
            - description: input clock of PWM channel A
            - description: input clock of PWM channel B
        clock-names: false
      required:
        - clocks

additionalProperties: false

examples:
  - |
    pwm@8550 {
      compatible = "amlogic,meson-gxbb-pwm";
      reg = <0x08550 0x10>;
      clocks = <&xtal>, <&xtal>;
      clock-names = "clkin0", "clkin1";
      #pwm-cells = <3>;
    };
  - |
    pwm@2000 {
      compatible = "amlogic,meson8-pwm-v2";
      reg = <0x1000 0x10>;
      clocks = <&xtal>, <0>, <&fdiv4>, <&fdiv5>;
      #pwm-cells = <3>;
    };
  - |
    pwm@1000 {
      compatible = "amlogic,meson-s4-pwm";
      reg = <0x1000 0x10>;
      clocks = <&pwm_src_a>, <&pwm_src_b>;
      #pwm-cells = <3>;
    };
