Commit 071b34dc authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sound updates from Takashi Iwai:
 "This is a relatively calm cycle, and majority of changes are about
  ASoC. There are little changes in the core side but we received lots
  of new drivers for new vendors.

  ALSA Core:
   - The new accel operation mode for compress-offload API; only the
     core part, the actual user will follow later

  ASoC:
   - Continued API simplification works
   - Renaming of the sh directory to Renesas
   - Factoring out of some of the common code for Realtek devices
   - Ussal ASoC Intel SOF, AMD and SoundWire updates
   - Support for Allwinner H616, AMD ACP 6.3 systems, AWInic AW88081,
     Cirrus Logic CS32L84, Everest ES8328, Iron Devices SMA1307,
     Longsoon I2S, NeoFidelity NTP8918 and NTP8835, Philips UDA1342,
     Qualcomm SM8750, RealTek RT721, and ST Microelectronics STM32MP25

  HD- and USB-audio:
   - Clean up of IRQ handling in legacy HD-audio driver
   - Fix soft lockup at disconnection of non-standard USB drivers
   - Scarlett2 mixer improvements
   - New quirks and cleanups in HD- and USB-audio"

* tag 'sound-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (278 commits)
  ALSA: hda: Poll jack events for LS7A HD-Audio
  ASoC: hdmi-codec: reorder channel allocation list
  ALSA: ump: Fix the wrong format specifier
  ASoC: Intel: soc-acpi-intel-lnl-match: add rt712_vb + rt1320 support
  ASoC: stm32: dfsdm: change rate upper limits
  ASoC: sma1307: fix uninitialized variable refence
  ASoC: dt-bindings: simple-mux: add idle-state property
  ASoc: simple-mux: add idle-state support
  ASoC: sdca: test adev before calling acpi_dev_for_each_child
  ASoC: SOF: ipc4-topology: remove redundant assignment to variable ret
  ASoC: amd: ps: fix the pcm device numbering for acp 6.3 platform
  ASoC: amd: acp: add soundwire machine driver for legacy stack
  ASoC: amd: acp: move get_acp63_cpu_pin_id() to common file
  ASoC: amd: ps: add soundwire machines for acp6.3 platform
  ASoC: amd: acp: add RT711, RT714 & RT1316 support for acp 6.3 platform
  ASoC: amd: acp: add rt722 based soundwire machines
  ALSA: compress_offload: Add missing descriptions in structs
  ALSA: 6fire: Release resources at card release
  ALSA: caiaq: Use snd_card_free_when_closed() at disconnection
  ALSA: us122l: Drop mmap_count field
  ...
parents 55ae3eef e3f8064d
Loading
Loading
Loading
Loading
+111 −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,adau1373.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices ADAU1373 CODEC

maintainers:
  - Nuno Sá <nuno.sa@analog.com>

description: |
  Analog Devices ADAU1373 Low power codec with speaker and headphone amplifiers.
  https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU1373.pdf

allOf:
  - $ref: dai-common.yaml#

properties:
  compatible:
    enum:
      - adi,adau1373

  reg:
    maxItems: 1

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

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

  adi,micbias1-microvolt:
    description:
      This property sets the microphone bias voltage for the first microphone.
    enum: [1800000, 2200000, 2600000, 2900000]
    default: 2900000

  adi,micbias2-microvolt:
    description:
      This property sets the microphone bias voltage for the second microphone.
    enum: [1800000, 2200000, 2600000, 2900000]
    default: 2900000

  adi,input1-differential:
    description: This property sets the first analog input as differential.
    type: boolean

  adi,input2-differential:
    description: This property sets the second analog input as differential.
    type: boolean

  adi,input3-differential:
    description: This property sets the third analog input as differential.
    type: boolean

  adi,input4-differential:
    description: This property sets the fourth analog input as differential.
    type: boolean

  adi,lineout-differential:
    description: This property sets the line output as differential.
    type: boolean

  adi,lineout-gnd-sense:
    description: This property enables the line output ground sense control.
    type: boolean

  adi,drc-settings:
    description:
      This setting is used to control the dynamic range of the signal. The
      device provides a maximum of three full band DRCs with 13 entries each.
    $ref: /schemas/types.yaml#/definitions/uint8-array
    oneOf:
      - minItems: 13
        maxItems: 13
      - minItems: 26
        maxItems: 26
      - minItems: 39
        maxItems: 39

required:
  - "#sound-dai-cells"
  - compatible
  - reg

unevaluatedProperties: false

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

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        audio-codec@1a {
            compatible = "adi,adau1373";
            reg = <0x1a>;
            #sound-dai-cells = <0>;
            powerdown-gpios = <&gpio 100 GPIO_ACTIVE_LOW>;
            adi,input2-differential;
            adi,input1-differential;
            adi,lineout-differential;
            adi,micbias2-microvolt = <1800000>;
            adi,drc-settings = /bits/ 8 <
                0xff 0xff 0x1 0x2 0xa 0xa 0xd 0x1 0xff 0xff 0x5 0xd 0xff
            >;
        };
    };
...
+47 −6
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ properties:
      - allwinner,sun8i-a23-codec
      - allwinner,sun8i-h3-codec
      - allwinner,sun8i-v3s-codec
      - allwinner,sun50i-h616-codec

  reg:
    maxItems: 1
@@ -40,14 +41,20 @@ properties:
      - const: codec

  dmas:
    items:
    oneOf:
      - items:
          - description: RX DMA Channel
          - description: TX DMA Channel
      - items:
          - description: TX DMA Channel

  dma-names:
    items:
    oneOf:
      - items:
          - const: rx
          - const: tx
      - items:
          - const: tx

  resets:
    maxItems: 1
@@ -229,6 +236,40 @@ allOf:
              - Mic
              - Speaker

  - if:
      properties:
        compatible:
          enum:
            - allwinner,sun50i-h616-codec

    then:
      properties:
        allwinner,audio-routing:
          items:
            enum:
              - LINEOUT
              - Line Out

        dmas:
          items:
            - description: TX DMA Channel

        dma-names:
          items:
            - const: tx

    else:
      properties:
        dmas:
          items:
            - description: RX DMA Channel
            - description: TX DMA Channel

        dma-names:
          items:
            - const: rx
            - const: tx

unevaluatedProperties: false

examples:
+6 −0
Original line number Diff line number Diff line
@@ -37,8 +37,14 @@ properties:
  pa-gpios:
    maxItems: 1
  hp-det-gpio:
    deprecated: true
    maxItems: 1
  hp-det-gpios:
    maxItems: 1
  mic-det-gpio:
    deprecated: true
    maxItems: 1
  mic-det-gpios:
    maxItems: 1

required:
+3 −1
Original line number Diff line number Diff line
@@ -17,8 +17,9 @@ description:
properties:
  compatible:
    enum:
      - awinic,aw88395
      - awinic,aw88081
      - awinic,aw88261
      - awinic,aw88395
      - awinic,aw88399

  reg:
@@ -56,6 +57,7 @@ allOf:
        compatible:
          contains:
            enum:
              - awinic,aw88081
              - awinic,aw88261
    then:
      properties:
+56 −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/cirrus,cs42l84.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cirrus Logic CS42L84 audio CODEC

maintainers:
  - Martin Povišer <povik+lin@cutebit.org>

description: |
  The CS42L84 is a headphone jack codec made by Cirrus Logic and embedded
  in personal computers sold by Apple. It was first seen in 2021 Macbook
  Pro models. It has stereo DAC for playback, mono ADC for capture, and
  is somewhat similar to CS42L42 but with a different regmap.

properties:
  compatible:
    enum:
      - cirrus,cs42l84

  reg:
    maxItems: 1

  reset-gpios:
    maxItems: 1

  interrupts:
    maxItems: 1

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

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      jack_codec: codec@4b {
          compatible = "cirrus,cs42l84";
          reg = <0x4b>;
          reset-gpios = <&pinctrl_nub 4 GPIO_ACTIVE_LOW>;
          interrupts-extended = <&pinctrl_ap 180 IRQ_TYPE_LEVEL_LOW>;
          #sound-dai-cells = <0>;
      };
    };
Loading