Commit 598100be authored by Takashi Iwai's avatar Takashi Iwai
Browse files

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

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

ASoC: Updates for v5.11

There's a lot of changes here but mostly cleanups and driver specific
things, the most user visible change is the support for boot time
selection of Intel DSP firmware which will make it easier for people to
move over to the preferred modern implementations in distros and other
large scale deployments.

This also includes a merge of the new auxillary bus which was done in
anticipation of use by the Intel DSP drivers which didn't quite make it.

 - Lots more cleanups and simplifications from Morimoto-san.
 - Support for some basic DPCM systems in the audio graph card from
   Sameer Pujar.
 - Remove some old pre-DT Freescale drivers for platforms that are now
   DT only.
 - Move selection of which Intel DSP implementation to use to boot time
   rather than requiring it to be selected at build time.
 - 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.
parents 175b8d89 460aa020
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