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