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