Commit 0163717e authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge tag 'asoc-v5.19' of...

Merge tag 'asoc-v5.19' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Updates for v5.19

This is quite a big update, partly due to the addition of some larger
drivers (more of which is to follow since at least the AVS driver is
still a work in progress) and partly due to Charles' work sorting out
our handling of endianness.  As has been the case recently it's much
more about drivers than the core.

 - Overhaul of endianness specification for data formats, avoiding
   needless restrictions due to CODECs.
 - Initial stages of Intel AVS driver merge.
 - Introduction of v4 IPC mechanism for SOF.
 - TDM mode support for AK4613.
 - Support for Analog Devices ADAU1361, Cirrus Logic CS35L45, Maxim
   MAX98396, MediaTek MT8186, NXP i.MX8 micfil and SAI interfaces,
   nVidia Tegra186 ASRC, and Texas Instruments TAS2764 and TAS2780
parents 1693e265 e5cd20e0
Loading
Loading
Loading
Loading
+105 −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/dsp/mediatek,mt8195-dsp.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Mediatek mt8195 DSP core

maintainers:
  - YC Hung <yc.hung@mediatek.com>

description: |
  Some boards from mt8195 contain a DSP core used for
  advanced pre- and post- audio processing.

properties:
  compatible:
    const: mediatek,mt8195-dsp

  reg:
    items:
      - description: Address and size of the DSP Cfg registers
      - description: Address and size of the DSP SRAM

  reg-names:
    items:
      - const: cfg
      - const: sram

  clocks:
    items:
      - description: mux for audio dsp clock
      - description: 26M clock
      - description: mux for audio dsp local bus
      - description: default audio dsp local bus clock source
      - description: clock gate for audio dsp clock
      - description: mux for audio dsp access external bus

  clock-names:
    items:
      - const: adsp_sel
      - const: clk26m_ck
      - const: audio_local_bus
      - const: mainpll_d7_d2
      - const: scp_adsp_audiodsp
      - const: audio_h

  power-domains:
    maxItems: 1

  mboxes:
    items:
      - description: ipc reply between host and audio DSP.
      - description: ipc request between host and audio DSP.

  mbox-names:
    items:
      - const: mbox0
      - const: mbox1

  memory-region:
    items:
      - description: dma buffer between host and DSP.
      - description: DSP system memory.

required:
  - compatible
  - reg
  - reg-names
  - clocks
  - clock-names
  - memory-region
  - power-domains
  - mbox-names
  - mboxes

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    dsp@10803000 {
       compatible =  "mediatek,mt8195-dsp";
       reg = <0x10803000  0x1000>,
             <0x10840000  0x40000>;
       reg-names = "cfg", "sram";
       clocks = <&topckgen 10>, //CLK_TOP_ADSP
                <&clk26m>,
                <&topckgen 107>, //CLK_TOP_AUDIO_LOCAL_BUS
                <&topckgen 136>, //CLK_TOP_MAINPLL_D7_D2
                <&scp_adsp 0>, //CLK_SCP_ADSP_AUDIODSP
                <&topckgen 34>; //CLK_TOP_AUDIO_H
       clock-names = "adsp_sel",
                     "clk26m_ck",
                     "audio_local_bus",
                     "mainpll_d7_d2",
                     "scp_adsp_audiodsp",
                     "audio_h";
       memory-region = <&adsp_dma_mem_reserved>,
                       <&adsp_mem_reserved>;
       power-domains = <&spm 6>; //MT8195_POWER_DOMAIN_ADSP
       mbox-names = "mbox0", "mbox1";
       mboxes = <&adsp_mailbox0>, <&adsp_mailbox1>;
    };
+79 −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,max98396.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices MAX98396 Speaker Amplifier Device Tree Bindings

maintainers:
  - Ryan Lee <ryans.lee@analog.com>

description:
  The MAX98396 is a mono Class-DG speaker amplifier with I/V sense.
  The device provides a PCM interface for audio data and a standard
  I2C interface for control data communication.
  The MAX98397 is a variant of MAX98396 with wide input supply range.

properties:
  compatible:
    enum:
      - adi,max98396
      - adi,max98397
  reg:
    maxItems: 1
    description: I2C address of the device.

  adi,vmon-slot-no:
    description: slot number of the voltage sense monitor
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 15
    default: 0

  adi,imon-slot-no:
    description: slot number of the current sense monitor
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 15
    default: 0

  adi,spkfb-slot-no:
    description: slot number of speaker DSP monitor
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 15
    default: 0

  adi,interleave-mode:
    description:
      For cases where a single combined channel for the I/V sense data
      is not sufficient, the device can also be configured to share
      a single data output channel on alternating frames.
      In this configuration, the current and voltage data will be frame
      interleaved on a single output channel.
    type: boolean

  reset-gpios:
    maxItems: 1

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        max98396: amplifier@39 {
            compatible = "adi,max98396";
            reg = <0x39>;
            adi,vmon-slot-no = <0>;
            adi,imon-slot-no = <1>;
            reset-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
        };
    };
+75 −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/cirrus,cs35l45.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cirrus Logic CS35L45 Speaker Amplifier

maintainers:
  - Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
  - Richard Fitzgerald <rf@opensource.cirrus.com>

description: |
  CS35L45 is a Boosted Mono Class D Amplifier with DSP
  Speaker Protection and Adaptive Battery Management.

properties:
  compatible:
    enum:
      - cirrus,cs35l45

  reg:
    maxItems: 1

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

  reset-gpios:
    maxItems: 1

  vdd-a-supply:
    description: voltage regulator phandle for the VDD_A supply

  vdd-batt-supply:
    description: voltage regulator phandle for the VDD_BATT supply

  spi-max-frequency:
    maximum: 5000000

  cirrus,asp-sdout-hiz-ctrl:
    description:
      Audio serial port SDOUT Hi-Z control. Sets the Hi-Z
      configuration for SDOUT pin of amplifier. Logical OR of
      CS35L45_ASP_TX_HIZ_xxx values.
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 3
    default: 2

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

additionalProperties: false

examples:
  - |
    #include <dt-bindings/sound/cs35l45.h>
    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        cs35l45: cs35l45@2 {
          #sound-dai-cells = <1>;
          compatible = "cirrus,cs35l45";
          reg = <2>;
          spi-max-frequency = <5000000>;
          vdd-a-supply = <&dummy_vreg>;
          vdd-batt-supply = <&dummy_vreg>;
          reset-gpios = <&gpio 110 0>;
          cirrus,asp-sdout-hiz-ctrl = <(CS35L45_ASP_TX_HIZ_UNUSED |
                                        CS35L45_ASP_TX_HIZ_DISABLED)>;
        };
    };
+1 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ microphone bitstream in a configurable output sampling rate.
Required properties:

  - compatible		: Compatible list, contains "fsl,imx8mm-micfil"
			  or "fsl,imx8mp-micfil"

  - reg			: Offset and length of the register set for the device.

+5 −0
Original line number Diff line number Diff line
@@ -29,6 +29,9 @@ properties:
    minimum: 1
    maximum: 8388607

  reset-gpios:
    maxItems: 1

required:
  - compatible
  - reg
@@ -37,6 +40,7 @@ additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;
@@ -45,5 +49,6 @@ examples:
        reg = <0x38>;
        maxim,temperature_calib = <1024>;
        maxim,r0_calib = <100232>;
        reset-gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
      };
    };
Loading