Skip to content

Commit

Permalink
Merge tag 'sound-5.19-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:
 "Not much dramatic changes at this time, but we've received quite a lot
  of changes for ASoC, while there are still a few fixes and quirks for
  usual HD- and USB-auido. Here are some highlights.

  ASoC:

   - Overhaul of endianness specification for data formats, avoiding
     needless restrictions due to CODECs

   - Initial stages of Intel AVS driver merge

   - Introduction of v4 IPC mechanism for SOF

   - TDM mode support for AK4613

   - Support for Analog Devices ADAU1361, Cirrus Logic CS35L45, Maxim
     MAX98396, MediaTek MT8186, NXP i.MX8 micfil and SAI interfaces,
     nVidia Tegra186 ASRC, and Texas Instruments TAS2764 and TAS2780

  Others:

   - A few regression fixes after the USB-audio endpoint management
     refactoring

   - More enhancements for Cirrus HD-audio codec support (still ongoing)

   - Addition of generic serial MIDI driver"

* tag 'sound-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (504 commits)
  ALSA: hda/realtek - Add new type for ALC245
  ALSA: usb-audio: Configure sync endpoints before data
  ALSA: ctxfi: fix typo in comment
  ALSA: cs5535audio: fix typo in comment
  ALSA: ctxfi: Add SB046x PCI ID
  ALSA: usb-audio: Add missing ep_idx in fixed EP quirks
  ALSA: usb-audio: Workaround for clock setup on TEAC devices
  ALSA: lola: Bounds check loop iterator against streams array size
  ASoC: max98090: Move check for invalid values before casting in max98090_put_enab_tlv()
  ASoC: rt1308-sdw: add the default value of register 0xc320
  ASoC: rt9120: Use pm_runtime and regcache to optimize 'pwdnn' logic
  ASoC: rt9120: Fix 3byte read, valule offset typo
  ASoC: amd: acp: Set Speaker enable/disable pin through rt1019 codec driver.
  ASoC: amd: acp: Set Speaker enable/disable pin through rt1019 codec driver
  ASoC: wm2000: fix missing clk_disable_unprepare() on error in wm2000_anc_transition()
  ASoC: codecs: lpass: Fix passing zero to 'PTR_ERR'
  ASoC: SOF: sof-client-ipc-flood-test: use pm_runtime_resume_and_get()
  ASoC: SOF: mediatek: remove duplicate include in mt8195.c
  ASoC: SOF: mediatek: Add mt8195 debug dump
  ASoC: SOF: mediatek: Add mediatek common debug dump
  ...
  • Loading branch information
torvalds committed May 25, 2022
2 parents 2518f22 + 6057192 commit d722778
Show file tree
Hide file tree
Showing 571 changed files with 25,832 additions and 9,278 deletions.
105 changes: 105 additions & 0 deletions Documentation/devicetree/bindings/dsp/mediatek,mt8195-dsp.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/dsp/mediatek,mt8195-dsp.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Mediatek mt8195 DSP core

maintainers:
- YC Hung <[email protected]>

description: |
Some boards from mt8195 contain a DSP core used for
advanced pre- and post- audio processing.
properties:
compatible:
const: mediatek,mt8195-dsp

reg:
items:
- description: Address and size of the DSP Cfg registers
- description: Address and size of the DSP SRAM

reg-names:
items:
- const: cfg
- const: sram

clocks:
items:
- description: mux for audio dsp clock
- description: 26M clock
- description: mux for audio dsp local bus
- description: default audio dsp local bus clock source
- description: clock gate for audio dsp clock
- description: mux for audio dsp access external bus

clock-names:
items:
- const: adsp_sel
- const: clk26m_ck
- const: audio_local_bus
- const: mainpll_d7_d2
- const: scp_adsp_audiodsp
- const: audio_h

power-domains:
maxItems: 1

mboxes:
items:
- description: ipc reply between host and audio DSP.
- description: ipc request between host and audio DSP.

mbox-names:
items:
- const: mbox0
- const: mbox1

memory-region:
items:
- description: dma buffer between host and DSP.
- description: DSP system memory.

required:
- compatible
- reg
- reg-names
- clocks
- clock-names
- memory-region
- power-domains
- mbox-names
- mboxes

additionalProperties: false

examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
dsp@10803000 {
compatible = "mediatek,mt8195-dsp";
reg = <0x10803000 0x1000>,
<0x10840000 0x40000>;
reg-names = "cfg", "sram";
clocks = <&topckgen 10>, //CLK_TOP_ADSP
<&clk26m>,
<&topckgen 107>, //CLK_TOP_AUDIO_LOCAL_BUS
<&topckgen 136>, //CLK_TOP_MAINPLL_D7_D2
<&scp_adsp 0>, //CLK_SCP_ADSP_AUDIODSP
<&topckgen 34>; //CLK_TOP_AUDIO_H
clock-names = "adsp_sel",
"clk26m_ck",
"audio_local_bus",
"mainpll_d7_d2",
"scp_adsp_audiodsp",
"audio_h";
memory-region = <&adsp_dma_mem_reserved>,
<&adsp_mem_reserved>;
power-domains = <&spm 6>; //MT8195_POWER_DOMAIN_ADSP
mbox-names = "mbox0", "mbox1";
mboxes = <&adsp_mailbox0>, <&adsp_mailbox1>;
};
79 changes: 79 additions & 0 deletions Documentation/devicetree/bindings/sound/adi,max98396.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/adi,max98396.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices MAX98396 Speaker Amplifier Device Tree Bindings

maintainers:
- Ryan Lee <[email protected]>

