Unverified Commit cd51b942 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Mark Brown
Browse files

ASoC: dt-bindings: wlf,wm8962: Convert to json-schema



Convert the Wolfson WM8962 Ultra-Low Power Stereo CODEC Device Tree
binding documentation to json-schema.

Add missing *-supply and port properties.
Update the example.

Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Acked-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/b0868d2f62fd57499c79d96298e99e5f9e4fbc76.1634565154.git.geert+renesas@glider.be


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 8a8e1b90
Loading
Loading
Loading
Loading
+118 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/wlf,wm8962.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Wolfson WM8962 Ultra-Low Power Stereo CODEC

maintainers:
  - patches@opensource.cirrus.com

properties:
  compatible:
    const: wlf,wm8962

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  "#sound-dai-cells":
    const: 0

  AVDD-supply:
    description: Analogue supply.

  CPVDD-supply:
    description: Charge pump power supply.

  DBVDD-supply:
    description: Digital Buffer Supply.

  DCVDD-supply:
    description: Digital Core Supply.

  MICVDD-supply:
    description: Microphone bias amp supply.

  PLLVDD-supply:
    description: PLL Supply

  SPKVDD1-supply:
    description: Supply for left speaker drivers.

  SPKVDD2-supply:
    description: Supply for right speaker drivers.

  spk-mono:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      If present, the SPK_MONO bit of R51 (Class D Control 2) gets set,
      indicating that the speaker is in mono mode.

  mic-cfg:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Default register value for R48 (Additional Control 4).
      If absent, the default should be the register default.

  gpio-cfg:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    minItems: 6
    maxItems: 6
    description:
      A list of GPIO configuration register values.  If absent, no
      configuration of these registers is performed.  Note that only values
      within [0x0, 0xffff] are valid.  Any other value is regarded as setting
      the GPIO register to its reset value 0x0.

  port:
    $ref: audio-graph-port.yaml#
    unevaluatedProperties: false

required:
  - compatible
  - reg
  - AVDD-supply
  - CPVDD-supply
  - DBVDD-supply
  - DCVDD-supply
  - MICVDD-supply
  - PLLVDD-supply
  - SPKVDD1-supply
  - SPKVDD2-supply

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/imx6qdl-clock.h>

    i2c {
          #address-cells = <1>;
          #size-cells = <0>;

          wm8962: codec@1a {
                  compatible = "wlf,wm8962";
                  reg = <0x1a>;
                  clocks = <&clks IMX6QDL_CLK_CKO>;
                  DCVDD-supply = <&reg_audio>;
                  DBVDD-supply = <&reg_audio>;
                  AVDD-supply = <&reg_audio>;
                  CPVDD-supply = <&reg_audio>;
                  MICVDD-supply = <&reg_audio>;
                  PLLVDD-supply = <&reg_audio>;
                  SPKVDD1-supply = <&reg_audio>;
                  SPKVDD2-supply = <&reg_audio>;
                  gpio-cfg = <
                          0x0000 /* 0:Default */
                          0x0000 /* 1:Default */
                          0x0013 /* 2:FN_DMICCLK */
                          0x0000 /* 3:Default */
                          0x8014 /* 4:FN_DMICCDAT */
                          0x0000 /* 5:Default */
                  >;
          };
    };
+0 −43
Original line number Diff line number Diff line
WM8962 audio CODEC

This device supports I2C only.

Required properties:

  - compatible : "wlf,wm8962"

  - reg : the I2C address of the device.

Optional properties:

  - clocks : The clock source of the mclk

  - spk-mono: This is a boolean property. If present, the SPK_MONO bit
    of R51 (Class D Control 2) gets set, indicating that the speaker is
    in mono mode.

  - mic-cfg : Default register value for R48 (Additional Control 4).
    If absent, the default should be the register default.

  - gpio-cfg : A list of GPIO configuration register values. The list must
    be 6 entries long. If absent, no configuration of these registers is
    performed. And note that only the value within [0x0, 0xffff] is valid.
    Any other value is regarded as setting the GPIO register by its reset
    value 0x0.

Example:

wm8962: codec@1a {
	compatible = "wlf,wm8962";
	reg = <0x1a>;
	clocks = <&clks IMX6QDL_CLK_CKO>;

	gpio-cfg = <
		0x0000 /* 0:Default */
		0x0000 /* 1:Default */
		0x0013 /* 2:FN_DMICCLK */
		0x0000 /* 3:Default */
		0x8014 /* 4:FN_DMICCDAT */
		0x0000 /* 5:Default */
	>;
};