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