description:
The MAX98396 is a mono Class-DG speaker amplifier with I/V sense.
The device provides a PCM interface for audio data and a standard
I2C interface for control data communication.
The MAX98397 is a variant of MAX98396 with wide input supply range.

properties:
compatible:
enum:
- adi,max98396
- adi,max98397
reg:
maxItems: 1
description: I2C address of the device.

adi,vmon-slot-no:
description: slot number of the voltage sense monitor
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0
maximum: 15
default: 0

adi,imon-slot-no:
description: slot number of the current sense monitor
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0
maximum: 15
default: 0

adi,spkfb-slot-no:
description: slot number of speaker DSP monitor
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0
maximum: 15
default: 0

adi,interleave-mode:
description:
For cases where a single combined channel for the I/V sense data
is not sufficient, the device can also be configured to share
a single data output channel on alternating frames.
In this configuration, the current and voltage data will be frame
interleaved on a single output channel.
type: boolean

reset-gpios:
maxItems: 1

required:
- compatible
- reg

additionalProperties: false

examples:
- |
#include <dt-bindings/gpio/gpio.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
max98396: amplifier@39 {
compatible = "adi,max98396";
reg = <0x39>;
adi,vmon-slot-no = <0>;
adi,imon-slot-no = <1>;
reset-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
};
44 changes: 41 additions & 3 deletions Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,19 @@ properties:
maximum: 3
default: 2

cirrus,boost-type:
description:
Configures the type of Boost being used.
Internal boost requires boost-peak-milliamp, boost-ind-nanohenry and
boost-cap-microfarad.
External Boost must have GPIO1 as GPIO output. GPIO1 will be set high to
enable boost voltage.
0 = Internal Boost
1 = External Boost
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0
maximum: 1

cirrus,gpio1-polarity-invert:
description:
Boolean which specifies whether the GPIO1
Expand Down Expand Up @@ -131,9 +144,32 @@ required:
- compatible
- reg
- "#sound-dai-cells"
- cirrus,boost-peak-milliamp
- cirrus,boost-ind-nanohenry
- cirrus,boost-cap-microfarad

allOf:
- if:
properties:
cirrus,boost-type:
const: 0
then:
required:
- cirrus,boost-peak-milliamp
- cirrus,boost-ind-nanohenry
- cirrus,boost-cap-microfarad
else:
if:
properties:
cirrus,boost-type:
const: 1
then:
required:
- cirrus,gpio1-output-enable
- cirrus,gpio1-src-select
properties:
cirrus,boost-peak-milliamp: false
cirrus,boost-ind-nanohenry: false
cirrus,boost-cap-microfarad: false
cirrus,gpio1-src-select:
enum: [1]

additionalProperties: false

Expand All @@ -150,6 +186,8 @@ examples:
VA-supply = <&dummy_vreg>;
VP-supply = <&dummy_vreg>;
reset-gpios = <&gpio 110 0>;
cirrus,boost-type = <0>;
cirrus,boost-peak-milliamp = <4500>;
cirrus,boost-ind-nanohenry = <1000>;
cirrus,boost-cap-microfarad = <15>;
Expand Down
75 changes: 75 additions & 0 deletions Documentation/devicetree/bindings/sound/cirrus,cs35l45.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/cirrus,cs35l45.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cirrus Logic CS35L45 Speaker Amplifier

maintainers:
- Ricardo Rivera-Matos <[email protected]>
- Richard Fitzgerald <[email protected]>

description: |
CS35L45 is a Boosted Mono Class D Amplifier with DSP
Speaker Protection and Adaptive Battery Management.
properties:
compatible:
enum:
- cirrus,cs35l45

reg:
maxItems: 1

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

reset-gpios:
maxItems: 1

vdd-a-supply:
description: voltage regulator phandle for the VDD_A supply

vdd-batt-supply:
description: voltage regulator phandle for the VDD_BATT supply

spi-max-frequency:
maximum: 5000000

cirrus,asp-sdout-hiz-ctrl:
description:
Audio serial port SDOUT Hi-Z control. Sets the Hi-Z
configuration for SDOUT pin of amplifier. Logical OR of
CS35L45_ASP_TX_HIZ_xxx values.
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0
maximum: 3
default: 2

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

additionalProperties: false

examples:
- |
#include <dt-bindings/sound/cs35l45.h>
spi {
#address-cells = <1>;
#size-cells = <0>;
cs35l45: cs35l45@2 {
#sound-dai-cells = <1>;
compatible = "cirrus,cs35l45";
reg = <2>;
spi-max-frequency = <5000000>;
vdd-a-supply = <&dummy_vreg>;
vdd-batt-supply = <&dummy_vreg>;
reset-gpios = <&gpio 110 0>;
cirrus,asp-sdout-hiz-ctrl = <(CS35L45_ASP_TX_HIZ_UNUSED |
CS35L45_ASP_TX_HIZ_DISABLED)>;
};
};
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/sound/fsl,micfil.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ microphone bitstream in a configurable output sampling rate.
Required properties:

- compatible : Compatible list, contains "fsl,imx8mm-micfil"
or "fsl,imx8mp-micfil"

- reg : Offset and length of the register set for the device.

Expand Down
5 changes: 5 additions & 0 deletions Documentation/devicetree/bindings/sound/maxim,max98390.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ properties:
minimum: 1
maximum: 8388607

reset-gpios:
maxItems: 1

required:
- compatible
- reg
Expand All @@ -37,6 +40,7 @@ additionalProperties: false

examples:
- |
#include <dt-bindings/gpio/gpio.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
Expand All @@ -45,5 +49,6 @@ examples:
reg = <0x38>;
maxim,temperature_calib = <1024>;
maxim,r0_calib = <100232>;
reset-gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
};
};
Loading

0 comments on commit d722778

Please sign in to comment.