Unverified Commit 8c4d2a0b authored by Mark Brown's avatar Mark Brown
Browse files

Merge branch 'asoc-5.5' into asoc-next

parents 3701d2cb 39870b0d
Loading
Loading
Loading
Loading
+85 −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.

  dvdd-supply:
    description: Internal Core Digital Power Supply.

  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:
  - |
    i2c {
        /* example with i2c support */
        #address-cells = <1>;
        #size-cells = <0>;
        adau7118_codec: audio-codec@14 {
                compatible = "adi,adau7118";
                reg = <0x14>;
                #sound-dai-cells = <0>;
                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>;
            iovdd-supply = <&supply>;
            dvdd-supply = <&supply>;
    };
+267 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/allwinner,sun4i-a10-codec.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A10 Codec Device Tree Bindings

maintainers:
  - Chen-Yu Tsai <wens@csie.org>
  - Maxime Ripard <maxime.ripard@bootlin.com>

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

  compatible:
    enum:
      - allwinner,sun4i-a10-codec
      - allwinner,sun6i-a31-codec
      - allwinner,sun7i-a20-codec
      - allwinner,sun8i-a23-codec
      - allwinner,sun8i-h3-codec
      - allwinner,sun8i-v3s-codec

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: Bus Clock
      - description: Module Clock

  clock-names:
    items:
      - const: apb
      - const: codec

  dmas:
    items:
      - description: RX DMA Channel
      - description: TX DMA Channel

  dma-names:
    items:
      - const: rx
      - const: tx

  resets:
    maxItems: 1

  allwinner,audio-routing:
    description: |-
      A list of the connections between audio components.  Each entry
      is a pair of strings, the first being the connection's sink, the
      second being the connection's source.
    allOf:
      - $ref: /schemas/types.yaml#definitions/non-unique-string-array
      - minItems: 2
        maxItems: 18
        items:
          enum:
            # Audio Pins on the SoC
            - HP
            - HPCOM
            - LINEIN
            - LINEOUT
            - MIC1
            - MIC2
            - MIC3

            # Microphone Biases from the SoC
            - HBIAS
            - MBIAS

            # Board Connectors
            - Headphone
            - Headset Mic
            - Line In
            - Line Out
            - Mic
            - Speaker

  allwinner,codec-analog-controls:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: Phandle to the codec analog controls in the PRCM

  allwinner,pa-gpios:
    description: GPIO to enable the external amplifier

required:
  - "#sound-dai-cells"
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - dmas
  - dma-names

allOf:
  - if:
      properties:
        compatible:
          enum:
            - allwinner,sun6i-a31-codec
            - allwinner,sun8i-a23-codec
            - allwinner,sun8i-h3-codec
            - allwinner,sun8i-v3s-codec

    then:
      if:
        properties:
          compatible:
            const: allwinner,sun6i-a31-codec

      then:
        required:
          - resets
          - allwinner,audio-routing

      else:
        required:
          - resets
          - allwinner,audio-routing
          - allwinner,codec-analog-controls

  - if:
      properties:
        compatible:
          enum:
            - allwinner,sun6i-a31-codec

    then:
      properties:
        allwinner,audio-routing:
          items:
            enum:
              - HP
              - HPCOM
              - LINEIN
              - LINEOUT
              - MIC1
              - MIC2
              - MIC3
              - HBIAS
              - MBIAS
              - Headphone
              - Headset Mic
              - Line In
              - Line Out
              - Mic
              - Speaker

  - if:
      properties:
        compatible:
          enum:
            - allwinner,sun8i-a23-codec

    then:
      properties:
        allwinner,audio-routing:
          items:
            enum:
              - HP
              - HPCOM
              - LINEIN
              - MIC1
              - MIC2
              - HBIAS
              - MBIAS
              - Headphone
              - Headset Mic
              - Line In
              - Line Out
              - Mic
              - Speaker

  - if:
      properties:
        compatible:
          enum:
            - allwinner,sun8i-h3-codec

    then:
      properties:
        allwinner,audio-routing:
          items:
            enum:
              - HP
              - HPCOM
              - LINEIN
              - LINEOUT
              - MIC1
              - MIC2
              - HBIAS
              - MBIAS
              - Headphone
              - Headset Mic
              - Line In
              - Line Out
              - Mic
              - Speaker

  - if:
      properties:
        compatible:
          enum:
            - allwinner,sun8i-v3s-codec

    then:
      properties:
        allwinner,audio-routing:
          items:
            enum:
              - HP
              - HPCOM
              - MIC1
              - HBIAS
              - Headphone
              - Headset Mic
              - Line In
              - Line Out
              - Mic
              - Speaker

additionalProperties: false

examples:
  - |
    codec@1c22c00 {
        #sound-dai-cells = <0>;
        compatible = "allwinner,sun7i-a20-codec";
        reg = <0x01c22c00 0x40>;
        interrupts = <0 30 4>;
        clocks = <&apb0_gates 0>, <&codec_clk>;
        clock-names = "apb", "codec";
        dmas = <&dma 0 19>, <&dma 0 19>;
        dma-names = "rx", "tx";
    };

  - |
    codec@1c22c00 {
        #sound-dai-cells = <0>;
        compatible = "allwinner,sun6i-a31-codec";
        reg = <0x01c22c00 0x98>;
        interrupts = <0 29 4>;
        clocks = <&ccu 61>, <&ccu 135>;
        clock-names = "apb", "codec";
        resets = <&ccu 42>;
        dmas = <&dma 15>, <&dma 15>;
        dma-names = "rx", "tx";
        allwinner,audio-routing =
            "Headphone", "HP",
            "Speaker", "LINEOUT",
            "LINEIN", "Line In",
            "MIC1", "MBIAS",
            "MIC1", "Mic",
            "MIC2", "HBIAS",
            "MIC2", "Headset Mic";
    };

...
+38 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/allwinner,sun8i-a23-codec-analog.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A23 Analog Codec Device Tree Bindings

maintainers:
  - Chen-Yu Tsai <wens@csie.org>
  - Maxime Ripard <maxime.ripard@bootlin.com>

properties:
  compatible:
    enum:
      # FIXME: This is documented in the PRCM binding, but needs to be
      # migrated here at some point
      # - allwinner,sun8i-a23-codec-analog
      - allwinner,sun8i-h3-codec-analog
      - allwinner,sun8i-v3s-codec-analog

  reg:
    maxItems: 1

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    codec_analog: codec-analog@1f015c0 {
      compatible = "allwinner,sun8i-h3-codec-analog";
      reg = <0x01f015c0 0x4>;
    };

...
+3 −2
Original line number Diff line number Diff line
Audio Binding for Arndale boards

Required properties:
- compatible : Can be the following,
			"samsung,arndale-rt5631"
- compatible : Can be one of the following:
		"samsung,arndale-rt5631",
		"samsung,arndale-wm1811"

- samsung,audio-cpu: The phandle of the Samsung I2S controller
- samsung,audio-codec: The phandle of the audio codec
+36 −0
Original line number Diff line number Diff line
fsl,mqs audio CODEC

Required properties:
  - compatible : Must contain one of "fsl,imx6sx-mqs", "fsl,codec-mqs"
		"fsl,imx8qm-mqs", "fsl,imx8qxp-mqs".
  - clocks : A list of phandles + clock-specifiers, one for each entry in
	     clock-names
  - clock-names : "mclk" - must required.
		  "core" - required if compatible is "fsl,imx8qm-mqs", it
		           is for register access.
  - gpr : A phandle of General Purpose Registers in IOMUX Controller.
	  Required if compatible is "fsl,imx6sx-mqs".

Required if compatible is "fsl,imx8qm-mqs":
  - power-domains: A phandle of PM domain provider node.
  - reg: Offset and length of the register set for the device.

Example:

mqs: mqs {
	compatible = "fsl,imx6sx-mqs";
	gpr = <&gpr>;
	clocks = <&clks IMX6SX_CLK_SAI1>;
	clock-names = "mclk";
	status = "disabled";
};

mqs: mqs@59850000 {
	compatible = "fsl,imx8qm-mqs";
	reg = <0x59850000 0x10000>;
	clocks = <&clk IMX8QM_AUD_MQS_IPG>,
		 <&clk IMX8QM_AUD_MQS_HMCLK>;
	clock-names = "core", "mclk";
	power-domains = <&pd_mqs0>;
	status = "disabled";
};
Loading