Unverified Commit e44cfc9d authored by Srinivas Kandagatla's avatar Srinivas Kandagatla Committed by Mark Brown
Browse files

ASoC: dt-bindings: move LPASS clocks related bindings out of q6afe



q6afe (Audio Front End) is one of the DSP service that handles both
LPASS (Low Power Audio SubSystem) Audio ports and LPASS clocks.
As LPASS is a hardwware IP and commonly used by Qualcomm Audio DSP.
In order to allow  multiple DSP frameworks to use these bindings
its best to move it out from the dsp specific bindings.

For compatibility reasons and not breaking which is already working
we still maintain same compatible string "qcom,q6afe-clocks"

Also as part of this change convert these LPASS clocks related bindings
into yaml format.

Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20211026111655.1702-3-srinivas.kandagatla@linaro.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent e1b26ac9
Loading
Loading
Loading
Loading
+0 −23
Original line number Diff line number Diff line
@@ -12,32 +12,9 @@ used by all apr services. Must contain the following properties.
		  from DSP.
		  example "qcom,q6afe"

= AFE CLOCKSS
"clocks" subnode of the AFE node. It represents q6afe clocks
"clocks" node should have following properties.
- compatible:
	Usage: required
	Value type: <stringlist>
	Definition: must be "qcom,q6afe-clocks"

- #clock-cells:
	Usage: required
	Value type: <u32>
	Definition: Must be 2. Clock Id followed by
		below valid 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

= EXAMPLE

apr-service@4 {
	compatible = "qcom,q6afe";
	reg = <APR_SVC_AFE>;

	clocks {
		compatible = "qcom,q6afe-clocks";
		#clock-cells = <2>;
	};
};
+56 −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/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

  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>;
            };
        };
      };