Message ID | 20241101053154.497550-7-alexey.klimov@linaro.org |
---|---|
State | Changes Requested |
Headers | show |
Series | qrb4210-rb2: add wsa/wcd audio playback support | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | success | |
robh/patch-applied | success | |
robh/dtbs-check | warning | build log |
robh/dt-meta-schema | success |
On Fri, Nov 01, 2024 at 05:31:50AM +0000, Alexey Klimov wrote: > Add binding document for WSA881X family of smart speaker amplifiers > that set to work in analog mode only and configurable via i2c only. > Such devices are found in Qualcomm QRB4210 RB2 boards with > SM4250/SM6115 SoCs. > > Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org> > --- > .../bindings/sound/qcom,wsa881x-i2c.yaml | 103 ++++++++++++++++++ > 1 file changed, 103 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml > > diff --git a/Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml b/Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml > new file mode 100644 > index 000000000000..51b040b134d2 > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml Filename must match compatible. > @@ -0,0 +1,103 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/qcom,wsa881x-i2c.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm WSA8810/WSA8815 Class-D Smart Speaker Amplifier in Analog mode > + > +maintainers: > + - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > + - Alexey Klimov <alexey.klimov@linaro.org> > + > +description: | > + WSA8810 is a class-D smart speaker amplifier and WSA8815 > + is a high-output power class-D smart speaker amplifier. > + Their primary operating mode uses a SoundWire digital audio > + interface however the amplifier also supports analog mode and it > + can be controlled via I2C. This binding is for I2C interface. > + > +allOf: > + - $ref: dai-common.yaml# > + > +properties: > + compatible: > + const: qcom,qrb4210-wsa881x-i2c-codec qrb4210 is a name of a board, not codec. i2c is redundant, codec as well. 'x' is not allowed. This is qcom,wsa8810 and qcom,wsa8815 compatible with it. > + > + reg: > + maxItems: 1 > + > + clocks: > + description: Master clock for WSA amplifier > + maxItems: 1 > + > + clock-names: > + description: Master clock name No, this has to be constrained. Please look how other bindings do it. Anyway, just drop names, not really useful for one entry. > + maxItems: 1 > + > + powerdown-gpios: > + description: GPIO spec for Powerdown/Shutdown line to use > + maxItems: 1 > + > + mclk-gpios: > + description: GPIO spec for mclk > + maxItems: 1 > + > + '#sound-dai-cells': > + const: 0 > + > +required: > + - compatible > + - clocks > + - reg > + - powerdown-gpios > + - mclk-gpios > + - "#sound-dai-cells" Keep consistent quotes, either ' or " > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + #include <dt-bindings/sound/qcom,q6afe.h> > + > + i2c0 { i2c > + #address-cells = <1>; > + #size-cells = <0>; > + > + wsa881x@e { Node names should be generic. See also an explanation and list of examples (not exhaustive) in DT specification: https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation > + compatible = "qcom,qrb4210-wsa881x-i2c-codec"; > + reg = <0x0e>; > + clocks = <&q6afecc LPASS_CLK_ID_MCLK_3 LPASS_CLK_ATTRIBUTE_COUPLE_NO>; > + powerdown-gpios = <&lpass_tlmm 16 GPIO_ACTIVE_LOW>; > + mclk-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_HIGH>; > + #sound-dai-cells = <0>; > + }; > + }; > + > + i2c1 { > + #address-cells = <1>; > + #size-cells = <0>; > + That's the same example, drop. Best regards, Krzysztof
On Fri, Nov 01, 2024 at 08:57:26AM +0100, Krzysztof Kozlowski wrote: > On Fri, Nov 01, 2024 at 05:31:50AM +0000, Alexey Klimov wrote: > > Add binding document for WSA881X family of smart speaker amplifiers > > that set to work in analog mode only and configurable via i2c only. > > Such devices are found in Qualcomm QRB4210 RB2 boards with > > SM4250/SM6115 SoCs. > > > > Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > > Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > > Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org> > > --- > > .../bindings/sound/qcom,wsa881x-i2c.yaml | 103 ++++++++++++++++++ > > 1 file changed, 103 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml > > > > diff --git a/Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml b/Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml > > new file mode 100644 > > index 000000000000..51b040b134d2 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml > > Filename must match compatible. Wait, there is already binding for this device: qcom,wsa881x.yaml. This has to be there, it's the same device, exactly the same. Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml b/Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml new file mode 100644 index 000000000000..51b040b134d2 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml @@ -0,0 +1,103 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/qcom,wsa881x-i2c.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm WSA8810/WSA8815 Class-D Smart Speaker Amplifier in Analog mode + +maintainers: + - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> + - Alexey Klimov <alexey.klimov@linaro.org> + +description: | + WSA8810 is a class-D smart speaker amplifier and WSA8815 + is a high-output power class-D smart speaker amplifier. + Their primary operating mode uses a SoundWire digital audio + interface however the amplifier also supports analog mode and it + can be controlled via I2C. This binding is for I2C interface. + +allOf: + - $ref: dai-common.yaml# + +properties: + compatible: + const: qcom,qrb4210-wsa881x-i2c-codec + + reg: + maxItems: 1 + + clocks: + description: Master clock for WSA amplifier + maxItems: 1 + + clock-names: + description: Master clock name + maxItems: 1 + + powerdown-gpios: + description: GPIO spec for Powerdown/Shutdown line to use + maxItems: 1 + + mclk-gpios: + description: GPIO spec for mclk + maxItems: 1 + + '#sound-dai-cells': + const: 0 + +required: + - compatible + - clocks + - reg + - powerdown-gpios + - mclk-gpios + - "#sound-dai-cells" + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + #include <dt-bindings/sound/qcom,q6afe.h> + + i2c0 { + #address-cells = <1>; + #size-cells = <0>; + + wsa881x@e { + compatible = "qcom,qrb4210-wsa881x-i2c-codec"; + reg = <0x0e>; + clocks = <&q6afecc LPASS_CLK_ID_MCLK_3 LPASS_CLK_ATTRIBUTE_COUPLE_NO>; + powerdown-gpios = <&lpass_tlmm 16 GPIO_ACTIVE_LOW>; + mclk-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_HIGH>; + #sound-dai-cells = <0>; + }; + }; + + i2c1 { + #address-cells = <1>; + #size-cells = <0>; + + wsa881x-right@e { + compatible = "qcom,qrb4210-wsa881x-i2c-codec"; + reg = <0x0e>; + clocks = <&q6afecc LPASS_CLK_ID_MCLK_3 LPASS_CLK_ATTRIBUTE_COUPLE_NO>; + powerdown-gpios = <&lpass_tlmm 16 GPIO_ACTIVE_LOW>; + mclk-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_HIGH>; + sound-name-prefix = "SpkrRight"; + #sound-dai-cells = <0>; + }; + + wsa881x-left@f { + compatible = "qcom,qrb4210-wsa881x-i2c-codec"; + reg = <0x0f>; + clocks = <&q6afecc LPASS_CLK_ID_MCLK_2 LPASS_CLK_ATTRIBUTE_COUPLE_NO>; + powerdown-gpios = <&lpass_tlmm 6 GPIO_ACTIVE_LOW>; + mclk-gpios = <&lpass_tlmm 8 GPIO_ACTIVE_HIGH>; + sound-name-prefix = "SpkrLeft"; + #sound-dai-cells = <0>; + }; + }; + +...
Add binding document for WSA881X family of smart speaker amplifiers that set to work in analog mode only and configurable via i2c only. Such devices are found in Qualcomm QRB4210 RB2 boards with SM4250/SM6115 SoCs. Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org> --- .../bindings/sound/qcom,wsa881x-i2c.yaml | 103 ++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/qcom,wsa881x-i2c.yaml