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