mirror of
https://github.com/torvalds/linux.git
synced 2024-12-03 17:41:22 +00:00
7817eb1ad3
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>
102 lines
2.3 KiB
YAML
102 lines
2.3 KiB
YAML
# 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>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
...
|