blob: 1100ffd9a7c0f821a5fe003d6ac748327b8ce4a4 [file] [log] [blame]
Tom Rini6b642ac2024-10-01 12:20:28 -06001# 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#
6
7title: RT5659/RT5658 audio CODEC
8
9maintainers:
10 - Animesh Agarwal <animeshagarwal28@gmail.com>
11
12description: |
13 This device supports I2C only.
14
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
38
39allOf:
40 - $ref: dai-common.yaml#
41
42properties:
43 compatible:
44 enum:
45 - realtek,rt5659
46 - realtek,rt5658
47
48 reg:
49 maxItems: 1
50
51 interrupts:
52 maxItems: 1
53
54 clocks:
55 maxItems: 1
56
57 clock-names:
58 const: mclk
59
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
70
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
81
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
90
91 realtek,ldo1-en-gpios:
92 maxItems: 1
93 description: CODEC's LDO1_EN pin.
94
95 realtek,reset-gpios:
96 maxItems: 1
97 description: CODEC's RESET pin.
98
99 ports:
100 $ref: /schemas/graph.yaml#/properties/ports
101
102 port:
103 $ref: audio-graph-port.yaml#
104 unevaluatedProperties: false
105
106required:
107 - compatible
108 - reg
109 - interrupts
110
111unevaluatedProperties: false
112
113examples:
114 - |
115 #include <dt-bindings/gpio/gpio.h>
116 #include <dt-bindings/interrupt-controller/irq.h>
117
118 i2c {
119 #address-cells = <1>;
120 #size-cells = <0>;
121
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 };