Merge tag 'block-6.13-20242901' of git://git.kernel.dk/linux
[drm/drm-misc.git] / Documentation / devicetree / bindings / sound / ti,ts3a227e.yaml
blob785930658029531c4abcdc975e112f818bf6a52e
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#
7 title: Texas Instruments TS3A227E
8   Autonomous Audio Accessory Detection and Configuration Switch
10 maintainers:
11   - Dylan Reid <dgreid@chromium.org>
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.
19 properties:
20   compatible:
21     enum:
22       - ti,ts3a227e
24   reg:
25     const: 0x3b
27   interrupts:
28     maxItems: 1
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
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
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
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
73 required:
74   - compatible
75   - reg
76   - interrupts
78 additionalProperties: false
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     };
94 ...