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

title: Qualcomm OPP

maintainers:
  - Niklas Cassel <nks@flawful.org>

allOf:
  - $ref: opp-v2-base.yaml#

properties:
  compatible:
    const: operating-points-v2-qcom-level

patternProperties:
  '^opp-?[0-9]+$':
    type: object
    additionalProperties: false

    properties:
      opp-level: true

      qcom,opp-fuse-level:
        description: |
          A positive value representing the fuse corner/level associated with
          this OPP node. Sometimes several corners/levels shares a certain fuse
          corner/level. A fuse corner/level contains e.g. ref uV, min uV,
          and max uV.
        $ref: /schemas/types.yaml#/definitions/uint32-array
        minItems: 1
        maxItems: 2

    required:
      - opp-level
      - qcom,opp-fuse-level

required:
  - compatible

additionalProperties: false

examples:
  - |
    cpr_opp_table: opp-table-cpr {
        compatible = "operating-points-v2-qcom-level";

        cpr_opp1: opp1 {
            opp-level = <1>;
            qcom,opp-fuse-level = <1>;
        };
        cpr_opp2: opp2 {
            opp-level = <2>;
            qcom,opp-fuse-level = <2>;
        };
        cpr_opp3: opp3 {
            opp-level = <3>;
            qcom,opp-fuse-level = <3>;
        };
    };