Re: [PATCH v1 1/2] dt-bindings: sound: add qcom,wsa885x-i2c

From: Linus Walleij

Date: Wed Jun 10 2026 - 17:20:31 EST


Hi Prasad,

thanks for your patch!

On Wed, Jun 10, 2026 at 5:57 PM Prasad Kumpatla
<prasad.kumpatla@xxxxxxxxxxxxxxxx> wrote:

> Document the Qualcomm WSA885X I2C smart amplifier binding.

Skip I2C? We don't need to tell e.g. "PCI" in some device on PCI and
there is no reason to mention I2C for this device, the fact that it sits
on an I2C bus will be apparent later.

> Describe the required supplies, powerdown and interrupt GPIOs, the
> optional battery configuration, and the optional init-table property
> used to program the device during codec initialization.
>
> This matches the driver programming model and documents the DT data
> needed to use the codec on platforms with Audio IF playback.
>
> Signed-off-by: Prasad Kumpatla <prasad.kumpatla@xxxxxxxxxxxxxxxx>

Perhaps add
Link: https://www.qualcomm.com/audio/applications/compute-and-mobile-audio/products/wsa8815

(...)
> ---
> .../bindings/sound/qcom,wsa885x-i2c.yaml | 89 +++++++++++++++++++
> 1 file changed, 89 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/sound/qcom,wsa885x-i2c.yaml
>
> diff --git a/Documentation/devicetree/bindings/sound/qcom,wsa885x-i2c.yaml b/Documentation/devicetree/bindings/sound/qcom,wsa885x-i2c.yaml

Drop the -i2c suffix on the files.

> new file mode 100644
> index 000000000..1069f470d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/qcom,wsa885x-i2c.yaml
> @@ -0,0 +1,89 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/qcom,wsa885x-i2c.yaml#

Drop the -i2c suffix.

> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm WSA885x I2C smart speaker amplifier

Drop I2C.

> +maintainers:
> + - Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxxxxxxxx>
> + - Prasad Kumpatla <prasad.kumpatla@xxxxxxxxxxxxxxxx>
> +
> +description: |
> + WSA885x is a Qualcomm Aqstic smart speaker amplifier with an I2C control
> + interface and a digital audio interface exposed through ASoC DAI callbacks.
> +
> +allOf:
> + - $ref: dai-common.yaml#
> +
> +properties:
> + compatible:
> + const: qcom,wsa885x-i2c

Drop -i2c

> + reg:
> + maxItems: 1
> +
> + '#sound-dai-cells':
> + const: 0
> +
> + powerdown-gpios:
> + description: GPIO controlling the SD_N powerdown pin.
> + maxItems: 1
> +
> + interrupt-gpios:
> + description: GPIO used for the codec interrupt output.
> + maxItems: 1
> +
> + vdd-1p8-supply: true
> +
> + vdd-io-supply: true
> +
> + qcom,battery-config:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: Speaker battery configuration, 1 for 1S and 2 for 2S.

What is a "1S" and a "2S"? Include description here.

> + default: 1
> + enum: [1, 2]
> +
> + qcom,wsa885x-init-table:
> + $ref: /schemas/types.yaml#/definitions/uint32-array
> + minItems: 2
> + maxItems: 256
> + description: |
> + Sequence of register/value pairs applied during codec hardware
> + initialization. Entries are encoded as alternating register address and
> + register value cells. The number of entries must be even (register/value
> + pairs); maxItems is 256 (128 pairs).

Can this just be a table inside the driver, if it will be the same
array for every user? If this is board-unique then it needs to describe
what each value is actually doing well enough so engineers can use this
documentation right here to configure their board without looking through
register maps and what not.

Something more abstract using SI units etc is probably needed here.

Yours,
Linus Walleij