Unverified Commit 969d49b2 authored by Nuno Sá's avatar Nuno Sá Committed by Mark Brown
Browse files

dt-bindings: asoc: Add ADAU7118 documentation



Document the ADAU7118 8 channel PDM to I2S/TDM converter devicetree
bindings.

Signed-off-by: default avatarNuno Sá <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20191010074234.7344-2-nuno.sa@analog.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent ca514c0f
Loading
Loading
Loading
Loading
+90 −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/adi,adau7118.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#


title: Analog Devices ADAU7118 8 Channel PDM to I2S/TDM Converter

maintainers:
  - Nuno Sá <nuno.sa@analog.com>

description: |
  Analog Devices ADAU7118 8 Channel PDM to I2S/TDM Converter over I2C or HW
  standalone mode.
  https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU7118.pdf

properties:
  compatible:
    enum:
      - adi,adau7118

  reg:
    maxItems: 1

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

  IOVDD-supply:
    description: Digital Input/Output Power Supply.
    $ref: "/schemas/types.yaml#/definitions/phandle"

  DVDD-supply:
    description: Internal Core Digital Power Supply.
    $ref: "/schemas/types.yaml#/definitions/phandle"

  adi,decimation-ratio:
    description: |
      This property set's the decimation ratio of PDM to PCM audio data.
    allOf:
      - $ref: /schemas/types.yaml#/definitions/uint32
      - enum: [64, 32, 16]
        default: 64

  adi,pdm-clk-map:
    description: |
      The ADAU7118 has two PDM clocks for the four Inputs. Each input must be
      assigned to one of these two clocks. This property set's the mapping
      between the clocks and the inputs.
    allOf:
      - $ref: /schemas/types.yaml#/definitions/uint32-array
      - minItems: 4
        maxItems: 4
        items:
          maximum: 1
        default: [0, 0, 1, 1]

required:
  - "#sound-dai-cells"
  - compatible
  - IOVDD-supply
  - DVDD-supply

examples:
  - |
    i2c0 {
        /* example with i2c support */
        #address-cells = <1>;
        #size-cells = <0>;
        status = "okay";
        adau7118_codec: adau7118-codec@14 {
                compatible = "adi,adau7118";
                reg = <14>;
                #sound-dai-cells = <0>;
                status = "okay";
                IOVDD-supply = <&supply>;
                DVDD-supply = <&supply>;
                adi,pdm-clk-map = <1 1 0 0>;
                adi,decimation-ratio = <16>;
        };
    };

    /* example with hw standalone mode */
    adau7118_codec_hw: adau7118-codec-hw {
            compatible = "adi,adau7118";
            #sound-dai-cells = <0>;
            status = "okay";
            IOVDD-supply = <&supply>;
            DVDD-supply = <&supply>;
    };