Commit c367caf1 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sound updates from Takashi Iwai:
 "Lots of changes (slightly more code increase than usual) at this time,
  while most of code changes are ASoC driver-specific.

  Here are some highlights:

  Core:

   - The new auxiliary bus implementation for Intel DSP, which will be
     used by other drivers as well

   - Lots of ASoC core cleanups and refactoring

   - UBSAN and KCSAN fixes in rawmidi, sequencer and a few others

   - Compress-offload API enhancement for the pause during draining

  HD- and USB-audio:

   - Enhancements of the USB-audio implicit feedback support, including
     better full-duplex operations

   - Continued CA0132 improvements and fixes

   - A few new quirk entries, HDMI audio fixes

  ASoC:

   - Support for boot time selection of Intel DSP firmware, which should
     help distros/users testing new stuff more easily; the kconfig was
     moved to boot time option, too

   - Some basic DPCM support in audio graph card

   - Removal of old pre-DT Freescale drivers

   - Support for Allwinner H6 I2S, Analog Devices ADAU1372, Intel
     Alderlake-S, GMediatek MT8192, NXP i.MX HDMI and XCVR, Realtek
     RT715, Qualcomm SM8250 and simple GPIO based muxes"

* tag 'sound-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (445 commits)
  ALSA: pcm: oss: Fix potential out-of-bounds shift
  ALSA: usb-audio: Fix potential out-of-bounds shift
  ALSA: hda/ca0132 - Add ZxR surround DAC setup.
  ALSA: hda/ca0132 - Add 8051 PLL write helper functions.
  ALSA: hda/hdmi: packet buffer index must be set before reading value
  ASoC: SOF: imx: update kernel-doc description
  ASoC: mediatek: mt8183: delete some unreachable code
  ASoC: mediatek: mt8183: add PM ops to machine drivers
  ASoC: topology: Fix wrong size check
  ASoC: topology: Add missing size check
  ASoC: SOF: Intel: hda: fix the condition passed to sof_dev_dbg_or_err
  ASoC: SOF: modify the SOF_DBG flags
  ASoC: SOF: Intel: hda: remove duplicated status dump
  ASoC: rt1015p: delay 300ms after SDB pulling high for calibration
  ASoC: rt1015p: move SDB control from trigger to DAPM
  ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control()
  ALSA: usb-audio: Fix control 'access overflow' errors from chmap
  ALSA: hda/hdmi: always print pin NIDs as hexadecimal
  ALSA: hda/realtek - Add supported for more Lenovo ALC285 Headset Button
  ALSA: hda/ca0132 - Remove now unnecessary DSP setup functions.
  ...
parents d635a69d 598100be
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -199,8 +199,6 @@ patternProperties:
              description:
                From common IIO binding. Used to pipe external sigma delta
                modulator or internal ADC output to DFSDM channel.
                This is not required for "st,stm32-dfsdm-pdm" compatibility as
                PDM microphone is binded in Audio DT node.

          required:
            - io-channels
@@ -235,6 +233,10 @@ patternProperties:
              description: child node

              properties:
                compatible:
                  enum:
                    - st,stm32h7-dfsdm-dai

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

@@ -244,6 +246,7 @@ patternProperties:
                    modulator or internal ADC output to DFSDM channel.

              required:
                - compatible
                - "#sound-dai-cells"
                - io-channels

+67 −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,adau1372.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#


title: Analog Devices ADAU1372 CODEC

maintainers:
  - Alexandre Belloni <alexandre.belloni@bootlin.om>

description: |
  Analog Devices ADAU1372 four inputs and two outputs codec.
  https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1372.pdf

properties:
  compatible:
    enum:
      - adi,adau1372

  reg:
    maxItems: 1

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

  clocks:
    maxItems: 1

  clock-names:
    const: "mclk"

  powerdown-gpios:
    description: GPIO used for hardware power-down.
    maxItems: 1

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

additionalProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        audio-codec@3c {
                compatible = "adi,adau1372";
                reg = <0x3c>;
                #sound-dai-cells = <0>;
                clock-names = "mclk";
                clocks = <&adau1372z_xtal>;
        };
    };

    adau1372z_xtal: clock {
        compatible = "fixed-clock";
        #clock-cells = <0>;
        clock-frequency = <12288000>;
    };
