Re: [PATCH v2] ASoC: dt-bindings: cirrus,cs4271: Convert to dtschema

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Tue, Aug 27, 2024 at 12:49:18PM +0300, Nikita Shubin via B4 Relay wrote:
> From: Nikita Shubin <nikita.shubin@xxxxxxxxxxx>
> 
> 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.
> 
> Based on Animesh Agarwal cs42xx8 conversion patch.
> 
> Keep the original 'reset-gpio' used in bindings,
> instead of 'reset-gpios' used in cs42xx8.
> 
> Cc: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx>
> Link: https://lore.kernel.org/all/20240715-ep93xx-v11-0-4e924efda795@xxxxxxxxxxx
> Signed-off-by: Nikita Shubin <nikita.shubin@xxxxxxxxxxx>
> ---
> This is complementary patch to ep93xx DT conversion series.
> 
> Based on "ASoC: dt-bindings: cirrus,cs4270: Convert to dtschema" patch.
> 
> Krzysztof, thank you very much for quick review!
> ---
> Changes in v2:
> Krzysztof Kozlowski:
> - fix SoB above link
> - replace 'driver' with 'device'
> - mention properties not present in original bindings
> - mention using 'gpio-reset' instead of 'gpios-reset'
> - dropped unused label
> - use defines for gpio bindings
> - newline at end of file
> - Link to v1: https://lore.kernel.org/r/20240826-cs4271-yaml-v1-1-dad3f0b041ef@xxxxxxxxxxx
> ---
>  .../devicetree/bindings/sound/cirrus,cs4271.yaml   | 101 +++++++++++++++++++++
>  Documentation/devicetree/bindings/sound/cs4271.txt |  57 ------------
>  2 files changed, 101 insertions(+), 57 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/sound/cirrus,cs4271.yaml b/Documentation/devicetree/bindings/sound/cirrus,cs4271.yaml
> new file mode 100644
> index 000000000000..cc5b48ceafa4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/cirrus,cs4271.yaml
> @@ -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@xxxxxxxxx>
> +  - Nikita Shubin <nikita.shubin@xxxxxxxxxxx>
> +
> +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-gpio:

I wasn't clear... reset-gpios and mention that you switched to
non-deprecated gpios suffix.

> +    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>;
> +        cs4271@0 {

Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation

audio-codec or codec

Best regards,
Krzysztof





[Index of Archives]     [Pulseaudio]     [Linux Audio Users]     [ALSA Devel]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux