Merge tag 'block-6.13-20242901' of git://git.kernel.dk/linux
[drm/drm-misc.git] / Documentation / devicetree / bindings / sound / realtek,rt5640.yaml
blob3f4f59287c1ccaef1b3b84079141f1e45dab9eba
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/realtek,rt5640.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: RT5640/RT5639 audio CODEC
9 maintainers:
10   - Neil Armstrong <neil.armstrong@linaro.org>
12 description: |
13   This device supports I2C only.
15   Pins on the device (for linking into audio routes) for RT5639/RT5640:
16     * DMIC1
17     * DMIC2
18     * MICBIAS1
19     * IN1P
20     * IN1N
21     * IN2P
22     * IN2N
23     * IN3P
24     * IN3N
25     * HPOL
26     * HPOR
27     * LOUTL
28     * LOUTR
29     * SPOLP
30     * SPOLN
31     * SPORP
32     * SPORN
34   Additional pins on the device for RT5640:
35     * MONOP
36     * MONON
38 allOf:
39   - $ref: dai-common.yaml#
41 properties:
42   compatible:
43     enum:
44       - realtek,rt5640
45       - realtek,rt5639
47   reg:
48     maxItems: 1
50   interrupts:
51     maxItems: 1
52     description: The CODEC's interrupt output.
54   realtek,in1-differential:
55     description:
56       Indicate MIC1 input is differential, rather than single-ended.
57     type: boolean
59   realtek,in2-differential:
60     description:
61       Indicate MIC2 input is differential, rather than single-ended.
62     type: boolean
64   realtek,in3-differential:
65     description:
66       Indicate MIC3 input is differential, rather than single-ended.
67     type: boolean
69   realtek,lout-differential:
70     description:
71       Indicate LOUT output is differential, rather than single-ended.
72     type: boolean
74   realtek,dmic1-data-pin:
75     description: Specify which pin to be used as DMIC1 data pin.
76     $ref: /schemas/types.yaml#/definitions/uint32
77     enum:
78       - 0 # dmic1 is not used
79       - 1 # using IN2P pin as dmic1 data pin
80       - 2 # using GPIO3 pin as dmic1 data pin
82   realtek,dmic2-data-pin:
83     description: Specify which pin to be used as DMIC2 data pin.
84     $ref: /schemas/types.yaml#/definitions/uint32
85     enum:
86       - 0 # dmic2 is not used
87       - 1 # using IN2N pin as dmic2 data pin
88       - 2 # using GPIO4 pin as dmic2 data pin
90   realtek,jack-detect-source:
91     description: The Jack Detect source.
92     $ref: /schemas/types.yaml#/definitions/uint32
93     enum:
94       - 0 # Jack Detect function is not used
95       - 1 # Use GPIO1 for jack-detect
96       - 2 # Use JD1_IN4P for jack-detect
97       - 3 # Use JD2_IN4N for jack-detect
98       - 4 # Use GPIO2 for jack-detect
99       - 5 # Use GPIO3 for jack-detect
100       - 6 # Use GPIO4 for jack-detect
102   realtek,jack-detect-not-inverted:
103     description:
104       Normal jack-detect switches give an inverted signal, set this bool
105       in the rare case you've a jack-detect switch which is not inverted.
106     type: boolean
108   realtek,over-current-threshold-microamp:
109     description: micbias over-current detection threshold in µA
110     enum:
111       - 600
112       - 1500
113       - 2000
115   realtek,over-current-scale-factor:
116     description: micbias over-current detection scale-factor
117     $ref: /schemas/types.yaml#/definitions/uint32
118     enum:
119       - 0 # Scale current by 0.5
120       - 1 # Scale current by 0.75
121       - 2 # Scale current by 1.0
122       - 3 # Scale current by 1.5
124 required:
125   - compatible
126   - reg
127   - interrupts
129 unevaluatedProperties: false
131 examples:
132   - |
133     #include <dt-bindings/gpio/gpio.h>
134     #include <dt-bindings/interrupt-controller/irq.h>
136     i2c {
137         #address-cells = <1>;
138         #size-cells = <0>;
140         codec@1a {
141             compatible = "realtek,rt5640";
142             reg = <0x1a>;
143             interrupt-parent = <&gpio>;
144             interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
145         };
146     };