diff mbox series

[v3,1/7] ASoC: dt-bindings: document wcd937x Audio Codec

Message ID 20240425091857.2161088-2-quic_mohs@quicinc.com (mailing list archive)
State Superseded
Headers show
Series ASoC: codecs: wcd937x: add wcd937x audio codec support | expand

Commit Message

Mohammad Rafi Shaik April 25, 2024, 9:18 a.m. UTC
From: Prasad Kumpatla <quic_pkumpatl@quicinc.com>

Document the Qualcomm WCD9370/WCD9375 Audio Codec and the soundwire
devices can be found on Qualcomm QCM6490 based platforms.

The Qualcomm WCD9370/WCD9375 Audio Codec communicates
with the host SoC over 2 Soundwire links to provide:
- 3 TX ADC paths with 4 differential AMIC inputs
- 6 DMIC inputs that are shared with AMIC input
- 4 Microphone BIAS
- RX paths with 4 PAs – HPHL/R, EAR and AUX
- Stereo Headphone output
- MBHC engine for Headset Detection

Co-developed-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com>
Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com>
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
---
 .../bindings/sound/qcom,wcd937x-sdw.yaml      | 78 +++++++++++++++++++
 .../bindings/sound/qcom,wcd937x.yaml          | 58 ++++++++++++++
 2 files changed, 136 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/qcom,wcd937x.yaml

Comments

Rob Herring (Arm) April 25, 2024, 10:38 a.m. UTC | #1
On Thu, 25 Apr 2024 14:48:51 +0530, Mohammad Rafi Shaik wrote:
> From: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
> 
> Document the Qualcomm WCD9370/WCD9375 Audio Codec and the soundwire
> devices can be found on Qualcomm QCM6490 based platforms.
> 
> The Qualcomm WCD9370/WCD9375 Audio Codec communicates
> with the host SoC over 2 Soundwire links to provide:
> - 3 TX ADC paths with 4 differential AMIC inputs
> - 6 DMIC inputs that are shared with AMIC input
> - 4 Microphone BIAS
> - RX paths with 4 PAs – HPHL/R, EAR and AUX
> - Stereo Headphone output
> - MBHC engine for Headset Detection
> 
> Co-developed-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com>
> Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com>
> Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
> ---
>  .../bindings/sound/qcom,wcd937x-sdw.yaml      | 78 +++++++++++++++++++
>  .../bindings/sound/qcom,wcd937x.yaml          | 58 ++++++++++++++
>  2 files changed, 136 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml
>  create mode 100644 Documentation/devicetree/bindings/sound/qcom,wcd937x.yaml
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:
./Documentation/devicetree/bindings/sound/qcom,wcd937x.yaml:30:11: [warning] wrong indentation: expected 4 but found 10 (indentation)
./Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml:34:13: [warning] wrong indentation: expected 6 but found 12 (indentation)
./Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml:34:17: [warning] too many spaces before colon (colons)
./Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml:46:13: [warning] wrong indentation: expected 6 but found 12 (indentation)
./Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml:46:17: [warning] too many spaces before colon (colons)

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/qcom,wcd937x.example.dtb: codec: compatible:0: 'sdw20217010a00' was expected
	from schema $id: http://devicetree.org/schemas/sound/qcom,wcd937x.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/qcom,wcd937x.example.dtb: codec: 'reg' is a required property
	from schema $id: http://devicetree.org/schemas/sound/qcom,wcd937x.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/qcom,wcd937x.example.dtb: codec: '#sound-dai-cells', 'qcom,micbias1-microvolt', 'qcom,micbias2-microvolt', 'qcom,micbias3-microvolt', 'qcom,micbias4-microvolt', 'qcom,rx-device', 'qcom,tx-device', 'reset-gpios', 'vdd-buck-supply', 'vdd-mic-bias-supply', 'vdd-px-supply', 'vdd-rxtx-supply' do not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/sound/qcom,wcd937x.yaml#

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240425091857.2161088-2-quic_mohs@quicinc.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
Krzysztof Kozlowski April 25, 2024, 11:01 a.m. UTC | #2
On 25/04/2024 11:18, Mohammad Rafi Shaik wrote:
> From: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
> 
> Document the Qualcomm WCD9370/WCD9375 Audio Codec and the soundwire
> devices can be found on Qualcomm QCM6490 based platforms.
> 
> The Qualcomm WCD9370/WCD9375 Audio Codec communicates
> with the host SoC over 2 Soundwire links to provide:
> - 3 TX ADC paths with 4 differential AMIC inputs
> - 6 DMIC inputs that are shared with AMIC input
> - 4 Microphone BIAS
> - RX paths with 4 PAs – HPHL/R, EAR and AUX
> - Stereo Headphone output
> - MBHC engine for Headset Detection
> 
> Co-developed-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com>
> Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com>
> Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>

