Unverified Commit 5ecc573d authored by David Heidelberg's avatar David Heidelberg Committed by Mark Brown
Browse files

ASoC: wm8903: Convert txt bindings to yaml



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

Signed-off-by: default avatarDavid Heidelberg <david@ixit.cz>
Acked-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20211028124639.38420-1-david@ixit.cz


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

title: WM8903 audio codec

description: |
  This device supports I2C only.
  Pins on the device (for linking into audio routes):
      * IN1L
      * IN1R
      * IN2L
      * IN2R
      * IN3L
      * IN3R
      * DMICDAT
      * HPOUTL
      * HPOUTR
      * LINEOUTL
      * LINEOUTR
      * LOP
      * LON
      * ROP
      * RON
      * MICBIAS

maintainers:
  - patches@opensource.cirrus.com

properties:
  compatible:
    const: wlf,wm8903

  reg:
    maxItems: 1

  gpio-controller: true
  '#gpio-cells':
    const: 2

  interrupts:
    maxItems: 1

  micdet-cfg:
    $ref: /schemas/types.yaml#/definitions/uint32
    default: 0
    description: Default register value for R6 (Mic Bias).

  micdet-delay:
    $ref: /schemas/types.yaml#/definitions/uint32
    default: 100
    description: The debounce delay for microphone detection in mS.

  gpio-cfg:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    description: |
      minItems: 5
      maxItems: 5
      A list of GPIO configuration register values.
      If absent, no configuration of these registers is performed.
      If any entry has the value 0xffffffff, that GPIO's
      configuration will not be modified.

  AVDD-supply:
    description: Analog power supply regulator on the AVDD pin.

  CPVDD-supply:
    description: Charge pump supply regulator on the CPVDD pin.

  DBVDD-supply:
    description: Digital buffer supply regulator for the DBVDD pin.

  DCVDD-supply:
    description: Digital core supply regulator for the DCVDD pin.


required:
  - compatible
  - reg
  - gpio-controller
  - '#gpio-cells'

additionalProperties: false

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

      wm8903: codec@1a {
        compatible = "wlf,wm8903";
        reg = <0x1a>;
        interrupts = <347>;

        AVDD-supply = <&fooreg_a>;
        CPVDD-supply = <&fooreg_b>;
        DBVDD-supply = <&fooreg_c>;
        DCVDD-supply = <&fooreg_d>;

        gpio-controller;
        #gpio-cells = <2>;

        micdet-cfg = <0>;
        micdet-delay = <100>;
        gpio-cfg = <
          0x0600 /* DMIC_LR, output */
          0x0680 /* DMIC_DAT, input */
          0x0000 /* GPIO, output, low */
          0x0200 /* Interrupt, output */
          0x01a0 /* BCLK, input, active high */
        >;
      };
    };
+0 −82
Original line number Diff line number Diff line
WM8903 audio CODEC

This device supports I2C only.

Required properties:

  - compatible : "wlf,wm8903"

  - reg : the I2C address of the device.

  - gpio-controller : Indicates this device is a GPIO controller.

  - #gpio-cells : Should be two. The first cell is the pin number and the
    second cell is used to specify optional parameters (currently unused).

Optional properties:

  - interrupts : The interrupt line the codec is connected to.

  - micdet-cfg : Default register value for R6 (Mic Bias). If absent, the
    default is 0.

  - micdet-delay : The debounce delay for microphone detection in mS. If
    absent, the default is 100.

  - gpio-cfg : A list of GPIO configuration register values. The list must
    be 5 entries long. If absent, no configuration of these registers is
    performed. If any entry has the value 0xffffffff, that GPIO's
    configuration will not be modified.

  - AVDD-supply : Analog power supply regulator on the AVDD pin.

  - CPVDD-supply : Charge pump supply regulator on the CPVDD pin.

  - DBVDD-supply : Digital buffer supply regulator for the DBVDD pin.

  - DCVDD-supply : Digital core supply regulator for the DCVDD pin.

Pins on the device (for linking into audio routes):

  * IN1L
  * IN1R
  * IN2L
  * IN2R
  * IN3L
  * IN3R
  * DMICDAT
  * HPOUTL
  * HPOUTR
  * LINEOUTL
  * LINEOUTR
  * LOP
  * LON
  * ROP
  * RON
  * MICBIAS

Example:

wm8903: codec@1a {
	compatible = "wlf,wm8903";
	reg = <0x1a>;
	interrupts = < 347 >;

	AVDD-supply = <&fooreg_a>;
	CPVDD-supply = <&fooreg_b>;
	DBVDD-supply = <&fooreg_c>;
	DCVDC-supply = <&fooreg_d>;

	gpio-controller;
	#gpio-cells = <2>;

	micdet-cfg = <0>;
	micdet-delay = <100>;
	gpio-cfg = <
		0x0600 /* DMIC_LR, output */
		0x0680 /* DMIC_DAT, input */
		0x0000 /* GPIO, output, low */
		0x0200 /* Interrupt, output */
		0x01a0 /* BCLK, input, active high */
	>;
};