[PATCH v1 1/2] ASoC: qcom: dt-bindings: Add SM8250 sound card bindings

Srinivas Kandagatla srinivas.kandagatla at linaro.org
Wed Oct 28 16:19:45 CET 2020



On 28/10/2020 15:01, Rob Herring wrote:
> On Mon, Oct 26, 2020 at 05:09:46PM +0000, Srinivas Kandagatla wrote:
>> This patch adds bindings required for SM8250 based soundcards
>> for example Qualcomm Robotics RB5 Development Kit which makes
>> use of ADSP and Internal LPASS codec.
> 
> You didn't send to DT list...

Ah.. my bad.. I did not realize that I missed it!

> 
>>
>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
>> ---
>>   .../bindings/sound/qcom,sm8250.yaml           | 161 ++++++++++++++++++
>>   1 file changed, 161 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
>> new file mode 100644
>> index 000000000000..b8f97fe6e92c
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
>> @@ -0,0 +1,161 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/sound/qcom,sm8250.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Qualcomm Technologies Inc. SM8250 ASoC sound card driver
>> +
>> +maintainers:
>> +  - Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
>> +
>> +description:
>> +  This bindings describes SC8250 SoC based sound cards
>> +  which uses LPASS internal codec for audio.
>> +
>> +properties:
>> +  compatible:
>> +    oneOf:
>> +      - const: qcom,qrb5165-rb5
>> +      - items:
>> +        - const: qcom,sm8250
> 
> This collides with the top level SoC compatible resulting in:
> 

I did run dt_binding_check before sending out this patch, I might have 
missed it somehow because the make dt_binding_check did not 
end/termnitate in any errors, however if I had scrolled 15-20 Page ups 
it does have this error log!


> /builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: $nodename:0: '/' was expected
> 	From schema: /builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/arm/qcom.yaml
> /builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible: ['qcom,qrb5165-rb5'] is not valid under any of the given schemas (Possible causes of the failure):
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible: ['qcom,qrb5165-rb5'] is too short
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible:0: 'qcom,qrb5165-rb5' is not one of ['qcom,apq8016-sbc']
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible:0: 'qcom,qrb5165-rb5' is not one of ['qcom,apq8064-cm-qs600', 'qcom,apq8064-ifc6410']
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible:0: 'qcom,qrb5165-rb5' is not one of ['qcom,apq8074-dragonboard']
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible:0: 'qcom,qrb5165-rb5' is not one of ['qcom,apq8060-dragonboard', 'qcom,msm8660-surf']
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible:0: 'qcom,qrb5165-rb5' is not one of ['qcom,apq8084-mtp', 'qcom,apq8084-sbc']
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible:0: 'qcom,qrb5165-rb5' is not one of ['qcom,msm8960-cdp']
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible:0: 'qcom,qrb5165-rb5' is not one of ['fairphone,fp2', 'lge,hammerhead', 'sony,xperia-amami', 'sony,xperia-castor', 'sony,xperia-honami']
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible:0: 'qcom,msm8916-mtp/1' was expected
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible:0: 'qcom,qrb5165-rb5' is not one of ['longcheer,l8150', 'samsung,a3u-eur', 'samsung,a5u-eur']
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible:0: 'qcom,msm8996-mtp' was expected
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible:0: 'qcom,qrb5165-rb5' is not one of ['qcom,ipq4019-ap-dk04.1-c3', 'qcom,ipq4019-ap-dk07.1-c1', 'qcom,ipq4019-ap-dk07.1-c2', 'qcom,ipq4019-dk04.1-c1']
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible:0: 'qcom,qrb5165-rb5' is not one of ['qcom,ipq8064-ap148']
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible:0: 'qcom,qrb5165-rb5' is not one of ['qcom,ipq8074-hk01', 'qcom,ipq8074-hk10-c1', 'qcom,ipq8074-hk10-c2']
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible:0: 'qcom,qrb5165-rb5' is not one of ['qcom,sc7180-idp']
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible:0: 'qcom,qrb5165-rb5' is not one of ['xiaomi,lavender']
> 	/builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/sound/qcom,sm8250.example.dt.yaml: sound: compatible:0: 'qcom,qrb5165-rb5' is not one of ['qcom,ipq6018-cp01-c1']
> 
> 	From schema: /builds/robherring/linux-dt-bindings/Documentation/devicetree/bindings/arm/qcom.yaml
> 
Documentation/devicetree/bindings/arm/qcom.yaml does have 
qcom,qrb5165-rb5 entry under [qcom,sm8250]