1. That's odd order of tags. Who created the first patch?

2. Last time you received report that this was not tested. Now there is
again report.
Are you sure you test patches before sending?

Best regards,
Krzysztof
Mohammad Rafi Shaik April 25, 2024, 11:47 a.m. UTC | #3
On 4/25/2024 4:31 PM, Krzysztof Kozlowski wrote:
> On 25/04/2024 11:18, Mohammad Rafi Shaik wrote:
>> From: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
>>
>> Document the Qualcomm WCD9370/WCD9375 Audio Codec and the soundwire
>> devices can be found on Qualcomm QCM6490 based platforms.
>>
>> The Qualcomm WCD9370/WCD9375 Audio Codec communicates
>> with the host SoC over 2 Soundwire links to provide:
>> - 3 TX ADC paths with 4 differential AMIC inputs
>> - 6 DMIC inputs that are shared with AMIC input
>> - 4 Microphone BIAS
>> - RX paths with 4 PAs – HPHL/R, EAR and AUX
>> - Stereo Headphone output
>> - MBHC engine for Headset Detection
>>
>> Co-developed-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com>
>> Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com>
>> Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
> 
> 1. That's odd order of tags. Who created the first patch?

    First patch is created by : Prasad Kumpatla <quic_pkumpatl@quicinc.com>
> 
> 2. Last time you received report that this was not tested. Now there is
> again report.
> Are you sure you test patches before sending?
> 
   Yes i have tested patches multiple times before sending.

   In my setup the "make dt_binding_check"  became success, there is no 
errors.

   log:

   DTC     Documentation/devicetree/bindings/sound/zl38060.example.dtb
   DTEX 
Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.example.dts
   DTC 
Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.example.dtb
   DTEX    Documentation/devicetree/bindings/sound/qcom,wcd937x.example.dts
   DTC     Documentation/devicetree/bindings/sound/qcom,wcd937x.example.dtb
   DTEX 
Documentation/devicetree/bindings/soundwire/qcom,soundwire.example.dts
   DTC 
Documentation/devicetree/bindings/soundwire/qcom,soundwire.example.dtb

   Not sure why errors not coming in my setup,
   Will check in different Machine.

> Best regards,
> Krzysztof

Thanks and regards,
Rafi
>
Krzysztof Kozlowski April 25, 2024, 11:53 a.m. UTC | #4
On 25/04/2024 13:47, Mohammad Rafi Shaik wrote:
> On 4/25/2024 4:31 PM, Krzysztof Kozlowski wrote:
>> On 25/04/2024 11:18, Mohammad Rafi Shaik wrote:
>>> From: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
>>>
>>> Document the Qualcomm WCD9370/WCD9375 Audio Codec and the soundwire
>>> devices can be found on Qualcomm QCM6490 based platforms.
>>>
>>> The Qualcomm WCD9370/WCD9375 Audio Codec communicates
>>> with the host SoC over 2 Soundwire links to provide:
>>> - 3 TX ADC paths with 4 differential AMIC inputs
>>> - 6 DMIC inputs that are shared with AMIC input
>>> - 4 Microphone BIAS
>>> - RX paths with 4 PAs – HPHL/R, EAR and AUX
>>> - Stereo Headphone output
>>> - MBHC engine for Headset Detection
>>>
>>> Co-developed-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com>
>>> Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com>
>>> Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
>>
>> 1. That's odd order of tags. Who created the first patch?
> 
>     First patch is created by : Prasad Kumpatla <quic_pkumpatl@quicinc.com>

So look at submitting patches explaining the order.


>>
>> 2. Last time you received report that this was not tested. Now there is
>> again report.
>> Are you sure you test patches before sending?
>>
>    Yes i have tested patches multiple times before sending.
> 
>    In my setup the "make dt_binding_check"  became success, there is no 
> errors.
> 

