ASoC: dt-bindings: nau8821: Convert to dtschema

Convert the NAU8821 audio CODEC bindings to DT schema.

Signed-off-by: Seven Lee <wtli@nuvoton.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230628085009.1130318-1-wtli@nuvoton.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Seven Lee 2023-06-28 16:50:09 +08:00 committed by Mark Brown
parent 209fb30ee1
commit 754d1ce3ab
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
2 changed files with 125 additions and 55 deletions

View File

@ -1,55 +0,0 @@
Nuvoton NAU88L21 audio codec
This device supports I2C only.
Required properties:
- compatible : Must be "nuvoton,nau8821"
- reg : the I2C address of the device. This is either 0x1B (CSB=0) or 0x54 (CSB=1).
Optional properties:
- nuvoton,jkdet-enable: Enable jack detection via JKDET pin.
- nuvoton,jkdet-pull-enable: Enable JKDET pin pull. If set - pin pull enabled,
otherwise pin in high impedance state.
- nuvoton,jkdet-pull-up: Pull-up JKDET pin. If set then JKDET pin is pull up, otherwise pull down.
- nuvoton,jkdet-polarity: JKDET pin polarity. 0 - active high, 1 - active low.
- nuvoton,vref-impedance: VREF Impedance selection
0 - Open
1 - 25 kOhm
2 - 125 kOhm
3 - 2.5 kOhm
- nuvoton,micbias-voltage: Micbias voltage level.
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
- nuvoton,jack-insert-debounce: number from 0 to 7 that sets debounce time to 2^(n+2) ms
- nuvoton,jack-eject-debounce: number from 0 to 7 that sets debounce time to 2^(n+2) ms
- nuvoton,dmic-clk-threshold: the ADC threshold of DMIC clock.
- nuvoton,key_enable: Headset button detection switch.
Example:
headset: nau8821@1b {
compatible = "nuvoton,nau8821";
reg = <0x1b>;
interrupt-parent = <&gpio>;
interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
nuvoton,jkdet-enable;
nuvoton,jkdet-pull-enable;
nuvoton,jkdet-pull-up;
nuvoton,jkdet-polarity = <GPIO_ACTIVE_LOW>;
nuvoton,vref-impedance = <2>;
nuvoton,micbias-voltage = <6>;
nuvoton,jack-insert-debounce = <7>;
nuvoton,jack-eject-debounce = <7>;
nuvoton,dmic-clk-threshold = 3072000;
};

View File

@ -0,0 +1,125 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/nuvoton,nau8821.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NAU88L21 audio codec
maintainers:
- Seven Lee <wtli@nuvoton.com>
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
const: nuvoton,nau8821
reg:
maxItems: 1
interrupts:
maxItems: 1
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,key-enable:
description: handles key press detection.
type: boolean
nuvoton,jkdet-polarity:
description: JKDET pin polarity.
$ref: /schemas/types.yaml#/definitions/uint32
enum:
- 0 # active high
- 1 # active low
default: 1
nuvoton,micbias-voltage:
description: MICBIAS output level select.
$ref: /schemas/types.yaml#/definitions/uint32
enum:
- 0 # VDDA
- 1 # VDDA * 1
- 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,vref-impedance:
description: VMID Tie-off impedance select.
$ref: /schemas/types.yaml#/definitions/uint32
enum:
- 0 # open
- 1 # 25KOhms
- 2 # 125KOhms
- 3 # 2.5KOhms
default: 2
nuvoton,jack-insert-debounce:
description: number from 0 to 7 that sets debounce time to 2^(n+2)ms.
$ref: /schemas/types.yaml#/definitions/uint32
maximum: 7
default: 7
nuvoton,jack-eject-debounce:
description: number from 0 to 7 that sets debounce time to 2^(n+2)ms.
$ref: /schemas/types.yaml#/definitions/uint32
maximum: 7
default: 0
nuvoton,dmic-clk-threshold:
description: DMIC clock speed expected value. Unit is Hz.
$ref: /schemas/types.yaml#/definitions/uint32
default: 3072000
'#sound-dai-cells':
const: 0
required:
- compatible
- reg
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
codec@1b {
compatible = "nuvoton,nau8821";
reg = <0x1b>;
interrupt-parent = <&gpio>;
interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
nuvoton,jkdet-enable;
nuvoton,jkdet-pull-enable;
nuvoton,jkdet-pull-up;
nuvoton,key-enable;
nuvoton,jkdet-polarity = <GPIO_ACTIVE_LOW>;
nuvoton,micbias-voltage = <6>;
nuvoton,vref-impedance = <2>;
nuvoton,jack-insert-debounce = <7>;
nuvoton,jack-eject-debounce = <0>;
nuvoton,dmic-clk-threshold = <3072000>;
#sound-dai-cells = <0>;
};
};