Message ID | 1631539062-28577-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-09-13 06:17:41) > 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..e0d705f > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml > @@ -0,0 +1,169 @@ > +# 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 Shouldn't sound-dai be required? > + > + codec: > + description: Holds subnode which indicates codec dai. > + type: object > + properties: > + sound-dai: true Shouldn't sound-dai be required? I don't know but maybe also additional properties is false for this node too? > + > + required: > + - link-name > + - cpu > + - codec Should 'reg' be required? > + > + additionalProperties: false
On Mon, 13 Sep 2021 18:47:41 +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 | 169 +++++++++++++++++++++ > 1 file changed, 169 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/1527380 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 9/14/2021 1:21 AM, Stephen Boyd wrote: > Quoting Srinivasa Rao Mandadapu (2021-09-13 06:17:41) >> 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..e0d705f >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml >> @@ -0,0 +1,169 @@ >> +# 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 > Shouldn't sound-dai be required? Sorry. I didn't get your Query. You mean in below "required:" properties need to add sound-dai also? > >> + >> + codec: >> + description: Holds subnode which indicates codec dai. >> + type: object >> + properties: >> + sound-dai: true > Shouldn't sound-dai be required? I don't know but maybe also additional > properties is false for this node too? > >> + >> + required: >> + - link-name >> + - cpu >> + - codec > Should 'reg' be required? Okay. I think reg is required. will check and update it. > >> + >> + additionalProperties: false
Quoting Srinivasa Rao Mandadapu (2021-09-15 04:15:43) > > On 9/14/2021 1:21 AM, Stephen Boyd wrote: > > Quoting Srinivasa Rao Mandadapu (2021-09-13 06:17:41) > >> 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..e0d705f > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml > >> +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 > > Shouldn't sound-dai be required? > Sorry. I didn't get your Query. You mean in below "required:" properties > need to add sound-dai also? I'd expect there to be a required: list for the 'cpu' and 'codec' objects that says sound-dai, unless that is implicit somehow. I'm definitely not an expert in the DT yaml, but I suspect two more 'required:' sections are needed so that 'sound-dai' isn't an optional property.
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..e0d705f --- /dev/null +++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml @@ -0,0 +1,169 @@ +# 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 + + 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 | 169 +++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml