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

Unverified Commit 848272e9 authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branch 'asoc/topic/samsung' into asoc-next

parents 36e82da9 4718840e
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -2,8 +2,10 @@ Samsung Exynos Odroid XU3/XU4 audio complex with MAX98090 codec

Required properties:

 - compatible - "samsung,odroidxu3-audio" - for Odroid XU3 board,
		"samsung,odroidxu4-audio" - for Odroid XU4 board
 - compatible - "hardkernel,odroid-xu3-audio" - for Odroid XU3 board,
		"hardkernel,odroid-xu4-audio" - for Odroid XU4 board (deprecated),
		"samsung,odroid-xu3-audio" - for Odroid XU3 board (deprecated),
		"samsung,odroid-xu4-audio" - for Odroid XU4 board (deprecated)
 - model - the user-visible name of this sound complex
 - clocks - should contain entries matching clock names in the clock-names
    property
@@ -35,7 +37,7 @@ Required sub-nodes:
Example:

sound {
	compatible = "samsung,odroidxu3-audio";
	compatible = "hardkernel,odroid-xu3-audio";
	model = "Odroid-XU3";
	samsung,audio-routing =
		"Headphone Jack", "HPL",
+9 −5
Original line number Diff line number Diff line
@@ -4,9 +4,13 @@ Required properties:

 - compatible		 : "samsung,tm2-audio"
 - model		 : the user-visible name of this sound complex
 - audio-codec		 : the phandle of the wm5110 audio codec node,
			   as described in ../mfd/arizona.txt
 - i2s-controller	 : the phandle of the I2S controller
 - audio-codec		 : the first entry should be phandle of the wm5110 audio
			   codec node, as described in ../mfd/arizona.txt;
			   the second entry should be phandle of the HDMI
			   transmitter node
 - i2s-controller	 : the list of phandle and argument tuples pointing to
			   I2S controllers, the first entry should be I2S0 and
			   the second one I2S1
 - audio-amplifier	 : the phandle of the MAX98504 amplifier
 - samsung,audio-routing : a list of the connections between audio components;
			   each entry is a pair of strings, the first being the
@@ -22,8 +26,8 @@ Example:

sound {
	compatible = "samsung,tm2-audio";
	audio-codec = <&wm5110>;
	i2s-controller = <&i2s0>;
	audio-codec = <&wm5110>, <&hdmi>;
	i2s-controller = <&i2s0 0>, <&i2s1 0>;
	audio-amplifier = <&max98504>;
	mic-bias-gpios = <&gpr3 2 0>;
	model = "wm5110";
+12 −10
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ Required SoC Specific Properties:
   - samsung,s5pv210-i2s: for 8/16/24bit multichannel(5.1) I2S with
     secondary fifo, s/w reset control and internal mux for root clk src.
   - samsung,exynos5420-i2s: for 8/16/24bit multichannel(5.1) I2S for
     playback, sterio channel capture, secondary fifo using internal
     playback, stereo channel capture, secondary fifo using internal
     or external dma, s/w reset control, internal mux for root clk src
     and 7.1 channel TDM support for playback. TDM (Time division multiplexing)
     is to allow transfer of multiple channel audio data on single data line.
@@ -25,7 +25,7 @@ Required SoC Specific Properties:
  These strings correspond 1:1 with the ordered pairs in dmas.
- clocks: Handle to iis clock and RCLK source clk.
- clock-names:
  i2s0 uses some base clks from CMU and some are from audio subsystem internal
  i2s0 uses some base clocks from CMU and some are from audio subsystem internal
  clock controller. The clock names for i2s0 should be "iis", "i2s_opclk0" and
  "i2s_opclk1" as shown in the example below.
  i2s1 and i2s2 uses clocks from CMU. The clock names for i2s1 and i2s2 should
@@ -36,9 +36,9 @@ Required SoC Specific Properties:
- #clock-cells: should be 1, this property must be present if the I2S device
  is a clock provider in terms of the common clock bindings, described in
  ../clock/clock-bindings.txt.
- clock-output-names: from the common clock bindings, names of the CDCLK
  I2S output clocks, suggested values are "i2s_cdclk0", "i2s_cdclk1",
  "i2s_cdclk3" for the I2S0, I2S1, I2S2 devices recpectively.
- clock-output-names (deprecated): from the common clock bindings, names of
  the CDCLK I2S output clocks, suggested values are "i2s_cdclk0", "i2s_cdclk1",
  "i2s_cdclk3" for the I2S0, I2S1, I2S2 devices respectively.

There are following clocks available at the I2S device nodes:
 CLK_I2S_CDCLK    - the CDCLK (CODECLKO) gate clock,
@@ -49,9 +49,10 @@ There are following clocks available at the I2S device nodes:

Refer to the SoC datasheet for availability of the above clocks.
The CLK_I2S_RCLK_PSR and CLK_I2S_RCLK_SRC clocks are usually only available
in the IIS Multi Audio Interface (I2S0).
Note: Old DTs may not have the #clock-cells, clock-output-names properties
and then not use the I2S node as a clock supplier.
in the IIS Multi Audio Interface.

Note: Old DTs may not have the #clock-cells property and then not use the I2S
node as a clock supplier.

Optional SoC Specific Properties:

@@ -59,6 +60,7 @@ Optional SoC Specific Properties:
  sub system(used in secondary sound source).
- pinctrl-0: Should specify pin control groups used for this controller.
- pinctrl-names: Should contain only one value - "default".
- #sound-dai-cells: should be 1.


Example:
@@ -74,9 +76,9 @@ i2s0: i2s@3830000 {
		<&clock_audss EXYNOS_I2S_BUS>,
		<&clock_audss EXYNOS_SCLK_I2S>;
	clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
	#clock-cells;
	clock-output-names = "i2s_cdclk0";
	#clock-cells = <1>;
	samsung,idma-addr = <0x03000000>;
	pinctrl-names = "default";
	pinctrl-0 = <&i2s0_bus>;
	#sound-dai-cells = <1>;
};
+11 −2
Original line number Diff line number Diff line
@@ -5,8 +5,17 @@ Required properties:
			"google,snow-audio-max98090" or
			"google,snow-audio-max98091" or
			"google,snow-audio-max98095"
- samsung,i2s-controller: The phandle of the Samsung I2S controller
- samsung,audio-codec: The phandle of the audio codec
- samsung,i2s-controller (deprecated): The phandle of the Samsung I2S controller
- samsung,audio-codec (deprecated): The phandle of the audio codec

Required sub-nodes:

 - 'cpu' subnode with a 'sound-dai' property containing the phandle of the I2S
    controller
 - 'codec' subnode with a 'sound-dai' property containing list of phandles
    to the CODEC nodes, first entry must be the phandle of the MAX98090,
    MAX98091 or MAX98095 CODEC (exact device type is indicated by the compatible
    string) and the second entry must be the phandle of the HDMI IP block node

Optional:
- samsung,model: The name of the sound-card
+1 −0
Original line number Diff line number Diff line
@@ -1807,6 +1807,7 @@ int snd_soc_of_get_dai_name(struct device_node *of_node,
int snd_soc_of_get_dai_link_codecs(struct device *dev,
				   struct device_node *of_node,
				   struct snd_soc_dai_link *dai_link);
void snd_soc_of_put_dai_link_codecs(struct snd_soc_dai_link *dai_link);

int snd_soc_add_dai_link(struct snd_soc_card *card,
				struct snd_soc_dai_link *dai_link);
Loading