Merge tag 'block-6.13-20242901' of git://git.kernel.dk/linux
[drm/drm-misc.git] / Documentation / devicetree / bindings / sound / nuvoton,nau8821.yaml
blob9f44168efb3ed159cf4175890e67609e784aeddb
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#
7 title: NAU88L21 audio codec
9 maintainers:
10   - Seven Lee <wtli@nuvoton.com>
12 allOf:
13   - $ref: dai-common.yaml#
15 properties:
16   compatible:
17     const: nuvoton,nau8821
19   reg:
20     maxItems: 1
22   interrupts:
23     maxItems: 1
25   nuvoton,jkdet-enable:
26     description: Enable jack detection via JKDET pin.
27     type: boolean
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
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
39   nuvoton,key-enable:
40     description: handles key press detection.
41     type: boolean
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
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
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
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
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
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
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
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
106   nuvoton,adc-delay-ms:
107     description: Delay (in ms) to make input path stable and avoid pop noise.
108     minimum: 125
109     maximum: 500
110     default: 125
112   '#sound-dai-cells':
113     const: 0
115 required:
116   - compatible
117   - reg
119 unevaluatedProperties: false
121 examples:
122   - |
123     #include <dt-bindings/gpio/gpio.h>
124     #include <dt-bindings/interrupt-controller/irq.h>
125     i2c {
126         #address-cells = <1>;
127         #size-cells = <0>;
128         codec@1b {
129             compatible = "nuvoton,nau8821";
130             reg = <0x1b>;
131             interrupt-parent = <&gpio>;
132             interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
133             nuvoton,jkdet-enable;
134             nuvoton,jkdet-pull-enable;
135             nuvoton,jkdet-pull-up;
136             nuvoton,key-enable;
137             nuvoton,left-input-single-end;
138             nuvoton,jkdet-polarity = <GPIO_ACTIVE_LOW>;
139             nuvoton,micbias-voltage = <6>;
140             nuvoton,vref-impedance = <2>;
141             nuvoton,jack-insert-debounce = <7>;
142             nuvoton,jack-eject-debounce = <0>;
143             nuvoton,dmic-clk-threshold = <3072000>;
144             nuvoton,dmic-slew-rate = <0>;
145             nuvoton,adc-delay-ms = <125>;
146             #sound-dai-cells = <0>;
147         };
148     };