I can easily reproduce the errors, so you probably don't have yamllint
and use old dtschema and/or old kernel.



Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml b/Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml
new file mode 100644
index 000000000000..3a5751900830
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml
@@ -0,0 +1,78 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/qcom,wcd937x-sdw.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm SoundWire Slave devices on WCD9370/WCD9375
+
+maintainers:
+  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
+
+description: |
+  Qualcomm WCD9370/WCD9375 Codec is a standalone Hi-Fi audio codec IC.
+  It has RX and TX Soundwire slave devices. This bindings is for the
+  slave devices.
+
+properties:
+  compatible:
+    const: sdw20217010a00
+
+  reg:
+    maxItems: 1
+
+  qcom,tx-port-mapping:
+    description: |
+      Specifies static port mapping between device and host tx ports.
+      In the order of the device port index which are adc1_port, adc23_port,
+      dmic03_mbhc_port, dmic46_port.
+      Supports maximum 4 tx soundwire ports.
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    minItems: 4
+    maxItems: 4
+    items:
+            enum : [1, 2, 3, 4]
+
+  qcom,rx-port-mapping:
+    description: |
+      Specifies static port mapping between device and host rx ports.
+      In the order of device port index which are hph_port, clsh_port,
+      comp_port, lo_port, dsd port.
+      Supports maximum 5 rx soundwire ports.
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    minItems: 5
+    maxItems: 5
+    items:
+            enum : [1, 2, 3, 4, 5]
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    soundwire@3210000 {
+        reg = <0x03210000 0x2000>;
+        #address-cells = <2>;
+        #size-cells = <0>;
+        wcd937x_rx: codec@0,4 {
+            compatible = "sdw20217010a00";
+            reg  = <0 4>;
+            qcom,rx-port-mapping = <1 2 3 4 5>;
+        };
+    };
+
+    soundwire@3230000 {
+        reg = <0x03230000 0x2000>;
+        #address-cells = <2>;
+        #size-cells = <0>;
+        wcd937x_tx: codec@0,3 {
+            compatible = "sdw20217010a00";
+            reg  = <0 3>;
+            qcom,tx-port-mapping = <1 2 3 4>;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/sound/qcom,wcd937x.yaml b/Documentation/devicetree/bindings/sound/qcom,wcd937x.yaml
new file mode 100644
index 000000000000..21dfa2f3287d
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/qcom,wcd937x.yaml
@@ -0,0 +1,58 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/qcom,wcd937x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm WCD9370/WCD9375 Audio Codec
+
+maintainers:
+  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
+
+description:
+  Qualcomm WCD9370/WCD9375 Codec is a standalone Hi-Fi audio codec IC.
+  It has RX and TX Soundwire slave devices.
+
+allOf:
+  - $ref: dai-common.yaml#
+  - $ref: qcom,wcd937x-sdw.yaml#
+  - $ref: qcom,wcd93xx-common.yaml#
+
+properties:
+  compatible:
+    oneOf:
+      - const: qcom,wcd9370-codec
+      - items:
+          - const: qcom,wcd9375-codec
+          - const: qcom,wcd9370-codec
+
+  vdd-px-supply:
+          description: A reference to the 1.8V I/O supply
+
+required:
+  - compatible
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    codec {
+        compatible = "qcom,wcd9370-codec";
+        pinctrl-names = "default", "sleep";
+        pinctrl-0 = <&wcd_reset_n>;
+        pinctrl-1 = <&wcd_reset_n_sleep>;
+        reset-gpios = <&tlmm 83 0>;
+        vdd-buck-supply = <&vreg_l17b_1p8>;
+        vdd-rxtx-supply = <&vreg_l18b_1p8>;
+        vdd-px-supply = <&vreg_l18b_1p8>;
+        vdd-mic-bias-supply = <&vreg_bob>;
+        qcom,micbias1-microvolt = <1800000>;
+        qcom,micbias2-microvolt = <1800000>;
+        qcom,micbias3-microvolt = <1800000>;
+        qcom,micbias4-microvolt = <1800000>;
+        qcom,rx-device = <&wcd937x_rx>;
+        qcom,tx-device = <&wcd937x_tx>;
+        #sound-dai-cells = <1>;
+    };
+
+...