# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/sound/qcom,q6dsp-lpass-clocks.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Qualcomm DSP LPASS Clock Controller binding

maintainers:
  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

description: |
  This binding describes the Qualcomm DSP Clock Controller

properties:
  compatible:
    enum:
      - qcom,q6afe-clocks
      - qcom,q6prm-lpass-clocks

  reg:
    maxItems: 1

  '#clock-cells':
    const: 2
    description:
      Clock Id is followed by clock coupling attributes.
        1 = for no coupled clock
        2 = for dividend of the coupled clock
        3 = for divisor of the coupled clock
        4 = for inverted and no couple clock

required:
  - compatible
  - reg
  - "#clock-cells"

additionalProperties: false

examples:
  - |
    #include <dt-bindings/soc/qcom,apr.h>
    #include <dt-bindings/sound/qcom,q6afe.h>
    apr {
        #address-cells = <1>;
        #size-cells = <0>;
        apr-service@4 {
            reg = <APR_SVC_AFE>;
            #address-cells = <1>;
            #size-cells = <0>;
            clock-controller@2 {
              compatible = "qcom,q6afe-clocks";
              reg = <2>;
              #clock-cells = <2>;
            };
        };
      };

  - |
    #include <dt-bindings/soc/qcom,gpr.h>
    gpr {
        compatible = "qcom,gpr";
        qcom,domain = <GPR_DOMAIN_ID_ADSP>;
        #address-cells = <1>;
        #size-cells = <0>;
        service@2 {
            reg = <GPR_PRM_MODULE_IID>;
            compatible = "qcom,q6prm";
            #address-cells = <1>;
            #size-cells = <0>;
            clock-controller@2 {
              compatible = "qcom,q6prm-lpass-clocks";
              reg = <2>;
              #clock-cells = <2>;
            };
        };
      };
