1af5932fcSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2af5932fcSKrzysztof Kozlowski%YAML 1.2
3af5932fcSKrzysztof Kozlowski---
4af5932fcSKrzysztof Kozlowski$id: http://devicetree.org/schemas/sound/wlf,wm8960.yaml#
5af5932fcSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6af5932fcSKrzysztof Kozlowski
7af5932fcSKrzysztof Kozlowskititle: Wolfson WM8960 audio codec
8af5932fcSKrzysztof Kozlowski
9af5932fcSKrzysztof Kozlowskimaintainers:
10af5932fcSKrzysztof Kozlowski  - patches@opensource.cirrus.com
11af5932fcSKrzysztof Kozlowski
12af5932fcSKrzysztof Kozlowskiproperties:
13af5932fcSKrzysztof Kozlowski  compatible:
14af5932fcSKrzysztof Kozlowski    const: wlf,wm8960
15af5932fcSKrzysztof Kozlowski
16af5932fcSKrzysztof Kozlowski  reg:
17af5932fcSKrzysztof Kozlowski    maxItems: 1
18af5932fcSKrzysztof Kozlowski
19af5932fcSKrzysztof Kozlowski  clocks:
20af5932fcSKrzysztof Kozlowski    maxItems: 1
21af5932fcSKrzysztof Kozlowski
22af5932fcSKrzysztof Kozlowski  clock-names:
23af5932fcSKrzysztof Kozlowski    items:
24af5932fcSKrzysztof Kozlowski      - const: mclk
25af5932fcSKrzysztof Kozlowski
26af5932fcSKrzysztof Kozlowski  '#sound-dai-cells':
27af5932fcSKrzysztof Kozlowski    const: 0
28af5932fcSKrzysztof Kozlowski
29*6a41c3a1SFabio Estevam  AVDD-supply:
30*6a41c3a1SFabio Estevam    description: Analogue supply.
31*6a41c3a1SFabio Estevam
32*6a41c3a1SFabio Estevam  DBVDD-supply:
33*6a41c3a1SFabio Estevam    description: Digital Buffer Supply.
34*6a41c3a1SFabio Estevam
35*6a41c3a1SFabio Estevam  DCVDD-supply:
36*6a41c3a1SFabio Estevam    description: Digital Core Supply.
37*6a41c3a1SFabio Estevam
38*6a41c3a1SFabio Estevam  SPKVDD1-supply:
39*6a41c3a1SFabio Estevam    description: Supply for speaker drivers 1.
40*6a41c3a1SFabio Estevam
41*6a41c3a1SFabio Estevam  SPKVDD2-supply:
42*6a41c3a1SFabio Estevam    description: Supply for speaker drivers 2.
43*6a41c3a1SFabio Estevam
44af5932fcSKrzysztof Kozlowski  wlf,capless:
45af5932fcSKrzysztof Kozlowski    type: boolean
46af5932fcSKrzysztof Kozlowski    description:
47af5932fcSKrzysztof Kozlowski      If present, OUT3 pin will be enabled and disabled together with HP_L and
48af5932fcSKrzysztof Kozlowski      HP_R pins in response to jack detect events.
49af5932fcSKrzysztof Kozlowski
50af5932fcSKrzysztof Kozlowski  wlf,gpio-cfg:
51af5932fcSKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32-array
52af5932fcSKrzysztof Kozlowski    maxItems: 2
53af5932fcSKrzysztof Kozlowski    description: |
54af5932fcSKrzysztof Kozlowski      A list of GPIO configuration register values.
55af5932fcSKrzysztof Kozlowski       - gpio-cfg[0]: ALRCGPIO of R9 (Audio interface)
56af5932fcSKrzysztof Kozlowski       - gpio-cfg[1]: {GPIOPOL:GPIOSEL[2:0]} of R48 (Additional Control 4).
57af5932fcSKrzysztof Kozlowski
58af5932fcSKrzysztof Kozlowski  wlf,hp-cfg:
59af5932fcSKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32-array
60af5932fcSKrzysztof Kozlowski    maxItems: 3
61af5932fcSKrzysztof Kozlowski    description: |
62af5932fcSKrzysztof Kozlowski      A list of headphone jack detect configuration register values:
63af5932fcSKrzysztof Kozlowski       - hp-cfg[0]: HPSEL[1:0] of R48 (Additional Control 4).
64af5932fcSKrzysztof Kozlowski       - hp-cfg[1]: {HPSWEN:HPSWPOL} of R24 (Additional Control 2).
65af5932fcSKrzysztof Kozlowski       - hp-cfg[2]: {TOCLKSEL:TOEN} of R23 (Additional Control 1).
66af5932fcSKrzysztof Kozlowski
67af5932fcSKrzysztof Kozlowski  wlf,shared-lrclk:
68af5932fcSKrzysztof Kozlowski    type: boolean
69af5932fcSKrzysztof Kozlowski    description:
70af5932fcSKrzysztof Kozlowski      If present, the LRCM bit of R24 (Additional control 2) gets set,
71af5932fcSKrzysztof Kozlowski      indicating that ADCLRC and DACLRC pins will be disabled only when ADC
72af5932fcSKrzysztof Kozlowski      (Left and Right) and DAC (Left and Right) are disabled.
73af5932fcSKrzysztof Kozlowski      When WM8960 works on synchronize mode and DACLRC pin is used to supply
74af5932fcSKrzysztof Kozlowski      frame clock, it will no frame clock for captrue unless enable DAC to
75af5932fcSKrzysztof Kozlowski      enable DACLRC pin. If shared-lrclk is present, no need to enable DAC for
76af5932fcSKrzysztof Kozlowski      captrue.
77af5932fcSKrzysztof Kozlowski
78af5932fcSKrzysztof Kozlowskirequired:
79af5932fcSKrzysztof Kozlowski  - compatible
80af5932fcSKrzysztof Kozlowski  - reg
81af5932fcSKrzysztof Kozlowski
82af5932fcSKrzysztof KozlowskiallOf:
83af5932fcSKrzysztof Kozlowski  - $ref: dai-common.yaml#
84af5932fcSKrzysztof Kozlowski
85af5932fcSKrzysztof KozlowskiunevaluatedProperties: false
86af5932fcSKrzysztof Kozlowski
87af5932fcSKrzysztof Kozlowskiexamples:
88af5932fcSKrzysztof Kozlowski  - |
89af5932fcSKrzysztof Kozlowski    i2c {
90af5932fcSKrzysztof Kozlowski        #address-cells = <1>;
91af5932fcSKrzysztof Kozlowski        #size-cells = <0>;
92af5932fcSKrzysztof Kozlowski
93af5932fcSKrzysztof Kozlowski        audio-codec@1a {
94af5932fcSKrzysztof Kozlowski            compatible = "wlf,wm8960";
95af5932fcSKrzysztof Kozlowski            reg = <0x1a>;
96af5932fcSKrzysztof Kozlowski            clocks = <&clks 0>;
97af5932fcSKrzysztof Kozlowski            clock-names = "mclk";
98af5932fcSKrzysztof Kozlowski            #sound-dai-cells = <0>;
99af5932fcSKrzysztof Kozlowski            wlf,hp-cfg = <3 2 3>;
100af5932fcSKrzysztof Kozlowski            wlf,gpio-cfg = <1 3>;
101af5932fcSKrzysztof Kozlowski            wlf,shared-lrclk;
102*6a41c3a1SFabio Estevam            DCVDD-supply = <&reg_audio>;
103*6a41c3a1SFabio Estevam            DBVDD-supply = <&reg_audio>;
104*6a41c3a1SFabio Estevam            AVDD-supply = <&reg_audio>;
105*6a41c3a1SFabio Estevam            SPKVDD1-supply = <&reg_audio>;
106*6a41c3a1SFabio Estevam            SPKVDD2-supply = <&reg_audio>;
107af5932fcSKrzysztof Kozlowski        };
108af5932fcSKrzysztof Kozlowski    };
109