Commit 29a249d7 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

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

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

ASoC: Updates for v5.20

This is a big release thus far and there will probably be more changes
to come, it's a combination of a larger than usual crop of new drivers
and some subsysetm wide cleanups from Charles rather than anything
structural.  The SOF and Intel DSP code both also continue to be very
actively developed.

 - Restructing of the set_fmt() callbacks to be specified in terms of
   the device rather than with semantics depending on if the device is
   supposed to be a CODEC or SoC, making things clearer in situations
   like CODEC to CODEC links.
 - Clean up of the way we flag which DAI naming scheme we use to reflect
   the progress that's been made modernising things.
 - Merge of more of the Intel AVS driver stack, including some board
   integrations.
 - New version 4 mechanism for communication with SOF DSPs.
 - Suppoort for dynamically selecting the PLL to use at runtime on i.MX
   platforms.
 - Improvements for CODEC to CODEC support in the generic cards.
 - Support for AMD Jadeite and various machines, Intel MetorLake DSPs,
   Mediatek MT8186 DSPs and MT6366, nVidia Tegra MDDRC, OPE and PEQ, NXP
   TFA9890, Qualcomm SDM845, WCD9335 and WAS883x, and Texas Instruments
   TAS2780.
parents ffb2759d 7fb72b7b
Loading
Loading
Loading
Loading
+91 −0
Original line number Original line 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,mt8186-dsp.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MediaTek mt8186 DSP core

maintainers:
  - Tinghan Shen <tinghan.shen@mediatek.com>

description: |
  MediaTek mt8186 SoC contains a DSP core used for
  advanced pre- and post- audio processing.

properties:
  compatible:
    const: mediatek,mt8186-dsp

  reg:
    items:
      - description: Address and size of the DSP config registers
      - description: Address and size of the DSP SRAM
      - description: Address and size of the DSP secure registers
      - description: Address and size of the DSP bus registers

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

  clocks:
    items:
      - description: mux for audio dsp clock
      - description: mux for audio dsp local bus

  clock-names:
    items:
      - const: audiodsp
      - const: adsp_bus

  power-domains:
    maxItems: 1

  mboxes:
    items:
      - description: mailbox for receiving audio DSP requests.
      - description: mailbox for transmitting requests to audio DSP.

  mbox-names:
    items:
      - const: rx
      - const: tx

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

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

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/mt8186-clk.h>
    dsp@10680000 {
        compatible = "mediatek,mt8186-dsp";
        reg = <0x10680000 0x2000>,
              <0x10800000 0x100000>,
              <0x1068b000 0x100>,
              <0x1068f000 0x1000>;
        reg-names = "cfg", "sram", "sec", "bus";
        clocks = <&topckgen CLK_TOP_AUDIODSP>,
                 <&topckgen CLK_TOP_ADSP_BUS>;
        clock-names = "audiodsp",
                      "adsp_bus";
        power-domains = <&spm 6>;
        mbox-names = "rx", "tx";
        mboxes = <&adsp_mailbox0>, <&adsp_mailbox1>;
    };
+5 −5
Original line number Original line Diff line number Diff line
@@ -50,13 +50,13 @@ properties:


  mboxes:
  mboxes:
    items:
    items:
      - description: ipc reply between host and audio DSP.
      - description: mailbox for receiving audio DSP requests.
      - description: ipc request between host and audio DSP.
      - description: mailbox for transmitting requests to audio DSP.


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


  memory-region:
  memory-region:
    items:
    items:
@@ -100,6 +100,6 @@ examples:
       memory-region = <&adsp_dma_mem_reserved>,
       memory-region = <&adsp_dma_mem_reserved>,
                       <&adsp_mem_reserved>;
                       <&adsp_mem_reserved>;
       power-domains = <&spm 6>; //MT8195_POWER_DOMAIN_ADSP
       power-domains = <&spm 6>; //MT8195_POWER_DOMAIN_ADSP
       mbox-names = "mbox0", "mbox1";
       mbox-names = "rx", "tx";
       mboxes = <&adsp_mailbox0>, <&adsp_mailbox1>;
       mboxes = <&adsp_mailbox0>, <&adsp_mailbox1>;
    };
    };
+29 −1
Original line number Original line Diff line number Diff line
@@ -24,6 +24,21 @@ properties:
    maxItems: 1
    maxItems: 1
    description: I2C address of the device.
    description: I2C address of the device.


  avdd-supply:
    description: A 1.8V supply that powers up the AVDD pin.

  dvdd-supply:
    description: A 1.2V supply that powers up the DVDD pin.

  dvddio-supply:
    description: A 1.2V or 1.8V supply that powers up the VDDIO pin.

  pvdd-supply:
    description: A 3.0V to 20V supply that powers up the PVDD pin.

  vbat-supply:
    description: A 3.3V to 5.5V supply that powers up the VBAT pin.

  adi,vmon-slot-no:
  adi,vmon-slot-no:
    description: slot number of the voltage sense monitor
    description: slot number of the voltage sense monitor
    $ref: "/schemas/types.yaml#/definitions/uint32"
    $ref: "/schemas/types.yaml#/definitions/uint32"
@@ -36,13 +51,22 @@ properties:
    $ref: "/schemas/types.yaml#/definitions/uint32"
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    minimum: 0
    maximum: 15
    maximum: 15
    default: 0
    default: 1


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

  adi,bypass-slot-no:
    description:
      Selects the PCM data input channel that is routed to the speaker
      audio processing bypass path.
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 15
    default: 0
    default: 0


  adi,interleave-mode:
  adi,interleave-mode:
@@ -72,6 +96,10 @@ examples:
        max98396: amplifier@39 {
        max98396: amplifier@39 {
            compatible = "adi,max98396";
            compatible = "adi,max98396";
            reg = <0x39>;
            reg = <0x39>;
            dvdd-supply = <&regulator_1v2>;
            dvddio-supply = <&regulator_1v8>;
            avdd-supply = <&regulator_1v8>;
            pvdd-supply = <&regulator_pvdd>;
            adi,vmon-slot-no = <0>;
            adi,vmon-slot-no = <0>;
            adi,imon-slot-no = <1>;
            adi,imon-slot-no = <1>;
            reset-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
            reset-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+5 −0
Original line number Original line Diff line number Diff line
@@ -21,6 +21,11 @@ properties:
    description:
    description:
      Regulator for the headphone amplifier
      Regulator for the headphone amplifier


  allwinner,internal-bias-resistor:
    description:
      Enable the internal 2.2K bias resistor between HBIAS and MICDET pins
    type: boolean

required:
required:
  - compatible
  - compatible
  - reg
  - reg
+1 −1
Original line number Original line Diff line number Diff line
@@ -16,7 +16,7 @@ Board connectors:
 * Line In Jack
 * Line In Jack


wm8731 pins:
wm8731 pins:
cf Documentation/devicetree/bindings/sound/wm8731.txt
cf Documentation/devicetree/bindings/sound/wlf,wm8731.yaml


Example:
Example:
sound {
sound {
Loading