Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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: 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>

authored by

Srinivas Kandagatla and committed by
Mark Brown
e44cfc9d e1b26ac9

+56 -23
-23
Documentation/devicetree/bindings/sound/qcom,q6afe.txt
··· 12 12 from DSP. 13 13 example "qcom,q6afe" 14 14 15 - = AFE CLOCKSS 16 - "clocks" subnode of the AFE node. It represents q6afe clocks 17 - "clocks" node should have following properties. 18 - - compatible: 19 - Usage: required 20 - Value type: <stringlist> 21 - Definition: must be "qcom,q6afe-clocks" 22 - 23 - - #clock-cells: 24 - Usage: required 25 - Value type: <u32> 26 - Definition: Must be 2. Clock Id followed by 27 - below valid clock coupling attributes. 28 - 1 - for no coupled clock 29 - 2 - for dividend of the coupled clock 30 - 3 - for divisor of the coupled clock 31 - 4 - for inverted and no couple clock 32 - 33 15 = EXAMPLE 34 16 35 17 apr-service@4 { 36 18 compatible = "qcom,q6afe"; 37 19 reg = <APR_SVC_AFE>; 38 - 39 - clocks { 40 - compatible = "qcom,q6afe-clocks"; 41 - #clock-cells = <2>; 42 - }; 43 20 };
+56
Documentation/devicetree/bindings/sound/qcom,q6dsp-lpass-clocks.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: "http://devicetree.org/schemas/sound/qcom,q6dsp-lpass-clocks.yaml#" 5 + $schema: "http://devicetree.org/meta-schemas/core.yaml#" 6 + 7 + title: Qualcomm DSP LPASS Clock Controller binding 8 + 9 + maintainers: 10 + - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 11 + 12 + description: | 13 + This binding describes the Qualcomm DSP Clock Controller 14 + 15 + properties: 16 + compatible: 17 + enum: 18 + - qcom,q6afe-clocks 19 + 20 + reg: 21 + maxItems: 1 22 + 23 + '#clock-cells': 24 + const: 2 25 + description: 26 + Clock Id is followed by clock coupling attributes. 27 + 1 = for no coupled clock 28 + 2 = for dividend of the coupled clock 29 + 3 = for divisor of the coupled clock 30 + 4 = for inverted and no couple clock 31 + 32 + required: 33 + - compatible 34 + - reg 35 + - "#clock-cells" 36 + 37 + additionalProperties: false 38 + 39 + examples: 40 + - | 41 + #include <dt-bindings/soc/qcom,apr.h> 42 + #include <dt-bindings/sound/qcom,q6afe.h> 43 + apr { 44 + #address-cells = <1>; 45 + #size-cells = <0>; 46 + apr-service@4 { 47 + reg = <APR_SVC_AFE>; 48 + #address-cells = <1>; 49 + #size-cells = <0>; 50 + clock-controller@2 { 51 + compatible = "qcom,q6afe-clocks"; 52 + reg = <2>; 53 + #clock-cells = <2>; 54 + }; 55 + }; 56 + };