Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 126f7051 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sound updates from Takashi Iwai:
 "We've got many code additions at this cycle as a result of quite a few
  new drivers. Below are highlights:

  Core stuff:
   - Fix the long-standing issue with the device registration order; the
     control device is now registered at last
   - PCM locking code cleanups for RT kernels
   - Fixes for possible races in ALSA timer resolution accesses
   - TLV offset definitions in uapi

  ASoC:
   - Many fixes for the topology stuff, including fixes for v4 ABI
     compatibility
   - Lots of cleanups / quirks for Intel platforms based on Realtek
     CODECs
   - Continued componentization works, removing legacy CODEC stuff
   - Conversion of OMAP DMA to the new, more standard SDMA-PCM driver
   - Fixes and updates to Cirrus Logic SoC drivers
   - New Qualcomm DSP support
   - New drivers for Analog SSM2305, Atmel I2S controllers, Mediatek
     MT6351, MT6797 and MT7622, Qualcomm DSPs, Realtek RT1305, RT1306
     and RT5668 and TI TSCS454

  HD-audio:
   - Finally better support for some CA0132 boards, allowing Windows
     firmware
   - HP Spectre x360 support along with a bulk of COEF stuff
   - Blacklisting power save default some known boards reported on
     Fedora

  USB-audio:
   - Continued improvements on UAC3 support; now BADD is supported
   - Fixes / improvements for Dell WD15 dock
   - Allow DMA coherent pages for PCM buffers for ARCH, MIPS & co

  Others:
   - New Xen sound frontend driver support
   - Cache implementation and other improvements for FireWire DICE
   - Conversions to octal permissions in allover places"

* tag 'sound-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (386 commits)
  ASoC: dapm: delete dapm_kcontrol_data paths list before freeing it
  ALSA: usb-audio: remove redundant check on err
  ASoC: topology: Move skl-tplg-interface.h to uapi
  ASoC: topology: Move v4 manifest header data structures to uapi
  ASoC: topology: Improve backwards compatibility with v4 topology files
  ALSA: pci/hda: Remove unused, broken, header file
  ASoC: TSCS454: Add Support
  ASoC: Intel: kbl: Move codec sysclk config to codec_init function
  ASoC: simple-card: set cpu dai clk in hw_params
  ALSA: hda - Handle kzalloc() failure in snd_hda_attach_pcm_stream()
  ALSA: oxygen: use match_string() helper
  ASoC: dapm: use match_string() helper
  ASoC: max98095: use match_string() helper
  ASoC: max98088: use match_string() helper
  ASoC: Intel: bytcr_rt5651: Set card long_name based on quirks
  ASoC: mt6797-mt6351: add hostless phone call path
  ASoC: mt6797: add Hostless DAI
  ASoC: mt6797: add PCM interface
  ASoC: mediatek: export mtk-afe symbols as needed
  ASoC: codecs: PCM1789: include gpio/consumer.h
  ...
parents 135c5504 d4d5a1cd
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -186,6 +186,9 @@ Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Uwe Kleine-König <ukl@pengutronix.de>
Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
Vinod Koul <vkoul@kernel.org> <vinod.koul@intel.com>
Vinod Koul <vkoul@kernel.org> <vinod.koul@linux.intel.com>
Vinod Koul <vkoul@kernel.org> <vkoul@infradead.org>
Viresh Kumar <vireshk@kernel.org> <viresh.kumar@st.com>
Viresh Kumar <vireshk@kernel.org> <viresh.linux@gmail.com>
Viresh Kumar <vireshk@kernel.org> <viresh.kumar2@arm.com>
+84 −0
Original line number Diff line number Diff line
Qualcomm APR (Asynchronous Packet Router) binding

This binding describes the Qualcomm APR. APR is a IPC protocol for
communication between Application processor and QDSP. APR is mainly
used for audio/voice services on the QDSP.

- compatible:
	Usage: required
	Value type: <stringlist>
	Definition: must be "qcom,apr-v<VERSION-NUMBER>", example "qcom,apr-v2"