...
+0 −61
Original line number Diff line number Diff line
Analog Devices ADAU1977/ADAU1978/ADAU1979

Datasheets:
https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1977.pdf
https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1978.pdf
https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1979.pdf

This driver supports both the I2C and SPI bus.

Required properties:
 - compatible: Should contain one of the following:
               "adi,adau1977"
               "adi,adau1978"
               "adi,adau1979"

 - AVDD-supply: analog power supply for the device, please consult
                Documentation/devicetree/bindings/regulator/regulator.txt

Optional properties:
 - reset-gpios: the reset pin for the chip, for more details consult
                Documentation/devicetree/bindings/gpio/gpio.txt

 - DVDD-supply: supply voltage for the digital core, please consult
                Documentation/devicetree/bindings/regulator/regulator.txt

- adi,micbias: configures the voltage setting for the MICBIAS pin.
		Select 0/1/2/3/4/5/6/7/8 to specify MICBIAS voltage
		5V/5.5V/6V/6.5V/7V/7.5V/8V/8.5V/9V
		If not specified the default value will be "7" meaning 8.5 Volts.
		This property is only valid for the ADAU1977

For required properties on SPI, please consult
Documentation/devicetree/bindings/spi/spi-bus.txt

Required properties on I2C:

 - reg:         The i2c address. Value depends on the state of ADDR0
                and ADDR1, as wired in hardware.

Examples:

	adau1977_spi: adau1977@0 {
		compatible = "adi,adau1977";
		spi-max-frequency = <600000>;

		AVDD-supply = <&regulator>;
		DVDD-supply = <&regulator_digital>;

		adi,micbias = <3>;
		reset-gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
	};

	adau1977_i2c: adau1977@11 {
		compatible = "adi,adau1977";
		reg = <0x11>;

		AVDD-supply = <&regulator>;
		DVDD-supply = <&regulator_digital>;

		reset-gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
	};
+92 −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,adau1977.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices ADAU1977/ADAU1978/ADAU1979 Quad ADC with Diagnostics

maintainers:
  - Lars-Peter Clausen <lars@metafoo.de>
  - Bogdan Togorean <bogdan.togorean@analog.com>

description: |
  Analog Devices ADAU1977 and similar quad ADC with Diagnostics
  https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1977.pdf
  https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1978.pdf
  https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1979.pdf

properties:
  compatible:
    enum:
      - adi,adau1977
      - adi,adau1978
      - adi,adau1979

  reg:
    maxItems: 1

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

  reset-gpios:
    maxItems: 1

  spi-max-frequency: true

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

  DVDD-supply:
    description: Supply voltage for digital core.

  adi,micbias:
    description: |
      Configures the voltage setting for the MICBIAS pin.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1, 2, 3, 4, 5, 6, 7, 8]
    default: 7

required:
  - reg
  - compatible
  - AVDD-supply

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    spi {
        #address-cells = <1>;
        #size-cells = <0>;
        adau1977_spi: adau1977@0 {
            compatible = "adi,adau1977";
            reg = <0>;
            spi-max-frequency = <600000>;

            AVDD-supply = <&regulator>;
            DVDD-supply = <&regulator_digital>;

            reset-gpios = <&gpio 10 GPIO_ACTIVE_LOW>;

            adi,micbias = <3>;
        };
    };
  - |
    #include <dt-bindings/gpio/gpio.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        adau1977_i2c: adau1977@11 {
            compatible = "adi,adau1977";
            reg = <0x11>;

            AVDD-supply = <&regulator>;
            DVDD-supply = <&regulator_digital>;

            reset-gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
        };
    };
+5 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ properties:
      - items:
          - const: allwinner,sun50i-a64-i2s
          - const: allwinner,sun8i-h3-i2s
      - const: allwinner,sun50i-h6-i2s

  reg:
    maxItems: 1
@@ -59,6 +60,7 @@ allOf:
              - allwinner,sun8i-a83t-i2s
              - allwinner,sun8i-h3-i2s
              - allwinner,sun50i-a64-codec-i2s
              - allwinner,sun50i-h6-i2s

    then:
      required:
@@ -68,7 +70,9 @@ allOf:
      properties:
        compatible:
          contains:
            const: allwinner,sun8i-a83t-i2s
            enum:
              - allwinner,sun8i-a83t-i2s
              - allwinner,sun8i-h3-i2s

    then:
      properties:
Loading