Message ID | 1635519876-7112-2-git-send-email-srivasam@codeaurora.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Machine driver to support LPASS SC7280 sound card registration | expand |
Quoting Srinivasa Rao Mandadapu (2021-10-29 08:04:35) > diff --git a/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml > new file mode 100644 > index 0000000..3a781c8 > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml > @@ -0,0 +1,170 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/google,sc7280-herobrine.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Google SC7280-Herobrine ASoC sound card driver > + > +maintainers: > + - Srinivasa Rao Mandadapu <srivasam@codeaurora.org> > + - Judy Hsiao <judyhsiao@chromium.org> > + > +description: > + This binding describes the SC7280 sound card which uses LPASS for audio. > + > +properties: > + compatible: > + enum: > + - google,sc7280-herobrine > + > + 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. > + > + model: > + $ref: /schemas/types.yaml#/definitions/string > + description: User specified audio sound card name > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > +patternProperties: > + "^dai-link@[0-9a-f]$": > + 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 > + > + reg: > + maxItems: 1 > + description: dai link address. > + > + cpu: > + description: Holds subnode which indicates cpu dai. > + type: object > + properties: > + sound-dai: true Is sound-dai required? And additionalProperties is false? I think we need that yet again. > + > + codec: > + description: Holds subnode which indicates codec dai. > + type: object > + properties: > + sound-dai: true > + Same here. > + required: > + - link-name > + - cpu > + - codec > + - reg > + > + additionalProperties: false > +
On Fri, 29 Oct 2021 20:34:35 +0530, Srinivasa Rao Mandadapu wrote: > Add devicetree bindings documentation file for sc7280 sound card > registration. > > Signed-off-by: Srinivasa Rao Mandadapu <srivasam@codeaurora.org> > --- > .../bindings/sound/google,sc7280-herobrine.yaml | 170 +++++++++++++++++++++ > 1 file changed, 170 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: Error: Documentation/devicetree/bindings/sound/google,sc7280-herobrine.example.dts:46.24-25 syntax error FATAL ERROR: Unable to parse input tree make[1]: *** [scripts/Makefile.lib:385: Documentation/devicetree/bindings/sound/google,sc7280-herobrine.example.dt.yaml] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:1441: dt_binding_check] Error 2 doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/patch/1548069 This check can fail if there are any dependencies. The base for a patch series is generally the most recent rc1. 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.
On 10/30/2021 12:37 AM, Stephen Boyd wrote: Thanks for Your time Stephen!!! > Quoting Srinivasa Rao Mandadapu (2021-10-29 08:04:35) >> diff --git a/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml >> new file mode 100644 >> index 0000000..3a781c8 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml >> @@ -0,0 +1,170 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/sound/google,sc7280-herobrine.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Google SC7280-Herobrine ASoC sound card driver >> + >> +maintainers: >> + - Srinivasa Rao Mandadapu <srivasam@codeaurora.org> >> + - Judy Hsiao <judyhsiao@chromium.org> >> + >> +description: >> + This binding describes the SC7280 sound card which uses LPASS for audio. >> + >> +properties: >> + compatible: >> + enum: >> + - google,sc7280-herobrine >> + >> + 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. >> + >> + model: >> + $ref: /schemas/types.yaml#/definitions/string >> + description: User specified audio sound card name >> + >> + "#address-cells": >> + const: 1 >> + >> + "#size-cells": >> + const: 0 >> + >> +patternProperties: >> + "^dai-link@[0-9a-f]$": >> + 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 >> + >> + reg: >> + maxItems: 1 >> + description: dai link address. >> + >> + cpu: >> + description: Holds subnode which indicates cpu dai. >> + type: object >> + properties: >> + sound-dai: true > Is sound-dai required? And additionalProperties is false? I think we > need that yet again. Okay. Will mark additionalPropertiesas true. > >> + >> + codec: >> + description: Holds subnode which indicates codec dai. >> + type: object >> + properties: >> + sound-dai: true >> + > Same here. > >> + required: >> + - link-name >> + - cpu >> + - codec >> + - reg >> + >> + additionalProperties: false >> +
On Tue, Nov 2, 2021 at 5:57 AM Srinivasa Rao Mandadapu <srivasam@codeaurora.org> wrote: > > > On 10/30/2021 12:37 AM, Stephen Boyd wrote: > Thanks for Your time Stephen!!! > > Quoting Srinivasa Rao Mandadapu (2021-10-29 08:04:35) > >> diff --git a/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml > >> new file mode 100644 > >> index 0000000..3a781c8 > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml > >> @@ -0,0 +1,170 @@ > >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > >> +%YAML 1.2 > >> +--- > >> +$id: http://devicetree.org/schemas/sound/google,sc7280-herobrine.yaml# > >> +$schema: http://devicetree.org/meta-schemas/core.yaml# > >> + > >> +title: Google SC7280-Herobrine ASoC sound card driver > >> + > >> +maintainers: > >> + - Srinivasa Rao Mandadapu <srivasam@codeaurora.org> > >> + - Judy Hsiao <judyhsiao@chromium.org> > >> + > >> +description: > >> + This binding describes the SC7280 sound card which uses LPASS for audio. > >> + > >> +properties: > >> + compatible: > >> + enum: > >> + - google,sc7280-herobrine > >> + > >> + 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. > >> + > >> + model: > >> + $ref: /schemas/types.yaml#/definitions/string > >> + description: User specified audio sound card name > >> + > >> + "#address-cells": > >> + const: 1 > >> + > >> + "#size-cells": > >> + const: 0 > >> + > >> +patternProperties: > >> + "^dai-link@[0-9a-f]$": > >> + 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 > >> + > >> + reg: > >> + maxItems: 1 > >> + description: dai link address. > >> + > >> + cpu: > >> + description: Holds subnode which indicates cpu dai. > >> + type: object > >> + properties: > >> + sound-dai: true > > Is sound-dai required? And additionalProperties is false? I think we > > need that yet again. > Okay. Will mark additionalPropertiesas true. 'additiionalProperties: true' is almost never right. It's generally only correct for schemas that are incomplete collections of properties. Rob
On 11/6/2021 7:00 AM, Rob Herring wrote: Thanks for Your time Rob!!! > On Tue, Nov 2, 2021 at 5:57 AM Srinivasa Rao Mandadapu > <srivasam@codeaurora.org> wrote: >> >> On 10/30/2021 12:37 AM, Stephen Boyd wrote: >> Thanks for Your time Stephen!!! >>> Quoting Srinivasa Rao Mandadapu (2021-10-29 08:04:35) >>>> diff --git a/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml >>>> new file mode 100644 >>>> index 0000000..3a781c8 >>>> --- /dev/null >>>> +++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml >>>> @@ -0,0 +1,170 @@ >>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>>> +%YAML 1.2 >>>> +--- >>>> +$id: http://devicetree.org/schemas/sound/google,sc7280-herobrine.yaml# >>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>> + >>>> +title: Google SC7280-Herobrine ASoC sound card driver >>>> + >>>> +maintainers: >>>> + - Srinivasa Rao Mandadapu <srivasam@codeaurora.org> >>>> + - Judy Hsiao <judyhsiao@chromium.org> >>>> + >>>> +description: >>>> + This binding describes the SC7280 sound card which uses LPASS for audio. >>>> + >>>> +properties: >>>> + compatible: >>>> + enum: >>>> + - google,sc7280-herobrine >>>> + >>>> + 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. >>>> + >>>> + model: >>>> + $ref: /schemas/types.yaml#/definitions/string >>>> + description: User specified audio sound card name >>>> + >>>> + "#address-cells": >>>> + const: 1 >>>> + >>>> + "#size-cells": >>>> + const: 0 >>>> + >>>> +patternProperties: >>>> + "^dai-link@[0-9a-f]$": >>>> + 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 >>>> + >>>> + reg: >>>> + maxItems: 1 >>>> + description: dai link address. >>>> + >>>> + cpu: >>>> + description: Holds subnode which indicates cpu dai. >>>> + type: object >>>> + properties: >>>> + sound-dai: true >>> Is sound-dai required? And additionalProperties is false? I think we >>> need that yet again. >> Okay. Will mark additionalPropertiesas true. > 'additiionalProperties: true' is almost never right. It's generally > only correct for schemas that are incomplete collections of > properties. > > Rob As per Stephen Suggestion. thought it's a solution. The sound-dai required here, and same is fallowed in SC7180 machine driver bindings. Could You please suggest better approach on this?
On Mon, Nov 8, 2021 at 1:35 AM Srinivasa Rao Mandadapu <srivasam@codeaurora.org> wrote: > > > On 11/6/2021 7:00 AM, Rob Herring wrote: > Thanks for Your time Rob!!! > > On Tue, Nov 2, 2021 at 5:57 AM Srinivasa Rao Mandadapu > > <srivasam@codeaurora.org> wrote: > >> > >> On 10/30/2021 12:37 AM, Stephen Boyd wrote: > >> Thanks for Your time Stephen!!! > >>> Quoting Srinivasa Rao Mandadapu (2021-10-29 08:04:35) > >>>> diff --git a/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml > >>>> new file mode 100644 > >>>> index 0000000..3a781c8 > >>>> --- /dev/null > >>>> +++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml > >>>> @@ -0,0 +1,170 @@ > >>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > >>>> +%YAML 1.2 > >>>> +--- > >>>> +$id: http://devicetree.org/schemas/sound/google,sc7280-herobrine.yaml# > >>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# > >>>> + > >>>> +title: Google SC7280-Herobrine ASoC sound card driver > >>>> + > >>>> +maintainers: > >>>> + - Srinivasa Rao Mandadapu <srivasam@codeaurora.org> > >>>> + - Judy Hsiao <judyhsiao@chromium.org> > >>>> + > >>>> +description: > >>>> + This binding describes the SC7280 sound card which uses LPASS for audio. > >>>> + > >>>> +properties: > >>>> + compatible: > >>>> + enum: > >>>> + - google,sc7280-herobrine > >>>> + > >>>> + 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. > >>>> + > >>>> + model: > >>>> + $ref: /schemas/types.yaml#/definitions/string > >>>> + description: User specified audio sound card name > >>>> + > >>>> + "#address-cells": > >>>> + const: 1 > >>>> + > >>>> + "#size-cells": > >>>> + const: 0 > >>>> + > >>>> +patternProperties: > >>>> + "^dai-link@[0-9a-f]$": > >>>> + 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 > >>>> + > >>>> + reg: > >>>> + maxItems: 1 > >>>> + description: dai link address. > >>>> + > >>>> + cpu: > >>>> + description: Holds subnode which indicates cpu dai. > >>>> + type: object > >>>> + properties: > >>>> + sound-dai: true > >>> Is sound-dai required? And additionalProperties is false? I think we > >>> need that yet again. > >> Okay. Will mark additionalPropertiesas true. > > 'additiionalProperties: true' is almost never right. It's generally > > only correct for schemas that are incomplete collections of > > properties. > > > > Rob > > As per Stephen Suggestion. thought it's a solution. > > The sound-dai required here, and same is fallowed in SC7180 machine > driver bindings. > > Could You please suggest better approach on this? Exactly what Stephen said, add: required: - sound-dai additionalProperties: false
diff --git a/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml new file mode 100644 index 0000000..3a781c8 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml @@ -0,0 +1,170 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/google,sc7280-herobrine.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Google SC7280-Herobrine ASoC sound card driver + +maintainers: + - Srinivasa Rao Mandadapu <srivasam@codeaurora.org> + - Judy Hsiao <judyhsiao@chromium.org> + +description: + This binding describes the SC7280 sound card which uses LPASS for audio. + +properties: + compatible: + enum: + - google,sc7280-herobrine + + 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. + + model: + $ref: /schemas/types.yaml#/definitions/string + description: User specified audio sound card name + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + +patternProperties: + "^dai-link@[0-9a-f]$": + 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 + + reg: + maxItems: 1 + description: dai link address. + + cpu: + description: Holds subnode which indicates cpu 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 + - codec + - reg + + additionalProperties: false + +required: + - compatible + - model + - "#address-cells" + - "#size-cells" + +additionalProperties: false + +examples: + + - | + #include <dt-bindings/sound/qcom,lpass.h> + sound { + compatible = "google,sc7280-herobrine"; + model = "sc7280-wcd938x-max98360a-4dmic"; + + audio-routing = + "IN1_HPHL", "HPHL_OUT", + "IN2_HPHR", "HPHR_OUT", + "AMIC1", "MIC BIAS1", + "AMIC2", "MIC BIAS2", + "VA DMIC0", "MIC BIAS3", + "VA DMIC1", "MIC BIAS3", + "VA DMIC2", "MIC BIAS4", + "VA DMIC3", "MIC BIAS4", + "TX SWR_ADC0", "ADC1_OUTPUT", + "TX SWR_ADC1", "ADC2_OUTPUT", + "TX SWR_ADC2", "ADC3_OUTPUT", + "TX SWR_DMIC0", "DMIC1_OUTPUT", + "TX SWR_DMIC1", "DMIC2_OUTPUT", + "TX SWR_DMIC2", "DMIC3_OUTPUT", + "TX SWR_DMIC3", "DMIC4_OUTPUT"; + + #address-cells = <1>; + #size-cells = <0>; + + dai-link@0 { + link-name = "WCD Playback"; + reg = <LPASS_CDC_DMA_RX0>; + cpu { + sound-dai = <&lpass_cpu LPASS_CDC_DMA_RX0>; + }; + + codec { + sound-dai = <&wcd938x 0>, <&swr0 0>, <&rxmacro 0>; + }; + }; + dai-link@1 { + link-name = "WCD Capture"; + reg = <LPASS_CDC_DMA_TX3>; + cpu { + sound-dai = <&lpass_cpu LPASS_CDC_DMA_TX3>; + }; + + codec { + sound-dai = <&wcd938x 1>, <&swr1 0>, <&txmacro 0>; + }; + }; + + dai-link@2 { + link-name = "MI2S Playback"; + reg = <MI2S_SECONDARY>; + cpu { + sound-dai = <&lpass_cpu MI2S_SECONDARY>; + }; + + codec { + sound-dai = <&max98360a>; + }; + }; + + dai-link@3 { + link-name = "DMIC Capture"; + reg = <LPASS_CDC_DMA_VA_TX0>; + cpu { + sound-dai = <&lpass_cpu LPASS_CDC_DMA_VA_TX0>; + }; + + codec { + sound-dai = <&vamacro 0>; + }; + }; + + dai-link@5 { + link-name = "DP Playback"; + reg = <LPASS_DP_RX>; + cpu { + sound-dai = <&lpass_cpu LPASS_DP_RX>; + }; + + codec { + sound-dai = <&mdss_dp>; + }; + }; + };
Add devicetree bindings documentation file for sc7280 sound card registration. Signed-off-by: Srinivasa Rao Mandadapu <srivasam@codeaurora.org> --- .../bindings/sound/google,sc7280-herobrine.yaml | 170 +++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml