Commit 668c3c23 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sound updates from Takashi Iwai:
 "As the diffstat shows, we've had lots of developments in a wide range
  at this time; the majority of changes are about ASoC, including
  subsystem-wide cleanups, continued SOF / Intel updates and a bunch of
  new drivers (as usual), while there have been some significant (but
  almost invisible) improvements in ALSA core side, too.

  Below are some highlights:

  Core:

   - Faster lookups of control elements with Xarray; normal user won't
     notice, but on the devices with tons of control elements, it can be
     visibly faster

   - Support for input validation for controls; this will harden for
     badly written drivers in general with a slight overhead

   - Deferred async signal handling for working around the potential
     deadlocks

   - Cleanup / refactoring raw MIDI locking code

  ASoC:

   - Restructing of the set_fmt() callbacks for making things clearer in
     situations like CODEC to CODEC links

   - Clean up and modernizing the DAI naming scheme setups

   - 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, AMD RPL, 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

  HD- and USB-audio:

   - Continued improvement for CS35L41 (sub)codec support

   - More quirks for various devices (HP, Lenovo, Dell, Clevo)"

* tag 'sound-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (778 commits)
  ALSA: hda/realtek: Add quirk for HP Spectre x360 15-eb0xxx
  ALSA: line6: Replace sprintf() with sysfs_emit()
  ALSA: hda: Replace sprintf() with sysfs_emit()
  ALSA: pcm: Replace sprintf() with sysfs_emit()
  ALSA: core: Replace scnprintf() with sysfs_emit()
  ALSA: control-led: Replace sprintf() with sysfs_emit()
  ALSA: aoa: Replace sprintf() with sysfs_emit()
  ALSA: ac97: Replace sprintf() with sysfs_emit()
  ALSA: hda/realtek: Add quirk for Clevo NV45PZ
  ALSA: hda/realtek: Add quirk for Lenovo Yoga9 14IAP7
  ALSA: control: Use deferred fasync helper
  ALSA: pcm: Use deferred fasync helper
  ALSA: timer: Use deferred fasync helper
  ALSA: core: Add async signal helpers
  ASoC: q6asm: use kcalloc() instead of kzalloc()
  ACPI: scan: Add CLSA0101 Laptop Support
  ALSA: hda: cs35l41: Support CLSA0101
  ALSA: hda: cs35l41: Use the CS35L41 HDA internal define
  ASoC: dt-bindings: use spi-peripheral-props.yaml
  ASoC: codecs: va-macro: use fsgen as clock
  ...
parents f20c95b4 24df5428
Loading
Loading
Loading
Loading
+91 −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,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 Diff line number Diff line
@@ -50,13 +50,13 @@ properties:

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

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

  memory-region:
    items:
@@ -100,6 +100,6 @@ examples:
       memory-region = <&adsp_dma_mem_reserved>,
                       <&adsp_mem_reserved>;
       power-domains = <&spm 6>; //MT8195_POWER_DOMAIN_ADSP
       mbox-names = "mbox0", "mbox1";
       mbox-names = "rx", "tx";
       mboxes = <&adsp_mailbox0>, <&adsp_mailbox1>;
    };
+4 −3
Original line number Diff line number Diff line
@@ -32,8 +32,6 @@ properties:
  reset-gpios:
    maxItems: 1

  spi-max-frequency: true

  AVDD-supply:
    description: Analog power support for the device.

@@ -52,7 +50,10 @@ required:
  - compatible
  - AVDD-supply

additionalProperties: false
allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

unevaluatedProperties: false

examples:
  - |
+29 −1
Original line number Diff line number Diff line
@@ -24,6 +24,21 @@ properties:
    maxItems: 1
    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:
    description: slot number of the voltage sense monitor
    $ref: "/schemas/types.yaml#/definitions/uint32"
@@ -36,13 +51,22 @@ properties:
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 15
    default: 0
    default: 1

  adi,spkfb-slot-no:
    description: slot number of speaker DSP monitor
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    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

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