Commit a8e7ef3c authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sound updates from Takashi Iwai:
 "Nothing too thrilling here, but we see lots of driver updates and bug
  fixes, including quirk additions and refactoring works, while there
  have been little changes in the core functionality. Here are some
  highlights:

  Core:
   - Add validation for the control API put callback
   - Fixes in compress-offload API timestamp handling
   - Continued ASoC core API cleanups

  ASoC:
   - Add support for bus keepers (for Apple devices in future)
   - Enhancements to the SDCA support, including retaskable jacks
   - Test improvements for Cirrus Logic drivers
   - Lots of fixes for the NXP, nVidia and Qualcomm
   - Support for AMD RPL DMIC, Cirrus Logic CS42L43 and CS47L47, nVidia
     machines with CPCAP and WM8962

  USB-audio:
   - Quirks for Huawei Headset, Focusrite Novation, MV-Silicon, Studio
     1824, Arturia AF16Rig, Hotone Audio, Feaulle Rainbow, PreSonus
     AudioBox, Moondrop Ju Jiu, Scarlett 18i20, etc
   - Extended mixer volume quirk handling
   - UAF and other fixes for us144mkii, 6fire and caiaq drivers

  HD-audio:
   - Add quirks or fixes for Acer, Lenovo, HP, ASUS machines
   - Fixes & cleanups of GPIO helper code

  Misc:
   - Add suspend/resume support for multiple legacy ISA and Apple
     drivers
   - Further regression fixes for ctxfi driver"

* tag 'sound-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (359 commits)
  ALSA: control: Validate buf_len before strnlen() in snd_ctl_elem_init_enum_names()
  ALSA: usb-audio: Fix missing error handling for get_min_max*()
  ALSA: hda/realtek - fixed speaker no sound update
  ALSA: hda/realtek: Add quirk for Acer PT316-51S headset mic
  ALSA: usb-audio: Exclude Scarlett 18i20 1st Gen from SKIP_IFACE_SETUP
  ALSA: hda/realtek: Add quirk for Legion S7 15IMH
  ALSA: hda/realtek: Add quirk for HP Spectre x360 14-ea
  ALSA: caiaq: take a reference on the USB device in create_card()
  ASoC: dt-bindings: rockchip: convert rk3399-gru-sound to DT Schema
  ALSA: sscape: Add suspend and resume support
  ALSA: sscape: Cache per-card resources for board reinitialization
  ALSA: usb-audio: Do not expose sticky mixers
  ALSA: usb-audio: Move volume control resolution check into a function
  ALSA: usb-audio: Add error checks against get_min_max*()
  ALSA: usb-audio: Add quirk for PreSonus AudioBox USB
  ALSA: interwave: guard PM-only restore helpers with CONFIG_PM
  ALSA: usb-audio: Evaluate packsize caps at the right place
  ALSA: sc6000: Restore board setup across suspend
  ALSA: sc6000: Keep the programmed board state in card-private data
  ALSA: 6fire: fix use-after-free on disconnect
  ...
parents 4a57e091 e0da8a8c
Loading
Loading
Loading
Loading
+0 −14
Original line number Diff line number Diff line
Analog Devices SSM2305 Speaker Amplifier
========================================

Required properties:
  - compatible : "adi,ssm2305"
  - shutdown-gpios : The gpio connected to the shutdown pin.
                     The gpio signal is ACTIVE_LOW.

Example:

ssm2305: analog-amplifier {
	compatible = "adi,ssm2305";
	shutdown-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
};
+46 −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,ssm2305.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices SSM2305 Class-D Speaker Amplifier

maintainers:
  - Lars-Peter Clausen <lars@metafoo.de>

description:
  The SSM2305 is a filterless, high efficiency, mono 2.8 W Class-D
  audio amplifier with a micropower shutdown mode controlled via a
  dedicated active-low GPIO pin.

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

properties:
  compatible:
    const: adi,ssm2305

  shutdown-gpios:
    maxItems: 1
    description:
      GPIO connected to the shutdown pin (SD) of the SSM2305.
      The pin is active-low; asserting it puts the device into
      micropower shutdown mode.

required:
  - compatible
  - shutdown-gpios

unevaluatedProperties: false

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

    analog-amplifier {
        compatible = "adi,ssm2305";
        shutdown-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
    };

...
+4 −0
Original line number Diff line number Diff line
@@ -35,6 +35,10 @@ properties:

  dvdd-supply: true

  firmware-name:
    maxItems: 1
    description: Name of the *_acf.bin file used for amplifier initialization

  awinic,audio-channel:
    description:
      It is used to distinguish multiple PA devices, so that different
+3 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@ description: |
  DAC for headphone output, two integrated Class D amplifiers for
  loudspeakers, and two ADCs for wired headset microphone input or
  stereo line input. PDM inputs are provided for digital microphones.
  CS42L43B variant adds dedicated PDM interface, SoundWire Clock Gearing
  support and more decimators to ISRCs.

allOf:
  - $ref: dai-common.yaml#
@@ -24,6 +26,7 @@ properties:
  compatible:
    enum:
      - cirrus,cs42l43
      - cirrus,cs42l43b

  reg:
    maxItems: 1
+0 −42
Original line number Diff line number Diff line
* Hisilicon 6210 i2s controller

Required properties:

- compatible: should be one of the following:
   - "hisilicon,hi6210-i2s"
- reg: physical base address of the i2s controller unit and length of
   memory mapped region.
- interrupts: should contain the i2s interrupt.
- clocks: a list of phandle + clock-specifier pairs, one for each entry
  in clock-names.
- clock-names: should contain following:
   - "dacodec"
   - "i2s-base"
- dmas: DMA specifiers for tx dma. See the DMA client binding,
  Documentation/devicetree/bindings/dma/dma.txt
- dma-names: should be "tx" and "rx"
- hisilicon,sysctrl-syscon: phandle to sysctrl syscon
- #sound-dai-cells: Should be set to 1 (for multi-dai)
   - The dai cell indexes reference the following interfaces:
       0: S2 interface
       (Currently that is the only one available, but more may be
        supported in the future)

Example for the hi6210 i2s controller:

i2s0: i2s@f7118000{
	compatible = "hisilicon,hi6210-i2s";
	reg = <0x0 0xf7118000 0x0 0x8000>; /* i2s unit */
	interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; /* 155 "DigACodec_intr"-32 */
	clocks = <&sys_ctrl HI6220_DACODEC_PCLK>,
		 <&sys_ctrl HI6220_BBPPLL0_DIV>;
	clock-names = "dacodec", "i2s-base";
	dmas = <&dma0 15 &dma0 14>;
	dma-names = "rx", "tx";
	hisilicon,sysctrl-syscon = <&sys_ctrl>;
	#sound-dai-cells = <1>;
};

Then when referencing the i2s controller:
	sound-dai = <&i2s0 0>; /* index 0 => S2 interface */
Loading