GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / sound / ti,ts3a227e.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/ti,ts3a227e.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Texas Instruments TS3A227E
8   Autonomous Audio Accessory Detection and Configuration Switch
9
10 maintainers:
11   - Dylan Reid <dgreid@chromium.org>
12
13 description: |
14   The TS3A227E detect headsets of 3-ring and 4-ring standards and
15   switches automatically to route the microphone correctly. It also
16   handles key press detection in accordance with the Android audio
17   headset specification v1.0.
18
19 properties:
20   compatible:
21     enum:
22       - ti,ts3a227e
23
24   reg:
25     const: 0x3b
26
27   interrupts:
28     maxItems: 1
29
30   ti,micbias:
31     $ref: /schemas/types.yaml#/definitions/uint32
32     description: Intended MICBIAS voltage (datasheet section 9.6.7).
33     enum:
34       - 0 # 2.1 V
35       - 1 # 2.2 V
36       - 2 # 2.3 V
37       - 3 # 2.4 V
38       - 4 # 2.5 V
39       - 5 # 2.6 V
40       - 6 # 2.7 V
41       - 7 # 2.8 V
42     default: 1
43
44   ti,debounce-release-ms:
45     description: key release debounce time in ms (datasheet section 9.6.7).
46     enum:
47       - 0
48       - 20
49     default: 20
50
51   ti,debounce-press-ms:
52     description: key press debounce time in ms (datasheet section 9.6.7).
53     enum:
54       - 2
55       - 40
56       - 80
57       - 120
58     default: 80
59
60   ti,debounce-insertion-ms:
61     description: headset insertion debounce time in ms (datasheet section 9.6.5).
62     enum:
63       - 2
64       - 30
65       - 60
66       - 90
67       - 120
68       - 150
69       - 1000
70       - 2000
71     default: 90
72
73 required:
74   - compatible
75   - reg
76   - interrupts
77
78 additionalProperties: false
79
80 examples:
81   - |
82     #include <dt-bindings/interrupt-controller/irq.h>
83     i2c {
84         #address-cells = <1>;
85         #size-cells = <0>;
86         codec: audio-controller@3b {
87             compatible = "ti,ts3a227e";
88             reg = <0x3b>;
89             interrupt-parent = <&gpio1>;
90             interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
91         };
92     };
93
94 ...