Merge tag 'block-6.13-20242901' of git://git.kernel.dk/linux
[drm/drm-misc.git] / Documentation / devicetree / bindings / sound / realtek,rt5659.yaml
blob1100ffd9a7c0f821a5fe003d6ac748327b8ce4a4
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,rt5659.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: RT5659/RT5658 audio CODEC
9 maintainers:
10   - Animesh Agarwal <animeshagarwal28@gmail.com>
12 description: |
13   This device supports I2C only.
15   Pins on the device (for linking into audio routes) for RT5659/RT5658:
16     * DMIC L1
17     * DMIC R1
18     * DMIC L2
19     * DMIC R2
20     * IN1P
21     * IN1N
22     * IN2P
23     * IN2N
24     * IN3P
25     * IN3N
26     * IN4P
27     * IN4N
28     * HPOL
29     * HPOR
30     * SPOL
31     * SPOR
32     * LOUTL
33     * LOUTR
34     * MONOOUT
35     * PDML
36     * PDMR
37     * SPDIF
39 allOf:
40   - $ref: dai-common.yaml#
42 properties:
43   compatible:
44     enum:
45       - realtek,rt5659
46       - realtek,rt5658
48   reg:
49     maxItems: 1
51   interrupts:
52     maxItems: 1
54   clocks:
55     maxItems: 1
57   clock-names:
58     const: mclk
60   realtek,dmic1-data-pin:
61     $ref: /schemas/types.yaml#/definitions/uint32
62     enum:
63       - 0 # dmic1 is not used
64       - 1 # using IN2N pin as dmic1 data pin
65       - 2 # using GPIO5 pin as dmic1 data pin
66       - 3 # using GPIO9 pin as dmic1 data pin
67       - 4 # using GPIO11 pin as dmic1 data pin
68     description: Specify which pin to be used as DMIC1 data pin.
69     default: 0
71   realtek,dmic2-data-pin:
72     $ref: /schemas/types.yaml#/definitions/uint32
73     enum:
74       - 0 # dmic2 is not used
75       - 1 # using IN2P pin as dmic2 data pin
76       - 2 # using GPIO6 pin as dmic2 data pin
77       - 3 # using GPIO10 pin as dmic2 data pin
78       - 4 # using GPIO12 pin as dmic2 data pin
79     description: Specify which pin to be used as DMIC2 data pin.
80     default: 0
82   realtek,jd-src:
83     $ref: /schemas/types.yaml#/definitions/uint32
84     enum:
85       - 0 # No JD is used
86       - 1 # using JD3 as JD source
87       - 2 # JD source for Intel HDA header
88     description: Specify which JD source be used.
89     default: 0
91   realtek,ldo1-en-gpios:
92     maxItems: 1
93     description: CODEC's LDO1_EN pin.
95   realtek,reset-gpios:
96     maxItems: 1
97     description: CODEC's RESET pin.
99   ports:
100     $ref: /schemas/graph.yaml#/properties/ports
102   port:
103     $ref: audio-graph-port.yaml#
104     unevaluatedProperties: false
106 required:
107   - compatible
108   - reg
109   - interrupts
111 unevaluatedProperties: false
113 examples:
114   - |
115     #include <dt-bindings/gpio/gpio.h>
116     #include <dt-bindings/interrupt-controller/irq.h>
118     i2c {
119         #address-cells = <1>;
120         #size-cells = <0>;
122         codec@1b {
123             compatible = "realtek,rt5659";
124             reg = <0x1b>;
125             interrupt-parent = <&gpio>;
126             interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
127             realtek,ldo1-en-gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
128         };
129     };