Commit 7912a639 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sound updates from Takashi Iwai:
 "It was a calm development cycle. There were an ALSA core extension for
  subformat PCM bits and a few ASoC core changes to support N:M
  mappings, while the most of remaining changes are driver-specific.

  Core:
   - API extensions for properly limiting PCM format bits via subformat
   - Enhanced support for N:M CPU:CODEC mappings in the core and in
     audio-graph-card2

  ASoC:
   - Lots of SOF updates: fallback support to older IPC versions,
     notification on control changes with IPC4. Also supports for ACPI
     parse for the ES83xx driver that reduces quirks.
   - Device tree support for describing parts of the card which can be
     active over suspend (for very low power playback or wake word use
     cases)
   - Support for more AMD and Intel systems, NXP i.MX8m MICFIL, Qualcomm
     SM8250, SM8550, SM8650 and X1E80100
   - Drop of Freescale MPC8610 code that is no longer supported

  HD-audio:
   - More CS35L41 codec extensions for Dell, HP and Lenovo models
   - TAS2781 codec extensions for Lenovo and co
   - New PCM subformat supports

  Others:
   - More enhancement for Scarlett2 USB mixer support
   - Various kselftest fixes"

* tag 'sound-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (337 commits)
  kselftest/alsa - conf: Stringify the printed errno in sysfs_get()
  kselftest/alsa - mixer-test: Fix the print format specifier warning
  kselftest/alsa - mixer-test: Fix the print format specifier warning
  kselftest/alsa - mixer-test: fix the number of parameters to ksft_exit_fail_msg()
  ALSA: hda/tas2781: annotate calibration data endianness
  ALSA: hda/realtek: Fix mute and mic-mute LEDs for HP Envy X360 13-ay0xxx
  ALSA: hda/conexant: Fix headset auto detect fail in cx8070 and SN6140
  ALSA: ac97: fix build regression
  ALSA: hda: cs35l41: Support more HP models without _DSD
  ALSA: hda/tas2781: add fixup for Lenovo 14ARB7
  ALSA: hda/tas2781: add TAS2563 support for 14ARB7
  ALSA: hda/tas2781: add configurable global i2c address
  ALSA: hda/tas2781: add ptrs to calibration functions
  ALSA: hda: Add driver properties for cs35l41 for Lenovo Legion Slim 7 Gen 8 serie
  ALSA: hda/realtek: enable SND_PCI_QUIRK for Lenovo Legion Slim 7 Gen 8 (2023) serie
  ALSA: hda/tas2781: configure the amp after firmware load
  ALSA: mark all struct bus_type as const
  ASoC: pxa: sspa: Don't select SND_ARM
  ASoC: rt5663: cancel the work when system suspends
  ALSA: scarlett2: Add PCM Input Switch for Solo Gen 4
  ...
parents cf65598d fd38dd6a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ unevaluatedProperties: false

examples:
  - |
    soundwire-controller@3250000 {
    soundwire@3250000 {
        #address-cells = <2>;
        #size-cells = <0>;
        reg = <0x3250000 0x2000>;
+6 −0
Original line number Diff line number Diff line
@@ -19,6 +19,12 @@ definitions:
    properties:
      mclk-fs:
        $ref: simple-card.yaml#/definitions/mclk-fs
      playback-only:
        description: port connection used only for playback
        $ref: /schemas/types.yaml#/definitions/flag
      capture-only:
        description: port connection used only for capture
        $ref: /schemas/types.yaml#/definitions/flag

  endpoint-base:
    allOf:
+0 −38
Original line number Diff line number Diff line
Everest ES8328 audio CODEC

This device supports both I2C and SPI.

Required properties:

  - compatible  : Should be "everest,es8328" or "everest,es8388"
  - DVDD-supply : Regulator providing digital core supply voltage 1.8 - 3.6V
  - AVDD-supply : Regulator providing analog supply voltage 3.3V
  - PVDD-supply : Regulator providing digital IO supply voltage 1.8 - 3.6V
  - IPVDD-supply : Regulator providing analog output voltage 3.3V
  - clocks : A 22.5792 or 11.2896 MHz clock
  - reg : the I2C address of the device for I2C, the chip select number for SPI

Pins on the device (for linking into audio routes):

  * LOUT1
  * LOUT2
  * ROUT1
  * ROUT2
  * LINPUT1
  * RINPUT1
  * LINPUT2
  * RINPUT2
  * Mic Bias


Example:

codec: es8328@11 {
	compatible = "everest,es8328";
	DVDD-supply = <&reg_3p3v>;
	AVDD-supply = <&reg_3p3v>;
	PVDD-supply = <&reg_3p3v>;
	HPVDD-supply = <&reg_3p3v>;
	clocks = <&clks 169>;
	reg = <0x11>;
};
+77 −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/everest,es8328.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Everest ES8328 audio CODEC

description:
  Everest Audio Codec, which can be connected via I2C or SPI.
  Pins on the device (for linking into audio routes) are
  * LOUT1
  * LOUT2
  * ROUT1
  * ROUT2
  * LINPUT1
  * RINPUT1
  * LINPUT2
  * RINPUT2
  * Mic Bias

maintainers:
  - David Yang <yangxiaohua@everest-semi.com>

properties:
  compatible:
    enum:
      - everest,es8328
      - everest,es8388

  reg:
    maxItems: 1

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

  clocks:
    items:
      - description: A 22.5792 or 11.2896 MHz clock

  DVDD-supply:
    description: Regulator providing digital core supply voltage 1.8 - 3.6V

  AVDD-supply:
    description: Regulator providing analog supply voltage 3.3V

  PVDD-supply:
    description: Regulator providing digital IO supply voltage 1.8 - 3.6V

  HPVDD-supply:
    description: Regulator providing analog output voltage 3.3V

required:
  - compatible
  - clocks
  - DVDD-supply
  - AVDD-supply
  - PVDD-supply
  - HPVDD-supply

additionalProperties: false

examples:
  - |
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;
      es8328: codec@11 {
        compatible = "everest,es8328";
        reg = <0x11>;
        AVDD-supply = <&reg_3p3v>;
        DVDD-supply = <&reg_3p3v>;
        HPVDD-supply = <&reg_3p3v>;
        PVDD-supply = <&reg_3p3v>;
        clocks = <&clks 169>;
      };
    };
+0 −36
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", "fsl,imx93-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