xref: /linux/Documentation/devicetree/bindings/sound/dlg,da7213.yaml (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
1*d57ef033SGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*d57ef033SGeert Uytterhoeven%YAML 1.2
3*d57ef033SGeert Uytterhoeven---
4*d57ef033SGeert Uytterhoeven$id: http://devicetree.org/schemas/sound/dlg,da7213.yaml#
5*d57ef033SGeert Uytterhoeven$schema: http://devicetree.org/meta-schemas/core.yaml#
6*d57ef033SGeert Uytterhoeven
7*d57ef033SGeert Uytterhoeventitle: Dialog Semiconductor DA7212/DA7213 Audio Codec
8*d57ef033SGeert Uytterhoeven
9*d57ef033SGeert Uytterhoevenmaintainers:
10*d57ef033SGeert Uytterhoeven  - Support Opensource <support.opensource@diasemi.com>
11*d57ef033SGeert Uytterhoeven
12*d57ef033SGeert UytterhoevenallOf:
13*d57ef033SGeert Uytterhoeven  - $ref: dai-common.yaml#
14*d57ef033SGeert Uytterhoeven
15*d57ef033SGeert Uytterhoevenproperties:
16*d57ef033SGeert Uytterhoeven  compatible:
17*d57ef033SGeert Uytterhoeven    enum:
18*d57ef033SGeert Uytterhoeven      - dlg,da7212
19*d57ef033SGeert Uytterhoeven      - dlg,da7213
20*d57ef033SGeert Uytterhoeven
21*d57ef033SGeert Uytterhoeven  reg:
22*d57ef033SGeert Uytterhoeven    maxItems: 1
23*d57ef033SGeert Uytterhoeven
24*d57ef033SGeert Uytterhoeven  clocks:
25*d57ef033SGeert Uytterhoeven    maxItems: 1
26*d57ef033SGeert Uytterhoeven
27*d57ef033SGeert Uytterhoeven  clock-names:
28*d57ef033SGeert Uytterhoeven    const: mclk
29*d57ef033SGeert Uytterhoeven
30*d57ef033SGeert Uytterhoeven  "#sound-dai-cells":
31*d57ef033SGeert Uytterhoeven    const: 0
32*d57ef033SGeert Uytterhoeven
33*d57ef033SGeert Uytterhoeven  dlg,micbias1-lvl:
34*d57ef033SGeert Uytterhoeven    description: Voltage (mV) for Mic Bias 1
35*d57ef033SGeert Uytterhoeven    $ref: /schemas/types.yaml#/definitions/uint32
36*d57ef033SGeert Uytterhoeven    enum: [ 1600, 2200, 2500, 3000 ]
37*d57ef033SGeert Uytterhoeven
38*d57ef033SGeert Uytterhoeven  dlg,micbias2-lvl:
39*d57ef033SGeert Uytterhoeven    description: Voltage (mV) for Mic Bias 2
40*d57ef033SGeert Uytterhoeven    $ref: /schemas/types.yaml#/definitions/uint32
41*d57ef033SGeert Uytterhoeven    enum: [ 1600, 2200, 2500, 3000 ]
42*d57ef033SGeert Uytterhoeven
43*d57ef033SGeert Uytterhoeven  dlg,dmic-data-sel:
44*d57ef033SGeert Uytterhoeven    description: DMIC channel select based on clock edge
45*d57ef033SGeert Uytterhoeven    enum: [ lrise_rfall, lfall_rrise ]
46*d57ef033SGeert Uytterhoeven
47*d57ef033SGeert Uytterhoeven  dlg,dmic-samplephase:
48*d57ef033SGeert Uytterhoeven    description: When to sample audio from DMIC
49*d57ef033SGeert Uytterhoeven    enum: [ on_clkedge, between_clkedge ]
50*d57ef033SGeert Uytterhoeven
51*d57ef033SGeert Uytterhoeven  dlg,dmic-clkrate:
52*d57ef033SGeert Uytterhoeven    description: DMIC clock frequency (Hz)
53*d57ef033SGeert Uytterhoeven    $ref: /schemas/types.yaml#/definitions/uint32
54*d57ef033SGeert Uytterhoeven    enum: [ 1500000, 3000000 ]
55*d57ef033SGeert Uytterhoeven
56*d57ef033SGeert Uytterhoeven  VDDA-supply:
57*d57ef033SGeert Uytterhoeven    description: Analogue power supply
58*d57ef033SGeert Uytterhoeven
59*d57ef033SGeert Uytterhoeven  VDDIO-supply:
60*d57ef033SGeert Uytterhoeven    description: I/O power supply
61*d57ef033SGeert Uytterhoeven
62*d57ef033SGeert Uytterhoeven  VDDMIC-supply:
63*d57ef033SGeert Uytterhoeven    description: Mic Bias
64*d57ef033SGeert Uytterhoeven
65*d57ef033SGeert Uytterhoeven  VDDSP-supply:
66*d57ef033SGeert Uytterhoeven    description: Speaker supply
67*d57ef033SGeert Uytterhoeven
68*d57ef033SGeert Uytterhoeven  ports:
69*d57ef033SGeert Uytterhoeven    $ref: audio-graph-port.yaml#/definitions/ports
70*d57ef033SGeert Uytterhoeven
71*d57ef033SGeert Uytterhoeven  port:
72*d57ef033SGeert Uytterhoeven    $ref: audio-graph-port.yaml#
73*d57ef033SGeert Uytterhoeven    unevaluatedProperties: false
74*d57ef033SGeert Uytterhoeven
75*d57ef033SGeert Uytterhoevenrequired:
76*d57ef033SGeert Uytterhoeven  - compatible
77*d57ef033SGeert Uytterhoeven  - reg
78*d57ef033SGeert Uytterhoeven
79*d57ef033SGeert UytterhoevenunevaluatedProperties: false
80*d57ef033SGeert Uytterhoeven
81*d57ef033SGeert Uytterhoevenexamples:
82*d57ef033SGeert Uytterhoeven  - |
83*d57ef033SGeert Uytterhoeven    i2c {
84*d57ef033SGeert Uytterhoeven        #address-cells = <1>;
85*d57ef033SGeert Uytterhoeven        #size-cells = <0>;
86*d57ef033SGeert Uytterhoeven
87*d57ef033SGeert Uytterhoeven        codec@1a {
88*d57ef033SGeert Uytterhoeven            compatible = "dlg,da7213";
89*d57ef033SGeert Uytterhoeven            reg = <0x1a>;
90*d57ef033SGeert Uytterhoeven
91*d57ef033SGeert Uytterhoeven            clocks = <&clks 201>;
92*d57ef033SGeert Uytterhoeven            clock-names = "mclk";
93*d57ef033SGeert Uytterhoeven
94*d57ef033SGeert Uytterhoeven            #sound-dai-cells = <0>;
95*d57ef033SGeert Uytterhoeven
96*d57ef033SGeert Uytterhoeven            dlg,micbias1-lvl = <2500>;
97*d57ef033SGeert Uytterhoeven            dlg,micbias2-lvl = <2500>;
98*d57ef033SGeert Uytterhoeven
99*d57ef033SGeert Uytterhoeven            dlg,dmic-data-sel = "lrise_rfall";
100*d57ef033SGeert Uytterhoeven            dlg,dmic-samplephase = "between_clkedge";
101*d57ef033SGeert Uytterhoeven            dlg,dmic-clkrate = <3000000>;
102*d57ef033SGeert Uytterhoeven        };
103*d57ef033SGeert Uytterhoeven    };
104