[3/6] ASoC: dt-bindings: pm8916-analog-codec: Drop invalid mclk

Message ID 20230718-pm8916-mclk-v1-3-4b4a58b4240a@gerhold.net
State New
Headers
Series ASoC: codecs: msm8916-wcd-analog: Cleanup DT bindings |

Commit Message

Stephan Gerhold July 18, 2023, 11:40 a.m. UTC
  The audio codec typically used for the MSM8916 SoC is split into two
parts: the digital codec is part of the SoC, while the analog codec is
part of the PM8916 PMIC.

The analog codec in the PMIC has no direct connection to the mclk of
the SoC (GCC_CODEC_DIGCODEC_CLK). As the name of the clock suggests
this is supplied to the digital part of the codec. During playback it
will use this clock to transmit the audio data via the "CDC PDM" pins
to the PMIC. In this case the analog codec indirectly receives the
clock signal through the digital codec.

GCC_CODEC_DIGCODEC_CLK is already managed by the driver of the digital
part of the codec in the SoC. Having this clock on the analog PMIC part
additionally is redundant and incorrect because the analog codec cannot
receive the clock signal without going through the digital codec.

Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
 .../bindings/sound/qcom,pm8916-wcd-analog-codec.yaml           | 10 ----------
 1 file changed, 10 deletions(-)
  

Comments

Rob Herring July 19, 2023, 10:01 p.m. UTC | #1
On Tue, 18 Jul 2023 13:40:15 +0200, Stephan Gerhold wrote:
> The audio codec typically used for the MSM8916 SoC is split into two
> parts: the digital codec is part of the SoC, while the analog codec is
> part of the PM8916 PMIC.
> 
> The analog codec in the PMIC has no direct connection to the mclk of
> the SoC (GCC_CODEC_DIGCODEC_CLK). As the name of the clock suggests
> this is supplied to the digital part of the codec. During playback it
> will use this clock to transmit the audio data via the "CDC PDM" pins
> to the PMIC. In this case the analog codec indirectly receives the
> clock signal through the digital codec.
> 
> GCC_CODEC_DIGCODEC_CLK is already managed by the driver of the digital
> part of the codec in the SoC. Having this clock on the analog PMIC part
> additionally is redundant and incorrect because the analog codec cannot
> receive the clock signal without going through the digital codec.
> 
> Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
> ---
>  .../bindings/sound/qcom,pm8916-wcd-analog-codec.yaml           | 10 ----------
>  1 file changed, 10 deletions(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>
  

Patch

diff --git a/Documentation/devicetree/bindings/sound/qcom,pm8916-wcd-analog-codec.yaml b/Documentation/devicetree/bindings/sound/qcom,pm8916-wcd-analog-codec.yaml
index 5053799c88b5..94e7a1860977 100644
--- a/Documentation/devicetree/bindings/sound/qcom,pm8916-wcd-analog-codec.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,pm8916-wcd-analog-codec.yaml
@@ -19,13 +19,6 @@  properties:
   reg:
     maxItems: 1
 
-  clocks:
-    maxItems: 1
-
-  clock-names:
-    items:
-      - const: mclk
-
   interrupts:
     maxItems: 14
 
@@ -109,7 +102,6 @@  additionalProperties: false
 
 examples:
   - |
-    #include <dt-bindings/clock/qcom,gcc-msm8916.h>
     #include <dt-bindings/interrupt-controller/irq.h>
     #include <dt-bindings/spmi/spmi.h>
 
@@ -122,8 +114,6 @@  examples:
       audio-codec@f000 {
         compatible = "qcom,pm8916-wcd-analog-codec";
         reg = <0xf000>;
-        clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
-        clock-names = "mclk";
         qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
         qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
         interrupt-parent = <&spmi_bus>;