Commit 05a54fa7 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sound updates from Takashi Iwai:
 "It's been relatively calm in this cycle from the feature POV, but
  there were lots of cleanup works in the wide-range of code for
  converting with the auto-cleanup macros like guard().

  The mostly user-visible changes are the support of a couple of new
  compress-offload API extensions, and the support of new ASoC codec /
  platform drivers as well as USB-audio quirks.

  Here we go with some highlights:

  Core:
   - Compress-offload API extension for 64bit timestamp support
   - Compress-offload API extension for OPUS codec support
   - Workaround for PCM locking issue with PREEMPT_RT and softirq
   - KCSAN warning fix for ALSA sequencer core

  ASoC:
   - Continued cleanup works for ASoC core APIs
   - Lots of cleanups and conversions of DT bindings
   - Substantial maintainance work on the Intel AVS drivers
   - Support for Qualcomm Glymur and PM4125, Realtek RT1321, Shanghai
     FourSemi FS2104/5S, Texas Instruments PCM1754 and TAS2783A
   - Remove support for TI WL1273 for old Nokia systems

  USB-audio:
   - Support for Tascam US-144mkII, Presonus S1824c support
   - More flexible quirk option handling
   - Fix for USB MIDI timer bug triggered by fuzzer

  Others:
   - A large series of cleanups with guard() & co macros over (non-ASoC)
     sound drivers (PCI, ISA, HD-audio, USB-audio, drivers, etc)
   - TAS5825 HD-audio side-codec support"

* tag 'sound-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (454 commits)
  ALSA: usb-audio: don't hardcode gain for output channel of Presonus Studio
  ALSA: usb-audio: add the initial mix for Presonus Studio 1824c
  ALSA: doc: improved docs about quirk_flags in snd-usb-audio
  ALSA: usb-audio: make param quirk_flags change-able in runtime
  ALSA: usb-audio: improve module param quirk_flags
  ALSA: usb-audio: add two-way convert between name and bit for QUIRK_FLAG_*
  ALSA: usb-audio: fix race condition to UAF in snd_usbmidi_free
  ALSA: usb-audio: add mono main switch to Presonus S1824c
  ALSA: compress: document 'chan_map' member in snd_dec_opus
  ASoC: cs35l56: Add support for CS35L56 B2 silicon
  ASoC: cs35l56: Set fw_regs table after getting REVID
  ALSA: hda/realtek: Add quirk for HP Spectre 14t-ea100
  ASoc: tas2783A: Fix an error code in probe()
  ASoC: tlv320aic3x: Fix class-D initialization for tlv320aic3007
  ASoC: qcom: sc8280xp: use sa8775p/ subdir for QCS9100 / QCS9075
  ASoC: stm32: sai: manage context in set_sysclk callback
  ASoC: renesas: msiof: ignore 1st FSERR
  ASoC: renesas: msiof: Add note for The possibility of R/L opposite Capture
  ASoC: renesas: msiof: setup both (Playback/Capture) in the same time
  ASoC: renesas: msiof: tidyup DMAC stop timing
  ...
parents e1b1d03c f65dc3b1
Loading
Loading
Loading
Loading
+0 −46
Original line number Diff line number Diff line
Texas Instruments TWL family (twl4030) audio module

The audio module inside the TWL family consist of an audio codec and a vibra
driver.

Required properties:
- compatible : must be "ti,twl4030-audio"

Optional properties, nodes:

Audio functionality:
- codec { }: Need to be present if the audio functionality is used. Within this
	     section the following options can be used:
- ti,digimic_delay: Delay need after enabling the digimic to reduce artifacts
		    from the start of the recorded sample (in ms)
-ti,ramp_delay_value: HS ramp delay configuration to reduce pop noise
-ti,hs_extmute: Use external mute for HS pop reduction
-ti,hs_extmute_gpio: Use external GPIO to control the external mute
-ti,offset_cncl_path: Offset cancellation path selection, refer to TRM for the
		      valid values.

Vibra functionality
- ti,enable-vibra: Need to be set to <1> if the vibra functionality is used. if
		   missing or it is 0, the vibra functionality is disabled.

Example:
&i2c1 {
	clock-frequency = <2600000>;

	twl: twl@48 {
		reg = <0x48>;
		interrupts = <7>; /* SYS_NIRQ cascaded to intc */
		interrupt-parent = <&intc>;

		twl_audio: audio {
			compatible = "ti,twl4030-audio";

			ti,enable-vibra = <1>;

			codec {
				ti,ramp_delay_value = <3>;
			};

		};
	};
};
+0 −25
Original line number Diff line number Diff line
ALC5621/ALC5622/ALC5623 audio Codec

Required properties:

 - compatible:	"realtek,alc5623"
 - reg:		the I2C address of the device.

Optional properties:

 - add-ctrl:	  Default register value for Reg-40h, Additional Control
		  Register. If absent or has the value of 0, the
		  register is untouched.

 - jack-det-ctrl: Default register value for Reg-5Ah, Jack Detect
		  Control Register. If absent or has value 0, the
		  register is untouched.

Example:

	alc5621: alc5621@1a {
		compatible = "alc5621";
		reg = <0x1a>;
		add-ctrl = <0x3700>;
		jack-det-ctrl = <0x4810>;
	};
+4 −0
Original line number Diff line number Diff line
@@ -15,6 +15,9 @@ properties:
      - asahi-kasei,ak4458
      - asahi-kasei,ak4497

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

  reg:
    maxItems: 1

@@ -46,6 +49,7 @@ required:
  - reg

allOf:
  - $ref: dai-common.yaml#
  - if:
      properties:
        compatible:
+0 −24
Original line number Diff line number Diff line
* Broadcom BCM2835 SoC I2S/PCM module

Required properties:
- compatible: "brcm,bcm2835-i2s"
- reg: Should contain PCM registers location and length.
- clocks: the (PCM) clock to use
- dmas: List of DMA controller phandle and DMA request line ordered pairs.
- dma-names: Identifier string for each DMA request line in the dmas property.
  These strings correspond 1:1 with the ordered pairs in dmas.

  One of the DMA channels will be responsible for transmission (should be
  named "tx") and one for reception (should be named "rx").

Example:

bcm2835_i2s: i2s@7e203000 {
	compatible = "brcm,bcm2835-i2s";
	reg = <0x7e203000 0x24>;
	clocks = <&clocks BCM2835_CLOCK_PCM>;

	dmas = <&dma 2>,
	       <&dma 3>;
	dma-names = "tx", "rx";
};
+51 −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/brcm,bcm2835-i2s.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom BCM2835 SoC I2S/PCM module

maintainers:
  - Florian Fainelli <florian.fainelli@broadcom.com>

properties:
  compatible:
    const: brcm,bcm2835-i2s

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  dmas:
    items:
      - description: Transmission DMA controller phandle and request line.
      - description: Reception DMA controller phandle and request line.

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

required:
  - compatible
  - reg
  - clocks
  - dmas
  - dma-names

additionalProperties: false

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

    i2s@7e203000 {
        compatible = "brcm,bcm2835-i2s";
        reg = <0x7e203000 0x24>;
        clocks = <&clocks BCM2835_CLOCK_PCM>;
        dmas = <&dma 2>, <&dma 3>;
        dma-names = "tx", "rx";
    };
Loading