1*cd51b942SGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*cd51b942SGeert Uytterhoeven%YAML 1.2
3*cd51b942SGeert Uytterhoeven---
4*cd51b942SGeert Uytterhoeven$id: http://devicetree.org/schemas/sound/wlf,wm8962.yaml#
5*cd51b942SGeert Uytterhoeven$schema: http://devicetree.org/meta-schemas/core.yaml#
6*cd51b942SGeert Uytterhoeven
7*cd51b942SGeert Uytterhoeventitle: Wolfson WM8962 Ultra-Low Power Stereo CODEC
8*cd51b942SGeert Uytterhoeven
9*cd51b942SGeert Uytterhoevenmaintainers:
10*cd51b942SGeert Uytterhoeven  - patches@opensource.cirrus.com
11*cd51b942SGeert Uytterhoeven
12*cd51b942SGeert Uytterhoevenproperties:
13*cd51b942SGeert Uytterhoeven  compatible:
14*cd51b942SGeert Uytterhoeven    const: wlf,wm8962
15*cd51b942SGeert Uytterhoeven
16*cd51b942SGeert Uytterhoeven  reg:
17*cd51b942SGeert Uytterhoeven    maxItems: 1
18*cd51b942SGeert Uytterhoeven
19*cd51b942SGeert Uytterhoeven  clocks:
20*cd51b942SGeert Uytterhoeven    maxItems: 1
21*cd51b942SGeert Uytterhoeven
22*cd51b942SGeert Uytterhoeven  "#sound-dai-cells":
23*cd51b942SGeert Uytterhoeven    const: 0
24*cd51b942SGeert Uytterhoeven
25*cd51b942SGeert Uytterhoeven  AVDD-supply:
26*cd51b942SGeert Uytterhoeven    description: Analogue supply.
27*cd51b942SGeert Uytterhoeven
28*cd51b942SGeert Uytterhoeven  CPVDD-supply:
29*cd51b942SGeert Uytterhoeven    description: Charge pump power supply.
30*cd51b942SGeert Uytterhoeven
31*cd51b942SGeert Uytterhoeven  DBVDD-supply:
32*cd51b942SGeert Uytterhoeven    description: Digital Buffer Supply.
33*cd51b942SGeert Uytterhoeven
34*cd51b942SGeert Uytterhoeven  DCVDD-supply:
35*cd51b942SGeert Uytterhoeven    description: Digital Core Supply.
36*cd51b942SGeert Uytterhoeven
37*cd51b942SGeert Uytterhoeven  MICVDD-supply:
38*cd51b942SGeert Uytterhoeven    description: Microphone bias amp supply.
39*cd51b942SGeert Uytterhoeven
40*cd51b942SGeert Uytterhoeven  PLLVDD-supply:
41*cd51b942SGeert Uytterhoeven    description: PLL Supply
42*cd51b942SGeert Uytterhoeven
43*cd51b942SGeert Uytterhoeven  SPKVDD1-supply:
44*cd51b942SGeert Uytterhoeven    description: Supply for left speaker drivers.
45*cd51b942SGeert Uytterhoeven
46*cd51b942SGeert Uytterhoeven  SPKVDD2-supply:
47*cd51b942SGeert Uytterhoeven    description: Supply for right speaker drivers.
48*cd51b942SGeert Uytterhoeven
49*cd51b942SGeert Uytterhoeven  spk-mono:
50*cd51b942SGeert Uytterhoeven    $ref: /schemas/types.yaml#/definitions/flag
51*cd51b942SGeert Uytterhoeven    description:
52*cd51b942SGeert Uytterhoeven      If present, the SPK_MONO bit of R51 (Class D Control 2) gets set,
53*cd51b942SGeert Uytterhoeven      indicating that the speaker is in mono mode.
54*cd51b942SGeert Uytterhoeven
55*cd51b942SGeert Uytterhoeven  mic-cfg:
56*cd51b942SGeert Uytterhoeven    $ref: /schemas/types.yaml#/definitions/uint32
57*cd51b942SGeert Uytterhoeven    description:
58*cd51b942SGeert Uytterhoeven      Default register value for R48 (Additional Control 4).
59*cd51b942SGeert Uytterhoeven      If absent, the default should be the register default.
60*cd51b942SGeert Uytterhoeven
61*cd51b942SGeert Uytterhoeven  gpio-cfg:
62*cd51b942SGeert Uytterhoeven    $ref: /schemas/types.yaml#/definitions/uint32-array
63*cd51b942SGeert Uytterhoeven    minItems: 6
64*cd51b942SGeert Uytterhoeven    maxItems: 6
65*cd51b942SGeert Uytterhoeven    description:
66*cd51b942SGeert Uytterhoeven      A list of GPIO configuration register values.  If absent, no
67*cd51b942SGeert Uytterhoeven      configuration of these registers is performed.  Note that only values
68*cd51b942SGeert Uytterhoeven      within [0x0, 0xffff] are valid.  Any other value is regarded as setting
69*cd51b942SGeert Uytterhoeven      the GPIO register to its reset value 0x0.
70*cd51b942SGeert Uytterhoeven
71*cd51b942SGeert Uytterhoeven  port:
72*cd51b942SGeert Uytterhoeven    $ref: audio-graph-port.yaml#
73*cd51b942SGeert Uytterhoeven    unevaluatedProperties: false
74*cd51b942SGeert Uytterhoeven
75*cd51b942SGeert Uytterhoevenrequired:
76*cd51b942SGeert Uytterhoeven  - compatible
77*cd51b942SGeert Uytterhoeven  - reg
78*cd51b942SGeert Uytterhoeven  - AVDD-supply
79*cd51b942SGeert Uytterhoeven  - CPVDD-supply
80*cd51b942SGeert Uytterhoeven  - DBVDD-supply
81*cd51b942SGeert Uytterhoeven  - DCVDD-supply
82*cd51b942SGeert Uytterhoeven  - MICVDD-supply
83*cd51b942SGeert Uytterhoeven  - PLLVDD-supply
84*cd51b942SGeert Uytterhoeven  - SPKVDD1-supply
85*cd51b942SGeert Uytterhoeven  - SPKVDD2-supply
86*cd51b942SGeert Uytterhoeven
87*cd51b942SGeert UytterhoevenadditionalProperties: false
88*cd51b942SGeert Uytterhoeven
89*cd51b942SGeert Uytterhoevenexamples:
90*cd51b942SGeert Uytterhoeven  - |
91*cd51b942SGeert Uytterhoeven    #include <dt-bindings/clock/imx6qdl-clock.h>
92*cd51b942SGeert Uytterhoeven
93*cd51b942SGeert Uytterhoeven    i2c {
94*cd51b942SGeert Uytterhoeven          #address-cells = <1>;
95*cd51b942SGeert Uytterhoeven          #size-cells = <0>;
96*cd51b942SGeert Uytterhoeven
97*cd51b942SGeert Uytterhoeven          wm8962: codec@1a {
98*cd51b942SGeert Uytterhoeven                  compatible = "wlf,wm8962";
99*cd51b942SGeert Uytterhoeven                  reg = <0x1a>;
100*cd51b942SGeert Uytterhoeven                  clocks = <&clks IMX6QDL_CLK_CKO>;
101*cd51b942SGeert Uytterhoeven                  DCVDD-supply = <&reg_audio>;
102*cd51b942SGeert Uytterhoeven                  DBVDD-supply = <&reg_audio>;
103*cd51b942SGeert Uytterhoeven                  AVDD-supply = <&reg_audio>;
104*cd51b942SGeert Uytterhoeven                  CPVDD-supply = <&reg_audio>;
105*cd51b942SGeert Uytterhoeven                  MICVDD-supply = <&reg_audio>;
106*cd51b942SGeert Uytterhoeven                  PLLVDD-supply = <&reg_audio>;
107*cd51b942SGeert Uytterhoeven                  SPKVDD1-supply = <&reg_audio>;
108*cd51b942SGeert Uytterhoeven                  SPKVDD2-supply = <&reg_audio>;
109*cd51b942SGeert Uytterhoeven                  gpio-cfg = <
110*cd51b942SGeert Uytterhoeven                          0x0000 /* 0:Default */
111*cd51b942SGeert Uytterhoeven                          0x0000 /* 1:Default */
112*cd51b942SGeert Uytterhoeven                          0x0013 /* 2:FN_DMICCLK */
113*cd51b942SGeert Uytterhoeven                          0x0000 /* 3:Default */
114*cd51b942SGeert Uytterhoeven                          0x8014 /* 4:FN_DMICCDAT */
115*cd51b942SGeert Uytterhoeven                          0x0000 /* 5:Default */
116*cd51b942SGeert Uytterhoeven                  >;
117*cd51b942SGeert Uytterhoeven          };
118*cd51b942SGeert Uytterhoeven    };
119