Skip to content

Commit

Permalink
ASoC: dt-bindings: cirrus,cs4271: Convert to dtschema
Browse files Browse the repository at this point in the history
Convert the Cirrus Logic CS4271 audio CODEC bindings to DT schema.

Add missing spi-cpha, spi-cpol, '#sound-dai-cells' and port, as they
are already being used in the DTS and the driver for this device.

Switch to 'reset-gpios' and drop legacy 'reset-gpio' used in original
bindings.

Based on Animesh Agarwal cs42xx8 conversion patch.

Cc: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Link: https://lore.kernel.org/all/20240715-ep93xx-v11-0-4e924efda795@maquefel.me
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20240829-cs4271-yaml-v3-1-f1624cc838f6@maquefel.me
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Nikita Shubin authored and Mark Brown committed Aug 29, 2024
1 parent 125b749 commit 7817eb1
Show file tree
Hide file tree
Showing 2 changed files with 101 additions and 57 deletions.
101 changes: 101 additions & 0 deletions Documentation/devicetree/bindings/sound/cirrus,cs4271.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/cirrus,cs4271.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cirrus Logic CS4271 audio CODEC

maintainers:
- Alexander Sverdlin <alexander.sverdlin@gmail.com>
- Nikita Shubin <nikita.shubin@maquefel.me>

description:
The CS4271 is a stereo audio codec. This device supports both the I2C
and the SPI bus.

allOf:
- $ref: dai-common.yaml#
- $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
compatible:
const: cirrus,cs4271

reg:
maxItems: 1

spi-cpha: true

spi-cpol: true

'#sound-dai-cells':
const: 0

reset-gpios:
description:
This pin will be deasserted before communication to the codec starts.
maxItems: 1

va-supply:
description: Analog power supply.

vd-supply:
description: Digital power supply.

vl-supply:
description: Serial Control Port power supply.

port:
$ref: audio-graph-port.yaml#
unevaluatedProperties: false

cirrus,amuteb-eq-bmutec:
description:
When given, the Codec's AMUTEB=BMUTEC flag is enabled.
type: boolean

cirrus,enable-soft-reset:
description: |
The CS4271 requires its LRCLK and MCLK to be stable before its RESET
line is de-asserted. That also means that clocks cannot be changed
without putting the chip back into hardware reset, which also requires
a complete re-initialization of all registers.
One (undocumented) workaround is to assert and de-assert the PDN bit
in the MODE2 register. This workaround can be enabled with this DT
property.
Note that this is not needed in case the clocks are stable
throughout the entire runtime of the codec.
type: boolean

required:
- compatible
- reg

unevaluatedProperties: false

examples:
- |
#include <dt-bindings/gpio/gpio.h>
spi {
#address-cells = <1>;
#size-cells = <0>;
codec@0 {
compatible = "cirrus,cs4271";
reg = <0>;
#sound-dai-cells = <0>;
spi-max-frequency = <6000000>;
spi-cpol;
spi-cpha;
reset-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
port {
endpoint {
remote-endpoint = <&i2s_ep>;
};
};
};
};
...
57 changes: 0 additions & 57 deletions Documentation/devicetree/bindings/sound/cs4271.txt

This file was deleted.

0 comments on commit 7817eb1

Please sign in to comment.