blob: 054b53954ac3d812195ce401f74dca69d82e69c5 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
Tom Rini93743d22024-04-01 09:08:13 -040092 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
Tom Rini53633a82024-02-29 12:33:36 -0500100 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>;
Tom Rini93743d22024-04-01 09:08:13 -0400138 nuvoton,dmic-slew-rate = <0>;
Tom Rini53633a82024-02-29 12:33:36 -0500139 #sound-dai-cells = <0>;
140 };
141 };