Skip to content

Commit

Permalink
ASoC: dt-bindings: move LPASS clocks related bindings out of q6afe
Browse files Browse the repository at this point in the history
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: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20211026111655.1702-3-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Srinivas Kandagatla authored and Mark Brown committed Oct 26, 2021
1 parent e1b26ac commit e44cfc9
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 23 deletions.
23 changes: 0 additions & 23 deletions Documentation/devicetree/bindings/sound/qcom,q6afe.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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>;
};
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# 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>;
};
};
};

0 comments on commit e44cfc9

Please sign in to comment.