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