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

From: Prasad Kumpatla

Date: Tue Jun 23 2026 - 04:59:22 EST



On 6/11/2026 2:50 AM, Linus Walleij wrote:
Hi Prasad,

thanks for your patch!

Hi Linus Walleij,

Thanks for reviewing the patch and for the feedback.


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.

Ack, Will rename the file name.


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

(...)
Checking internal to get product Doc to publish.
---
.../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.
Ack, Will update.

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.
Ack, Will update.

+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm WSA885x I2C smart speaker amplifier
Drop I2C.
Ack, Will update.

+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
Ack, Will update.

+ 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.
Ack, Will Update more details for 1s and 2s in next version.

+ 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.

These values are part of a fixed hardware initialization sequence and are not board-specific.

I'll move them into the driver as a register table, making them easier to maintain and

avoiding opaque DT data.

Thanks,

Prasad


Yours,
Linus Walleij