On 10/05/2023 11:19, David Lin wrote: > Convert the NAU8825 audio CODEC bindings to DT schema. > > Signed-off-by: David Lin <CTLIN0@xxxxxxxxxxx> > > Changes: > V2 -> V3: > - refine node name from "nau8825" to "codec" for generic purpose > > V1 -> V2: > - add interrupts properties > - add maximum to nuvoton,jack-insert-debounce and nuvoton,jack-eject-debounce properites > - add a enum item for nuvoton,short-key-debounce properites > - add default value for most properites > - add maxItems to clocks properites and mclk entries to clock-names properites > - refine wrong indentation from clocks and clock-names > - refine dts example for interrupts and clocks > - remove headset label from dts example Thanks. Still few nits. ... > + > +title: NAU8825 audio CODEC > + > +maintainers: > + - John Hsu <KCHSU0@xxxxxxxxxxx> > + > +allOf: > + - $ref: dai-common.yaml# > + > +properties: > + compatible: > + enum: > + - nuvoton,nau8825 > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + description: > + The CODEC's interrupt output. Drop description. > + > + nuvoton,jkdet-enable: > + description: > + Enable jack detection via JKDET pin. > + type: boolean > + > + nuvoton,jkdet-pull-enable: > + description: > + Enable JKDET pin pull. > + If set - pin pull enabled, otherwise pin in high impedance state. > + type: boolean > + > + nuvoton,jkdet-pull-up: > + description: > + Pull-up JKDET pin. > + If set then JKDET pin is pull up, otherwise pull down. > + type: boolean > + > + nuvoton,jkdet-polarity: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + JKDET pin polarity. > + enum: > + - 0 # active high > + - 1 # active low > + default: 1 > + > + nuvoton,vref-impedance: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + VREF Impedance selection. > + enum: > + - 0 # Open > + - 1 # 25 kOhm > + - 2 # 125 kOhm > + - 3 # 2.5 kOhm > + default: 2 > + > + nuvoton,micbias-voltage: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + Micbias voltage level. > + enum: > + - 0 # VDDA > + - 1 # VDDA > + - 2 # VDDA * 1.1 > + - 3 # VDDA * 1.2 > + - 4 # VDDA * 1.3 > + - 5 # VDDA * 1.4 > + - 6 # VDDA * 1.53 > + - 7 # VDDA * 1.53 > + default: 6 > + > + nuvoton,sar-threshold-num: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + Number of buttons supported. > + minimum: 1 > + maximum: 4 > + default: 4 > + > + nuvoton,sar-threshold: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + description: > + Impedance threshold for each button. Array that contains up to 8 buttons > + configuration. SAR value is calculated as > + SAR = 255 * MICBIAS / SAR_VOLTAGE * R / (2000 + R) where MICBIAS is > + configured by 'nuvoton,micbias-voltage', SAR_VOLTAGE is configured by > + 'nuvoton,sar-voltage', R - button impedance. > + Refer datasheet section 10.2 for more information about threshold > + calculation. > + minItems: 1 > + maxItems: 4 > + items: > + minimum: 0 > + maximum: 255 > + > + nuvoton,sar-hysteresis: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + Button impedance measurement hysteresis. > + default: 0 > + > + nuvoton,sar-voltage: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + Reference voltage for button impedance measurement. > + enum: > + - 0 # VDDA > + - 1 # VDDA > + - 2 # VDDA * 1.1 > + - 3 # VDDA * 1.2 > + - 4 # VDDA * 1.3 > + - 5 # VDDA * 1.4 > + - 6 # VDDA * 1.53 > + - 7 # VDDA * 1.53 > + default: 6 > + > + nuvoton,sar-compare-time: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + SAR compare time. > + enum: > + - 0 # 500 ns > + - 1 # 1 us > + - 2 # 2 us > + - 3 # 4 us > + default: 1 > + > + nuvoton,sar-sampling-time: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + SAR sampling time. > + enum: > + - 0 # 2 us > + - 1 # 4 us > + - 2 # 8 us > + - 3 # 16 us > + default: 1 > + > + nuvoton,short-key-debounce: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + Button short key press debounce time. > + enum: > + - 0 # 30 ms > + - 1 # 50 ms > + - 2 # 100 ms > + - 3 # 30 ms > + default: 3 > + > + nuvoton,jack-insert-debounce: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + number from 0 to 7 that sets debounce time to 2^(n+2) ms. > + maximum: 7 > + default: 7 > + > + nuvoton,jack-eject-debounce: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + number from 0 to 7 that sets debounce time to 2^(n+2) ms > + maximum: 7 > + default: 0 > + > + nuvoton,crosstalk-enable: > + description: > + make crosstalk function enable if set. > + type: boolean > + > + nuvoton,adcout-drive-strong: > + description: > + make the drive strength of ADCOUT IO PIN strong if set. > + Otherwise, the drive keeps normal strength. > + type: boolean > + > + nuvoton,adc-delay-ms: > + description: > + Delay (in ms) to make input path stable and avoid pop noise. > + The default value is 125 and range between 125 to 500 ms. > + minimum: 125 > + maximum: 500 > + default: 125 > + > + clocks: > + description: > + list of phandle and clock specifier pairs according to common clock > + bindings for the clocks described in clock-names. Drop desription. > + maxItems: 1 > + > + clock-names: > + description: > + should include "mclk" for the MCLK master clock. Drop description. > + items: > + - const: mclk You probably want also sound-dai-cells. > + > +required: > + - compatible > + - reg > + > +unevaluatedProperties: false Best regards, Krzysztof