Re: [PATCH v2] ASoC: dt-bindings: Convert cirrus,cs35l36 to DT schema

From: David Heidelberg

Date: Wed Jun 24 2026 - 16:05:11 EST


On 24/06/2026 21:45, Rob Herring wrote:
On Wed, Jun 24, 2026 at 08:39:28PM +0200, David Heidelberg wrote:
On 24/06/2026 20:17, Rob Herring wrote:
On Wed, Jun 24, 2026 at 11:02 AM David Heidelberg via B4 Relay
<devnull+david.ixit.cz@xxxxxxxxxx> wrote:

From: David Heidelberg <david@xxxxxxx>

Convert CS35L36 Speaker Amplifier to yaml.

Changes:
- maintainers email to the generic Cirrus email
- Both the codec and downstream worked just fine without
VP-supply provided. Align with datasheet for similar models.
- add dai-common.yaml to cover for '#sound-dai-cells',
'sound-name-prefix'

Reviewed-by: David Rhodes <David.Rhodes@xxxxxxxxxx>

If you are going to take stuff I haven't fixed:

Assisted-by: OpenAI:gpt-4

(I don't remember the exact flavor I used)

Co-developed-by: Rob Herring (Arm) <robh@xxxxxxxxxx>
Signed-off-by: Rob Herring (Arm) <robh@xxxxxxxxxx>
Signed-off-by: David Heidelberg <david@xxxxxxx>
---
Relevant for Pixel 3 / 3XL / 4.
---
Changes in v2:
- Rename the commit. (Mark)
- Link to v1: https://lore.kernel.org/r/20260618-dt-cirrus-cs35l36-v1-1-1a43515666ad@xxxxxxx
---
.../devicetree/bindings/sound/cirrus,cs35l36.yaml | 224 +++++++++++++++++++++
.../devicetree/bindings/sound/cs35l36.txt | 168 ----------------
2 files changed, 224 insertions(+), 168 deletions(-)

diff --git a/Documentation/devicetree/bindings/sound/cirrus,cs35l36.yaml b/Documentation/devicetree/bindings/sound/cirrus,cs35l36.yaml
new file mode 100644
index 0000000000000..af0acaaefb68e
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/cirrus,cs35l36.yaml
@@ -0,0 +1,224 @@
+# SPDX-License-Identifier: GPL-2.0-only
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/cirrus,cs35l36.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logic CS35L36 Speaker Amplifier
+
+maintainers:
+ - patches@xxxxxxxxxxxxxxxxxxxxx
+ - Bjorn Helgaas <bhelgaas@xxxxxxxxxx>

Bjorn is not correct. Generally we want a person, not a company list.

I'm adding back James, can I keep the patches at 2nd place?

Yes.

+ cirrus,vpbr-thld:
+ description: Initial VPBR threshold voltage
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ cirrus,vpbr-atk-rate:
+ description: Attenuation attack step rate
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ cirrus,vpbr-atk-vol:
+ description: VP brownout prevention step size
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ cirrus,vpbr-max-attn:
+ description: Maximum attenuation during VP brownout prevention
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ cirrus,vpbr-wait:
+ description: Delay between brownout clearance and attenuation release
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ cirrus,vpbr-rel-rate:
+ description: Attenuation release step rate
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ cirrus,vpbr-mute-en:
+ description: Mute audio if maximum attenuation reached
+ $ref: /schemas/types.yaml#/definitions/uint32

Constraints on any of these?

Code just applies whatever is thrown at it, maybe David knows more?

#nodatasheet (but would be lovely to have one)

Unless the driver just takes these values and shoves them straight into
a 32-bit register, the driver should give some clue about the size or
possible values.

Okay, that's me being too lazy. Fair enough, I'll fill the constraints :)

Thanks
David


Rob

--
David Heidelberg