Re: [PATCH 1/2] ASoC: dt-bindings: Added schema for "nuvoton,nau8325"

From: Conor Dooley
Date: Mon Jan 22 2024 - 13:28:43 EST


On Mon, Jan 22, 2024 at 05:56:49PM +0800, Seven Lee wrote:
> Added a DT schema for describing nau8325 audio amplifiers.
>
> Signed-off-by: Seven Lee <wtli@xxxxxxxxxxx>
> ---
> .../bindings/sound/nuvoton,nau8325.yaml | 82 +++++++++++++++++++
> 1 file changed, 82 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/sound/nuvoton,nau8325.yaml
>
> diff --git a/Documentation/devicetree/bindings/sound/nuvoton,nau8325.yaml b/Documentation/devicetree/bindings/sound/nuvoton,nau8325.yaml
> new file mode 100644
> index 000000000000..9105985357aa
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/nuvoton,nau8325.yaml
> @@ -0,0 +1,82 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/nuvoton,nau8325.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: NAU8325 audio Amplifier
> +
> +maintainers:
> + - Seven Lee <WTLI@xxxxxxxxxxx>
> +
> +allOf:
> + - $ref: dai-common.yaml#
> +
> +properties:
> + compatible:
> + const: nuvoton,nau8325
> +
> + reg:
> + maxItems: 1
> +
> + nuvoton,vref-impedance:

I know this property already has users, but this is a new device and you
are writing a new driver from scratch, could you instead call it
"nuvoton,vref-impedance-ohms" and make the options the impednances
themselves?

The absence of the property could then be used to indicate that it is an
open circuit?

> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + VREF impedance selection.
> + enum:
> + - 0 # Open
> + - 1 # 25kOhm
> + - 2 # 125kOhm
> + - 3 # 2.5kOhm
> + default: 2
> +
> + nuvoton,dac-vref:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + DAC Reference Voltage Setting.
> + enum:
> + - 0 # VDDA
> + - 1 # VDDA*1.5/1.8V
> + - 2 # VDDA*1.6/1.8V
> + - 3 # VDDA*1.7/1.8V

I would also rather than this enum was used to have sensible values for
the enum itself (which I suppose means strings here), rather than the
register values. Seeing "nuvoton,dac-vref = <2>" in a devicetree is not
very meaningful IMO.

Cheers,
Conor.

> + default: 2
> +
> + nuvoton,alc-enable:
> + description:
> + Enable digital automatic level control (ALC) function.
> + type: boolean
> +
> + nuvoton,clock-detection-disable:
> + description:
> + When clock detection is enabled, it will detect whether MCLK
> + and FS are within the range. MCLK range is from 2.048MHz to 24.576MHz.
> + FS range is from 8kHz to 96kHz.
> + type: boolean
> +
> + nuvoton,clock-det-data:
> + description:
> + Request clock detection to require 2048 non-zero samples before enabling
> + the audio paths. If set then non-zero samples is required, otherwise it
> + doesn't matter.
> + type: boolean
> +
> +required:
> + - compatible
> + - reg
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + codec@21 {
> + compatible = "nuvoton,nau8325";
> + reg = <0x21>;
> + nuvoton,vref-impedance = <2>;
> + nuvoton,dac-vref = <2>;
> + nuvoton,alc-enable;
> + nuvoton,clock-det-data;
> + };
> + };
> --
> 2.25.1
>

Attachment: signature.asc
Description: PGP signature