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

Commit 0723ab4a authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull more sound updates from Takashi Iwai:
 "This is the second update round for 4.7-rc1.  Most of changes are
  about the pending ASoC updates and fixes, including a few new drivers.
  Below are some highlights:

  ASoC:
   - New drivers for MAX98371 and TAS5720
   - SPI support for TLV320AIC32x4, along with the module split
   - TDM support for STI Uniperf IPs
   - Remaining topology API fixes / updates

  HDA:
   - A couple of Dell quirks and new Realtek codec support"

* tag 'sound-4.7-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (63 commits)
  ALSA: hda - Fix headset mic detection problem for one Dell machine
  spi: spi-ep93xx: Fix the PTR_ERR() argument
  ALSA: hda/realtek - Add support for ALC295/ALC3254
  ASoC: kirkwood: fix build failure
  ALSA: hda - Fix headphone noise on Dell XPS 13 9360
  ASoC: ak4642: Enable cache usage to fix crashes on resume
  ASoC: twl6040: Disconnect AUX output pads on digital mute
  ASoC: tlv320aic32x4: Properly implement the positive and negative pins into the mixers
  rcar: src: skip disabled-SRC nodes
  ASoC: max98371 Remove duplicate entry in max98371_reg
  ASoC: twl6040: Select LPPLL during standby
  ASoC: rsnd: don't use prohibited number to PDMACHCRn.SRS
  ASoC: simple-card: Add pm callbacks to platform driver
  ASoC: pxa: Fix module autoload for platform drivers
  ASoC: topology: Fix memory leak in widget creation
  ASoC: Add max98371 codec driver
  ASoC: rsnd: count .probe/.remove for rsnd_mod_call()
  ASoC: topology: Check size mismatch of ABI objects before parsing
  ASoC: topology: Check failure to create a widget
  ASoC: add support for TAS5720 digital amplifier
  ...
parents 9ba55cf7 eb4606e6
Loading
Loading
Loading
Loading
+17 −0
Original line number Original line Diff line number Diff line
max98371 codec

This device supports I2C mode only.

Required properties:

- compatible : "maxim,max98371"
- reg : The chip select number on the I2C bus

Example:

&i2c {
	max98371: max98371@0x31 {
		compatible = "maxim,max98371";
		reg = <0x31>;
	};
};
+3 −2
Original line number Original line Diff line number Diff line
MT8173 with RT5650 RT5676 CODECS
MT8173 with RT5650 RT5676 CODECS and HDMI via I2S


Required properties:
Required properties:
- compatible : "mediatek,mt8173-rt5650-rt5676"
- compatible : "mediatek,mt8173-rt5650-rt5676"
- mediatek,audio-codec: the phandles of rt5650 and rt5676 codecs
- mediatek,audio-codec: the phandles of rt5650 and rt5676 codecs
			and of the hdmi encoder node
- mediatek,platform: the phandle of MT8173 ASoC platform
- mediatek,platform: the phandle of MT8173 ASoC platform


Example:
Example:


	sound {
	sound {
		compatible = "mediatek,mt8173-rt5650-rt5676";
		compatible = "mediatek,mt8173-rt5650-rt5676";
		mediatek,audio-codec = <&rt5650 &rt5676>;
		mediatek,audio-codec = <&rt5650 &rt5676 &hdmi0>;
		mediatek,platform = <&afe>;
		mediatek,platform = <&afe>;
	};
	};
+10 −0
Original line number Original line Diff line number Diff line
@@ -5,11 +5,21 @@ Required properties:
- mediatek,audio-codec: the phandles of rt5650 codecs
- mediatek,audio-codec: the phandles of rt5650 codecs
- mediatek,platform: the phandle of MT8173 ASoC platform
- mediatek,platform: the phandle of MT8173 ASoC platform


Optional subnodes:
- codec-capture : the subnode of rt5650 codec capture
Required codec-capture subnode properties:
- sound-dai: audio codec dai name on capture path
  <&rt5650 0> : Default setting. Connect rt5650 I2S1 for capture. (dai_name = rt5645-aif1)
  <&rt5650 1> : Connect rt5650 I2S2 for capture. (dai_name = rt5645-aif2)

Example:
Example:


	sound {
	sound {
		compatible = "mediatek,mt8173-rt5650";
		compatible = "mediatek,mt8173-rt5650";
		mediatek,audio-codec = <&rt5650>;
		mediatek,audio-codec = <&rt5650>;
		mediatek,platform = <&afe>;
		mediatek,platform = <&afe>;
		codec-capture {
			sound-dai = <&rt5650 1>;
		};
	};
	};
+41 −7
Original line number Original line Diff line number Diff line
@@ -37,17 +37,18 @@ Required properties:


  - dai-name: DAI name that describes the IP.
  - dai-name: DAI name that describes the IP.


  - IP mode: IP working mode depending on associated codec.
	"HDMI" connected to HDMI codec and support IEC HDMI formats (player only).
	"SPDIF" connected to SPDIF codec and support SPDIF formats (player only).
	"PCM" PCM standard mode for I2S or TDM bus.
	"TDM" TDM mode for TDM bus.

Required properties ("st,sti-uni-player" compatibility only):
Required properties ("st,sti-uni-player" compatibility only):
  - clocks: CPU_DAI IP clock source, listed in the same order than the
  - clocks: CPU_DAI IP clock source, listed in the same order than the
	    CPU_DAI properties.
	    CPU_DAI properties.


  - uniperiph-id: internal SOC IP instance ID.
  - uniperiph-id: internal SOC IP instance ID.


  - IP mode: IP working mode depending on associated codec.
	"HDMI" connected to HDMI codec IP and IEC HDMI formats.
	"SPDIF"connected to SPDIF codec and support SPDIF formats.
	"PCM"  PCM standard mode for I2S or TDM bus.

