xref: /freebsd/sys/contrib/device-tree/Bindings/sound/nuvoton,nau8821.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/nuvoton,nau8821.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: NAU88L21 audio codec
8
9maintainers:
10  - Seven Lee <wtli@nuvoton.com>
11
12allOf:
13  - $ref: dai-common.yaml#
14
15properties:
16  compatible:
17    const: nuvoton,nau8821
18
19  reg:
20    maxItems: 1
21
22  interrupts:
23    maxItems: 1
24
25  nuvoton,jkdet-enable:
26    description: Enable jack detection via JKDET pin.
27    type: boolean
28
29  nuvoton,jkdet-pull-enable:
30    description: Enable JKDET pin pull. If set - pin pull enabled,
31      otherwise pin in high impedance state.
32    type: boolean
33
34  nuvoton,jkdet-pull-up:
35    description: Pull-up JKDET pin. If set then JKDET pin is pull up,
36      otherwise pull down.
37    type: boolean
38
39  nuvoton,key-enable:
40    description: handles key press detection.
41    type: boolean
42
43  nuvoton,jkdet-polarity:
44    description: JKDET pin polarity.
45    $ref: /schemas/types.yaml#/definitions/uint32
46    enum:
47      - 0 # active high
48      - 1 # active low
49    default: 1
50
51  nuvoton,micbias-voltage:
52    description: MICBIAS output level select.
53    $ref: /schemas/types.yaml#/definitions/uint32
54    enum:
55      - 0 # VDDA
56      - 1 # VDDA * 1
57      - 2 # VDDA * 1.1
58      - 3 # VDDA * 1.2
59      - 4 # VDDA * 1.3
60      - 5 # VDDA * 1.4
61      - 6 # VDDA * 1.53
62      - 7 # VDDA * 1.53
63    default: 6
64
65  nuvoton,vref-impedance:
66    description: VMID Tie-off impedance select.
67    $ref: /schemas/types.yaml#/definitions/uint32
68    enum:
69      - 0 # open
70      - 1 # 25KOhms
71      - 2 # 125KOhms
72      - 3 # 2.5KOhms
73    default: 2
74
75  nuvoton,jack-insert-debounce:
76    description: number from 0 to 7 that sets debounce time to 2^(n+2)ms.
77    $ref: /schemas/types.yaml#/definitions/uint32
78    maximum: 7
79    default: 7
80
81  nuvoton,jack-eject-debounce:
82    description: number from 0 to 7 that sets debounce time to 2^(n+2)ms.
83    $ref: /schemas/types.yaml#/definitions/uint32
84    maximum: 7
85    default: 0
86
87  nuvoton,dmic-clk-threshold:
88    description: DMIC clock speed expected value. Unit is Hz.
89    $ref: /schemas/types.yaml#/definitions/uint32
90    default: 3072000
91
92  nuvoton,dmic-slew-rate:
93    description: The range 0 to 7 represents the speed of DMIC slew rate.
94        The lowest value 0 means the slowest rate and the highest value
95        7 means the fastest rate.
96    $ref: /schemas/types.yaml#/definitions/uint32
97    maximum: 7
98    default: 0
99
100  nuvoton,left-input-single-end:
101    description: Enable left input with single-ended settings if set.
102        For the headset mic application, the single-ended control is
103        just limited to the left adc for design demand.
104    type: boolean
105
106  '#sound-dai-cells':
107    const: 0
108
109required:
110  - compatible
111  - reg
112
113unevaluatedProperties: false
114
115examples:
116  - |
117    #include <dt-bindings/gpio/gpio.h>
118    #include <dt-bindings/interrupt-controller/irq.h>
119    i2c {
120        #address-cells = <1>;
121        #size-cells = <0>;
122        codec@1b {
123            compatible = "nuvoton,nau8821";
124            reg = <0x1b>;
125            interrupt-parent = <&gpio>;
126            interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
127            nuvoton,jkdet-enable;
128            nuvoton,jkdet-pull-enable;
129            nuvoton,jkdet-pull-up;
130            nuvoton,key-enable;
131            nuvoton,left-input-single-end;
132            nuvoton,jkdet-polarity = <GPIO_ACTIVE_LOW>;
133            nuvoton,micbias-voltage = <6>;
134            nuvoton,vref-impedance = <2>;
135            nuvoton,jack-insert-debounce = <7>;
136            nuvoton,jack-eject-debounce = <0>;
137            nuvoton,dmic-clk-threshold = <3072000>;
138            nuvoton,dmic-slew-rate = <0>;
139            #sound-dai-cells = <0>;
140        };
141    };
142