11 May
2023
11 May
'23
12:10 p.m.
On 10/05/2023 11:19, David Lin wrote:
Convert the NAU8825 audio CODEC bindings to DT schema.
Signed-off-by: David Lin CTLIN0@nuvoton.com
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@nuvoton.com
+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