Optional properties:
Optional properties:
  - pinctrl-0: defined for CPU_DAI@1 and CPU_DAI@4 to describe I2S PIOs for
  - pinctrl-0: defined for CPU_DAI@1 and CPU_DAI@4 to describe I2S PIOs for
	       external codecs connection.
	       external codecs connection.
@@ -56,6 +57,22 @@ Optional properties:


Example:
Example:


	sti_uni_player1: sti-uni-player@1 {
		compatible = "st,sti-uni-player";
		status = "okay";
		#sound-dai-cells = <0>;
		st,syscfg = <&syscfg_core>;
		clocks = <&clk_s_d0_flexgen CLK_PCM_1>;
		reg = <0x8D81000 0x158>;
		interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>;
		dmas = <&fdma0 3 0 1>;
		st,dai-name = "Uni Player #1 (I2S)";
		dma-names = "tx";
		st,uniperiph-id = <1>;
		st,version = <5>;
		st,mode = "TDM";
	};

	sti_uni_player2: sti-uni-player@2 {
	sti_uni_player2: sti-uni-player@2 {
		compatible = "st,sti-uni-player";
		compatible = "st,sti-uni-player";
		status = "okay";
		status = "okay";
@@ -65,7 +82,7 @@ Example:
		reg = <0x8D82000 0x158>;
		reg = <0x8D82000 0x158>;
		interrupts = <GIC_SPI 86 IRQ_TYPE_NONE>;
		interrupts = <GIC_SPI 86 IRQ_TYPE_NONE>;
		dmas = <&fdma0 4 0 1>;
		dmas = <&fdma0 4 0 1>;
		dai-name = "Uni Player #1 (DAC)";
		dai-name = "Uni Player #2 (DAC)";
		dma-names = "tx";
		dma-names = "tx";
		uniperiph-id = <2>;
		uniperiph-id = <2>;
		version = <5>;
		version = <5>;
@@ -82,7 +99,7 @@ Example:
		interrupts = <GIC_SPI 89 IRQ_TYPE_NONE>;
		interrupts = <GIC_SPI 89 IRQ_TYPE_NONE>;
		dmas = <&fdma0 7 0 1>;
		dmas = <&fdma0 7 0 1>;
		dma-names = "tx";
		dma-names = "tx";
		dai-name = "Uni Player #1 (PIO)";
		dai-name = "Uni Player #3 (SPDIF)";
		uniperiph-id = <3>;
		uniperiph-id = <3>;
		version = <5>;
		version = <5>;
		mode = "SPDIF";
		mode = "SPDIF";
@@ -99,6 +116,7 @@ Example:
		dma-names = "rx";
		dma-names = "rx";
		dai-name = "Uni Reader #1 (HDMI RX)";
		dai-name = "Uni Reader #1 (HDMI RX)";
		version = <3>;
		version = <3>;
		st,mode = "PCM";
	};
	};


2) sti-sas-codec: internal audio codec IPs driver
2) sti-sas-codec: internal audio codec IPs driver
@@ -152,4 +170,20 @@ Example of audio card declaration:
				sound-dai = <&sti_sasg_codec 0>;
				sound-dai = <&sti_sasg_codec 0>;
			};
			};
		};
		};
		simple-audio-card,dai-link@2 {
			/* TDM playback  */
			format = "left_j";
			frame-inversion = <1>;
			cpu {
				sound-dai = <&sti_uni_player1>;
				dai-tdm-slot-num = <16>;
				dai-tdm-slot-width = <16>;
				dai-tdm-slot-tx-mask =
					<1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1>;
			};

			codec {
				sound-dai = <&sti_sasg_codec 3>;
			};
		};
	};
	};
+8 −2
Original line number Original line Diff line number Diff line
Texas Instruments TAS5711/TAS5717/TAS5719 stereo power amplifiers
Texas Instruments TAS5711/TAS5717/TAS5719/TAS5721 stereo power amplifiers


The codec is controlled through an I2C interface.  It also has two other
The codec is controlled through an I2C interface.  It also has two other
signals that can be wired up to GPIOs: reset (strongly recommended), and
signals that can be wired up to GPIOs: reset (strongly recommended), and
@@ -6,7 +6,11 @@ powerdown (optional).


Required properties:
Required properties:


- compatible: "ti,tas5711", "ti,tas5717", or "ti,tas5719"
- compatible: should be one of the following:
  - "ti,tas5711",
  - "ti,tas5717",
  - "ti,tas5719",
  - "ti,tas5721"
- reg: The I2C address of the device
- reg: The I2C address of the device
- #sound-dai-cells: must be equal to 0
- #sound-dai-cells: must be equal to 0


@@ -25,6 +29,8 @@ Optional properties:
- PVDD_B-supply: regulator phandle for the PVDD_B supply (5711)
- PVDD_B-supply: regulator phandle for the PVDD_B supply (5711)
- PVDD_C-supply: regulator phandle for the PVDD_C supply (5711)
- PVDD_C-supply: regulator phandle for the PVDD_C supply (5711)
- PVDD_D-supply: regulator phandle for the PVDD_D supply (5711)
- PVDD_D-supply: regulator phandle for the PVDD_D supply (5711)
- DRVDD-supply: regulator phandle for the DRVDD supply (5721)
- PVDD-supply: regulator phandle for the PVDD supply (5721)


Example:
Example:


Loading