Skip to content

Commit

Permalink
Merge tag 'sound-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kern…
Browse files Browse the repository at this point in the history
…el/git/tiwai/sound

Pull sound updates from Takashi Iwai:
 "A fairly big update at this time, both in core and driver sides.

  The core received rewrites in PCM buffer allocation handling and
  locking optimizations, PCM rate updates followed by lots of cleanups.

  In ASoC side, the legacy Intel drivers have been deprecated by AVS
  drivers which leaded to the significant amount of code reduction.
  SoundWire driver updates and other cleanups contributed more code
  reduction, too.

  USB-audio driver received a large cleanup of its big quirk table, and
  the old snd_print*() API usages in many legacy drivers are replaced
  with the standard print API.

  Here are some highlights:

  Core:
   - More optimized locking in ALSA control code
   - Rewrites of memalloc helpers for better DMA API usage
   - Drop of obsoleted vmalloc PCM buffer helper API
   - Continued MIDI2 UMP updates
   - Support of a new user-space driven timer instance
   - Update for more PCM support rates and cleanups
   - Xrun counter report in the proc files

  ASoC:
   - Continued simplification and cleanup works for ASoC
   - Extensive cleanups and refactoring of the Soundwire drivers
   - Removal of Intel machine support obsoleted by the AVS driver
   - Lots of DT schema conversions
   - Machine support for many AMD and Intel x86 platforms
   - Support for AMD ACP 7.1, Mediatek MT6367 and MT8365, Realtek
     RTL1320 SoundWire and rev C, and Texas Instruments TAS2563

  USB-audio:
   - Add support of multiple control interfaces
   - A large rewrite of quirk table with macros
   - Support for RME Digiface USB

  HD-audio:
   - Cleanup of quirk code for Samsung Galaxy laptops
   - Clean up of detection of Cirrus codecs
   - C-Media CM9825 HD-audio codec support

  Others:
   - Rewrites to standard print API in a lot of legacy drivers"

* tag 'sound-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (410 commits)
  ASoC: topology: Fix redundant logical jump
  ASoC: tas2781: Add Calibration Kcontrols for Chromebook
  ASoC: amd: acp: refactor SoundWire machine driver code
  ASoC: sdw_utils/intel: move soundwire endpoint parsing helper functions
  ASoC: sdw_util/intel: move soundwire endpoint and dai link structures
  ASoC: intel: sof_sdw: rename soundwire parsing helper functions
  ASoC: intel: sof_sdw: rename soundwire endpoint and dailink structures
  ASoC: atmel: mchp-pdmc: Retain Non-Runtime Controls
  ALSA: hda/realtek: Add support for Galaxy Book2 Pro (NP950XEE)
  ASoC: mediatek: mt7986-afe-pcm: Remove redundant error message
  ALSA: memalloc: Use proper DMA mapping API for x86 S/G buffer allocations
  ALSA: memalloc: Use proper DMA mapping API for x86 WC buffer allocations
  ALSA: usb-audio: Add logitech Audio profile quirk
  ASoc: mediatek: mt8365: Remove unneeded assignment
  ASoC: Intel: ARL: Add entry for HDMI-In capture support to non-I2S codec boards.
  ASoC: Intel: sof_rt5682: Add HDMI-In capture with rt5682 support for ARL.
  ASoC: SOF: Intel: hda: remove common_hdmi_codec_drv
  ASoC: Intel: sof_pcm512x: do not check common_hdmi_codec_drv
  ASoC: Intel: ehl_rt5660: do not check common_hdmi_codec_drv
  ASoC: Intel: skl_hda_dsp_generic: use common module for DAI links
  ...
  • Loading branch information
torvalds committed Sep 17, 2024
2 parents 194fcd2 + 64c0ce5 commit 2f27fce
Show file tree
Hide file tree
Showing 648 changed files with 24,939 additions and 32,578 deletions.
21 changes: 21 additions & 0 deletions Documentation/devicetree/bindings/mfd/mediatek,mt6357.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,24 @@ properties:
"#interrupt-cells":
const: 2

mediatek,hp-pull-down:
description:
Earphone driver positive output stage short to
the audio reference ground.
type: boolean

mediatek,micbias0-microvolt:
description: Selects MIC Bias 0 output voltage.
enum: [1700000, 1800000, 1900000, 2000000,
2100000, 2500000, 2600000, 2700000]
default: 1700000

mediatek,micbias1-microvolt:
description: Selects MIC Bias 1 output voltage.
enum: [1700000, 1800000, 1900000, 2000000,
2100000, 2500000, 2600000, 2700000]
default: 1700000

