Unverified Commit 1c521d7e authored by Mark Brown's avatar Mark Brown
Browse files

Merge branch 'asoc-5.7' into asoc-next

parents 8e3bb8ec 3d2cdb85
Loading
Loading
Loading
Loading
+113 −0
Original line number Original line Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/amlogic,aiu.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Amlogic AIU audio output controller

maintainers:
  - Jerome Brunet <jbrunet@baylibre.com>

properties:
  $nodename:
    pattern: "^audio-controller@.*"

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

  compatible:
    items:
      - enum:
        - amlogic,aiu-gxbb
        - amlogic,aiu-gxl
        - amlogic,aiu-meson8
        - amlogic,aiu-meson8b
      - const:
          amlogic,aiu

  clocks:
    items:
      - description: AIU peripheral clock
      - description: I2S peripheral clock
      - description: I2S output clock
      - description: I2S master clock
      - description: I2S mixer clock
      - description: SPDIF peripheral clock
      - description: SPDIF output clock
      - description: SPDIF master clock
      - description: SPDIF master clock multiplexer

  clock-names:
    items:
      - const: pclk
      - const: i2s_pclk
      - const: i2s_aoclk
      - const: i2s_mclk
      - const: i2s_mixer
      - const: spdif_pclk
      - const: spdif_aoclk
      - const: spdif_mclk
      - const: spdif_mclk_sel

  interrupts:
    items:
      - description: I2S interrupt line
      - description: SPDIF interrupt line

  interrupt-names:
    items:
      - const: i2s
      - const: spdif

  reg:
    maxItems: 1

  resets:
    maxItems: 1

required:
  - "#sound-dai-cells"
  - compatible
  - clocks
  - clock-names
  - interrupts
  - interrupt-names
  - reg
  - resets

examples:
  - |
    #include <dt-bindings/clock/gxbb-clkc.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/reset/amlogic,meson-gxbb-reset.h>

    aiu: audio-controller@5400 {
        compatible = "amlogic,aiu-gxl", "amlogic,aiu";
        #sound-dai-cells = <2>;
        reg = <0x0 0x5400 0x0 0x2ac>;
        interrupts = <GIC_SPI 48 IRQ_TYPE_EDGE_RISING>,
                     <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
        interrupt-names = "i2s", "spdif";
        clocks = <&clkc CLKID_AIU_GLUE>,
                 <&clkc CLKID_I2S_OUT>,
                 <&clkc CLKID_AOCLK_GATE>,
                 <&clkc CLKID_CTS_AMCLK>,
                 <&clkc CLKID_MIXER_IFACE>,
                 <&clkc CLKID_IEC958>,
                 <&clkc CLKID_IEC958_GATE>,
                 <&clkc CLKID_CTS_MCLK_I958>,
                 <&clkc CLKID_CTS_I958>;
        clock-names = "pclk",
                      "i2s_pclk",
                      "i2s_aoclk",
                      "i2s_mclk",
                      "i2s_mixer",
                      "spdif_pclk",
                      "spdif_aoclk",
                      "spdif_mclk",
                      "spdif_mclk_sel";
        resets = <&reset RESET_AIU>;
    };
+51 −0
Original line number Original line Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/amlogic,g12a-toacodec.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Amlogic G12a Internal DAC Control Glue

maintainers:
  - Jerome Brunet <jbrunet@baylibre.com>

properties:
  $nodename:
    pattern: "^audio-controller@.*"

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

  compatible:
    oneOf:
      - items:
        - const:
            amlogic,g12a-toacodec
      - items:
        - enum:
          - amlogic,sm1-toacodec
        - const:
            amlogic,g12a-toacodec

  reg:
    maxItems: 1

  resets:
    maxItems: 1

required:
  - "#sound-dai-cells"
  - compatible
  - reg
  - resets

examples:
  - |
    #include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h>

    toacodec: audio-controller@740 {
        compatible = "amlogic,g12a-toacodec";
        reg = <0x0 0x740 0x0 0x4>;
        #sound-dai-cells = <1>;
        resets = <&clkc_audio AUD_RESET_TOACODEC>;
    };
+113 −0
Original line number Original line Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/amlogic,gx-sound-card.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Amlogic GX sound card

maintainers:
  - Jerome Brunet <jbrunet@baylibre.com>