- reg
	Usage: required
	Value type: <u32>
	Definition: Destination processor ID.
	Possible values are :
			1 - APR simulator
			2 - PC
			3 - MODEM
			4 - ADSP
			5 - APPS
			6 - MODEM2
			7 - APPS2

= APR SERVICES
Each subnode of the APR node represents service tied to this apr. The name
of the nodes are not important. The properties of these nodes are defined
by the individual bindings for the specific service
- All APR services MUST contain the following property:

- reg
	Usage: required
	Value type: <u32>
	Definition: APR Service ID
	Possible values are :
			3 - DSP Core Service
			4 - Audio Front End Service.
			5 - Voice Stream Manager Service.
			6 - Voice processing manager.
			7 - Audio Stream Manager Service.
			8 - Audio Device Manager Service.
			9 - Multimode voice manager.
			10 - Core voice stream.
			11 - Core voice processor.
			12 - Ultrasound stream manager.
			13 - Listen stream manager.

= EXAMPLE
The following example represents a QDSP based sound card on a MSM8996 device
which uses apr as communication between Apps and QDSP.

	apr@4 {
		compatible = "qcom,apr-v2";
		reg = <APR_DOMAIN_ADSP>;

		q6core@3 {
			compatible = "qcom,q6core";
			reg = <APR_SVC_ADSP_CORE>;
		};

		q6afe@4 {
			compatible = "qcom,q6afe";
			reg = <APR_SVC_AFE>;

			dais {
				#sound-dai-cells = <1>;
				hdmi@1 {
					reg = <1>;
				};
			};
		};

		q6asm@7 {
			compatible = "qcom,q6asm";
			reg = <APR_SVC_ASM>;
			...
		};

		q6adm@8 {
			compatible = "qcom,q6adm";
			reg = <APR_SVC_ADM>;
			...
		};
	};
+14 −0
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>;
};
+47 −0
Original line number Diff line number Diff line
* Atmel I2S controller

Required properties:
- compatible:     Should be "atmel,sama5d2-i2s".
- reg:            Should be the physical base address of the controller and the
                  length of memory mapped region.
- interrupts:     Should contain the interrupt for the controller.
- dmas:           Should be one per channel name listed in the dma-names property,
                  as described in atmel-dma.txt and dma.txt files.
- dma-names:      Two dmas have to be defined, "tx" and "rx".
                  This IP also supports one shared channel for both rx and tx;
                  if this mode is used, one "rx-tx" name must be used.
- clocks:         Must contain an entry for each entry in clock-names.
                  Please refer to clock-bindings.txt.
- clock-names:    Should be one of each entry matching the clocks phandles list:
                  - "pclk" (peripheral clock) Required.
                  - "gclk" (generated clock) Optional (1).
                  - "aclk" (Audio PLL clock) Optional (1).
                  - "muxclk" (I2S mux clock) Optional (1).

Optional properties:
- pinctrl-0:      Should specify pin control groups used for this controller.
- princtrl-names: Should contain only one value - "default".


(1) : Only the peripheral clock is required. The generated clock, the Audio
      PLL clock adn the I2S mux clock are optional and should only be set
      together, when Master Mode is required.

Example:

	i2s@f8050000 {
		compatible = "atmel,sama5d2-i2s";
		reg = <0xf8050000 0x300>;
		interrupts = <54 IRQ_TYPE_LEVEL_HIGH 7>;
		dmas = <&dma0
			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
			 AT91_XDMAC_DT_PERID(31))>,
		       <&dma0
			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
			 AT91_XDMAC_DT_PERID(32))>;
		dma-names = "tx", "rx";
		clocks = <&i2s0_clk>, <&i2s0_gclk>, <&audio_pll_pmc>, <&i2s0muxck>;
		clock-names = "pclk", "gclk", "aclk", "muxclk";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_i2s0_default>;
	};
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ Required properties:

Example:

codec: cs42888@48 {
cs42888: codec@48 {
	compatible = "cirrus,cs42888";
	reg = <0x48>;
	clocks = <&codec_mclk 0>;
Loading