regulators:
type: object
$ref: /schemas/regulator/mediatek,mt6357-regulator.yaml
Expand Down Expand Up @@ -83,6 +101,9 @@ examples:
interrupt-controller;
#interrupt-cells = <2>;
mediatek,micbias0-microvolt = <1700000>;
mediatek,micbias1-microvolt = <1700000>;
regulators {
mt6357_vproc_reg: buck-vproc {
regulator-name = "vproc";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,13 @@ properties:
A list off component DAPM widget. Each entry is a pair of strings,
the first being the widget type, the second being the widget name

clocks:
minItems: 1
maxItems: 3
description:
Base PLL clocks of audio susbsytem, used to configure base clock
frequencies for different audio use-cases.

patternProperties:
"^dai-link-[0-9]+$":
type: object
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,13 @@ properties:
A list off component DAPM widget. Each entry is a pair of strings,
the first being the widget type, the second being the widget name
clocks:
minItems: 1
maxItems: 3
description:
Base PLL clocks of audio susbsytem, used to configure base clock
frequencies for different audio use-cases.

patternProperties:
"^dai-link-[0-9]+$":
type: object
Expand Down
101 changes: 101 additions & 0 deletions Documentation/devicetree/bindings/sound/cirrus,cs4271.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/cirrus,cs4271.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cirrus Logic CS4271 audio CODEC

maintainers:
- Alexander Sverdlin <[email protected]>
- Nikita Shubin <[email protected]>

description:
The CS4271 is a stereo audio codec. This device supports both the I2C
and the SPI bus.

allOf:
- $ref: dai-common.yaml#
- $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
compatible:
const: cirrus,cs4271

reg:
maxItems: 1

spi-cpha: true

spi-cpol: true

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

reset-gpios:
description:
This pin will be deasserted before communication to the codec starts.
maxItems: 1

va-supply:
description: Analog power supply.

vd-supply:
description: Digital power supply.

vl-supply:
description: Serial Control Port power supply.

port:
$ref: audio-graph-port.yaml#
unevaluatedProperties: false

cirrus,amuteb-eq-bmutec:
description:
When given, the Codec's AMUTEB=BMUTEC flag is enabled.
type: boolean

cirrus,enable-soft-reset:
description: |
The CS4271 requires its LRCLK and MCLK to be stable before its RESET
line is de-asserted. That also means that clocks cannot be changed
without putting the chip back into hardware reset, which also requires
a complete re-initialization of all registers.
One (undocumented) workaround is to assert and de-assert the PDN bit
in the MODE2 register. This workaround can be enabled with this DT
property.
Note that this is not needed in case the clocks are stable
throughout the entire runtime of the codec.
type: boolean

required:
- compatible
- reg

unevaluatedProperties: false

examples:
- |
#include <dt-bindings/gpio/gpio.h>
spi {
#address-cells = <1>;
#size-cells = <0>;
codec@0 {
compatible = "cirrus,cs4271";
reg = <0>;
#sound-dai-cells = <0>;
spi-max-frequency = <6000000>;
spi-cpol;
spi-cpha;
reset-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
port {
endpoint {
remote-endpoint = <&i2s_ep>;
};
};
};
};
...
57 changes: 0 additions & 57 deletions Documentation/devicetree/bindings/sound/cs4271.txt

This file was deleted.

45 changes: 0 additions & 45 deletions Documentation/devicetree/bindings/sound/da7213.txt

This file was deleted.

103 changes: 103 additions & 0 deletions Documentation/devicetree/bindings/sound/dlg,da7213.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/dlg,da7213.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Dialog Semiconductor DA7212/DA7213 Audio Codec

maintainers:
- Support Opensource <[email protected]>

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

properties:
compatible:
enum:
- dlg,da7212
- dlg,da7213

reg:
maxItems: 1

clocks:
maxItems: 1

clock-names:
const: mclk

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

dlg,micbias1-lvl:
description: Voltage (mV) for Mic Bias 1
$ref: /schemas/types.yaml#/definitions/uint32
enum: [ 1600, 2200, 2500, 3000 ]

dlg,micbias2-lvl:
description: Voltage (mV) for Mic Bias 2
$ref: /schemas/types.yaml#/definitions/uint32
enum: [ 1600, 2200, 2500, 3000 ]

dlg,dmic-data-sel:
description: DMIC channel select based on clock edge
enum: [ lrise_rfall, lfall_rrise ]

dlg,dmic-samplephase:
description: When to sample audio from DMIC
enum: [ on_clkedge, between_clkedge ]

dlg,dmic-clkrate:
description: DMIC clock frequency (Hz)
$ref: /schemas/types.yaml#/definitions/uint32
enum: [ 1500000, 3000000 ]

VDDA-supply:
description: Analogue power supply

VDDIO-supply:
description: I/O power supply

VDDMIC-supply:
description: Mic Bias

VDDSP-supply:
description: Speaker supply

ports:
$ref: audio-graph-port.yaml#/definitions/ports

port:
$ref: audio-graph-port.yaml#
unevaluatedProperties: false

required:
- compatible
- reg

unevaluatedProperties: false

examples:
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
codec@1a {
compatible = "dlg,da7213";
reg = <0x1a>;
clocks = <&clks 201>;
clock-names = "mclk";
#sound-dai-cells = <0>;
dlg,micbias1-lvl = <2500>;
dlg,micbias2-lvl = <2500>;
dlg,dmic-data-sel = "lrise_rfall";
dlg,dmic-samplephase = "between_clkedge";
dlg,dmic-clkrate = <3000000>;
};
};
Loading

0 comments on commit 2f27fce

Please sign in to comment.