properties:
  compatible:
    items:
      - const: amlogic,gx-sound-card

  audio-aux-devs:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    description: list of auxiliary devices

  audio-routing:
    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
    minItems: 2
    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.

  audio-widgets:
    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
    minItems: 2
    description: |-
      A list off component DAPM widget. Each entry is a pair of strings,
      the first being the widget type, the second being the widget name

  model:
    $ref: /schemas/types.yaml#/definitions/string
    description: User specified audio sound card name

patternProperties:
  "^dai-link-[0-9]+$":
    type: object
    description: |-
      dai-link child nodes:
        Container for dai-link level properties and the CODEC sub-nodes.
        There should be at least one (and probably more) subnode of this type

    properties:
      dai-format:
        $ref: /schemas/types.yaml#/definitions/string
        enum: [ i2s, left-j, dsp_a ]

      mclk-fs:
        $ref: /schemas/types.yaml#/definitions/uint32
        description: |-
          Multiplication factor between the frame rate and master clock
          rate

      sound-dai:
        $ref: /schemas/types.yaml#/definitions/phandle
        description: phandle of the CPU DAI

    patternProperties:
      "^codec-[0-9]+$":
        type: object
        description: |-
          Codecs:
          dai-link representing backend links should have at least one subnode.
          One subnode for each codec of the dai-link. dai-link representing
          frontend links have no codec, therefore have no subnodes

        properties:
          sound-dai:
            $ref: /schemas/types.yaml#/definitions/phandle
            description: phandle of the codec DAI

        required:
          - sound-dai

    required:
      - sound-dai

required:
  - model
  - dai-link-0

examples:
  - |
    sound {
        compatible = "amlogic,gx-sound-card";
        model = "GXL-ACME-S905X-FOO";
        audio-aux-devs = <&amp>;
        audio-routing = "I2S ENCODER I2S IN", "I2S FIFO Playback";

        dai-link-0 {
               sound-dai = <&i2s_fifo>;
        };

        dai-link-1 {
                sound-dai = <&i2s_encoder>;
                dai-format = "i2s";
                mclk-fs = <256>;

                codec-0 {
                        sound-dai = <&codec0>;
                };

                codec-1 {
                        sound-dai = <&codec1>;
                };
        };
    };
+58 −0
Original line number Original line Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/amlogic,t9015.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Amlogic T9015 Internal Audio DAC

maintainers:
  - Jerome Brunet <jbrunet@baylibre.com>

properties:
  $nodename:
    pattern: "^audio-controller@.*"

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

  compatible:
    items:
      - const: amlogic,t9015

  clocks:
    items:
      - description: Peripheral clock

  clock-names:
    items:
      - const: pclk

  reg:
    maxItems: 1

  resets:
    maxItems: 1

required:
  - "#sound-dai-cells"
  - compatible
  - reg
  - clocks
  - clock-names
  - resets

examples:
  - |
    #include <dt-bindings/clock/g12a-clkc.h>
    #include <dt-bindings/reset/amlogic,meson-g12a-reset.h>

    acodec: audio-controller@32000 {
        compatible = "amlogic,t9015";
        reg = <0x0 0x32000 0x0 0x14>;
        #sound-dai-cells = <0>;
        clocks = <&clkc CLKID_AUDIO_CODEC>;
        clock-names = "pclk";
        resets = <&reset RESET_AUDIO_CODEC>;
    };
+29 −0
Original line number Original line Diff line number Diff line
Broadcom DSL/PON BCM63xx Audio I2S controller

Required properties:
- compatible:     Should be "brcm,bcm63xx-i2s".
- #address-cells: 32bit valued, 1 cell.
- #size-cells:    32bit valued, 0 cell.
- reg:            Should contain audio registers location and length
- interrupts:     Should contain the interrupt for the controller.
- clocks:         Must contain an entry for each entry in clock-names.
                  Please refer to clock-bindings.txt.
- clock-names:    One of each entry matching the clocks phandles list:
                  - "i2sclk" (generated clock) Required.
                  - "i2sosc" (fixed 200MHz clock) Required.

(1) : The generated clock is required only when any of TX and RX
      works on Master Mode.
(2) : The fixed 200MHz clock is from internal chip and always on

Example:

		i2s: bcm63xx-i2s {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "brcm,bcm63xx-i2s";
			reg = <0xFF802080 0xFF>;
			interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&i2sclk>, <&osc>;
			clock-names = "i2sclk","i2sosc";
		};
Loading