Can you help me understand why is this not a valid compatible?


> Also, the indentation is off:
> ./Documentation/devicetree/bindings/sound/qcom,sm8250.yaml:21:9: [warning] wrong indentation: expected 10 but found 8 (indentation)
> 
I will fix it!

--srini
>> +        - const: qcom,qrb5165-rb5
>> +
>> +  audio-routing:
>> +    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
>> +    description:
>> +      A list of the connections between audio components. Each entry is a
>> +      pair of strings, the first being the connection's sink, the second
>> +      being the connection's source. Valid names could be power supplies,
>> +      MicBias of codec and the jacks on the board.
>> +
>> +  model:
>> +    $ref: /schemas/types.yaml#/definitions/string
>> +    description: User visible long sound card name
>> +
>> +patternProperties:
>> +  ".*-dai-link$":
> 
> '.*' at the beginning is not necessary.
> 
>> +    description:
>> +      Each subnode represents a dai link. Subnodes of each dai links would be
>> +      cpu/codec dais.
>> +
>> +    type: object
>> +
>> +    properties:
>> +      link-name:
>> +        description: Indicates dai-link name and PCM stream name.
>> +        $ref: /schemas/types.yaml#/definitions/string
>> +        maxItems: 1
>> +
>> +      cpu:
>> +        description: Holds subnode which indicates cpu dai.
>> +        type: object
>> +        properties:
>> +          sound-dai: true
>> +
>> +      platform:
>> +        description: Holds subnode which indicates platform dai.
>> +        type: object
>> +        properties:
>> +          sound-dai: true
>> +
>> +      codec:
>> +        description: Holds subnode which indicates codec dai.
>> +        type: object
>> +        properties:
>> +          sound-dai: true
>> +
>> +    required:
>> +      - link-name
>> +      - cpu
>> +
>> +    additionalProperties: false
>> +
>> +required:
>> +  - compatible
>> +  - model
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> +
>> +  - |
>> +    #include <dt-bindings/sound/qcom,q6afe.h>
>> +    #include <dt-bindings/sound/qcom,q6asm.h>
>> +    sound {
>> +        compatible = "qcom,qrb5165-rb5";
>> +        model = "Qualcomm-qrb5165-RB5-WSA8815-Speakers-DMIC0";
>> +        audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
>> +                    "SpkrRight IN", "WSA_SPK2 OUT",
>> +                    "VA DMIC0", "vdd-micb",
>> +                    "VA DMIC1", "vdd-micb",
>> +                    "MM_DL1",  "MultiMedia1 Playback",
>> +                    "MM_DL2",  "MultiMedia2 Playback",
>> +                    "MultiMedia3 Capture", "MM_UL3";
>> +
>> +        mm1-dai-link {
>> +            link-name = "MultiMedia0";
>> +            cpu {
>> +                sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
>> +            };
>> +        };
>> +
>> +        mm2-dai-link {
>> +            link-name = "MultiMedia2";
>> +            cpu {
>> +                sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
>> +            };
>> +        };
>> +
>> +        mm3-dai-link {
>> +            link-name = "MultiMedia3";
>> +            cpu {
>> +                sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
>> +            };
>> +        };
>> +
>> +        hdmi-dai-link {
>> +            link-name = "HDMI Playback";
>> +            cpu {
>> +                sound-dai = <&q6afedai TERTIARY_MI2S_RX>;
>> +            };
>> +
>> +            platform {
>> +                sound-dai = <&q6routing>;
>> +            };
>> +
>> +            codec {
>> +                sound-dai = <&lt9611_codec 0>;
>> +            };
>> +        };
>> +
>> +        wsa-dai-link {
>> +            link-name = "WSA Playback";
>> +            cpu {
>> +                sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
>> +            };
>> +
>> +            platform {
>> +                sound-dai = <&q6routing>;
>> +            };
>> +
>> +            codec {
>> +                sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro>;
>> +            };
>> +        };
>> +
>> +        va-dai-link {
>> +            link-name = "VA Capture";
>> +            cpu {
>> +                sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
>> +            };
>> +
>> +            platform {
>> +                sound-dai = <&q6routing>;
>> +            };
>> +
>> +            codec {
>> +                sound-dai = <&vamacro 0>;
>> +            };
>> +        };
>> +    };
>> -- 
>> 2.21.0
>>


More information about the Alsa-devel mailing list