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

Commit ddaaeee0 authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branches 'asoc/topic/rt5670', 'asoc/topic/rt5677',...

Merge remote-tracking branches 'asoc/topic/rt5670', 'asoc/topic/rt5677', 'asoc/topic/rx51', 'asoc/topic/samsung' and 'asoc/topic/sh' into asoc-next
Loading
Loading
Loading
Loading
+22 −0
Original line number Original line Diff line number Diff line
@@ -33,6 +33,25 @@ Required SoC Specific Properties:
  "iis" is the i2s bus clock and i2s_opclk0, i2s_opclk1 are sources of the root
  "iis" is the i2s bus clock and i2s_opclk0, i2s_opclk1 are sources of the root
  clk. i2s0 has internal mux to select the source of root clk and i2s1 and i2s2
  clk. i2s0 has internal mux to select the source of root clk and i2s1 and i2s2
  doesn't have any such mux.
  doesn't have any such mux.
- #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.

There are following clocks available at the I2S device nodes:
 CLK_I2S_CDCLK    - the CDCLK (CODECLKO) gate clock,
 CLK_I2S_RCLK_PSR - the RCLK prescaler divider clock (corresponding to the
		    IISPSR register),
 CLK_I2S_RCLK_SRC - the RCLKSRC mux clock (corresponding to RCLKSRC bit in
		    IISMOD register).

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.


Optional SoC Specific Properties:
Optional SoC Specific Properties:


@@ -41,6 +60,7 @@ Optional SoC Specific Properties:
- pinctrl-0: Should specify pin control groups used for this controller.
- pinctrl-0: Should specify pin control groups used for this controller.
- pinctrl-names: Should contain only one value - "default".
- pinctrl-names: Should contain only one value - "default".



Example:
Example:


i2s0: i2s@03830000 {
i2s0: i2s@03830000 {
@@ -54,6 +74,8 @@ i2s0: i2s@03830000 {
		<&clock_audss EXYNOS_I2S_BUS>,
		<&clock_audss EXYNOS_I2S_BUS>,
		<&clock_audss EXYNOS_SCLK_I2S>;
		<&clock_audss EXYNOS_SCLK_I2S>;
	clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
	clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
	#clock-cells;
	clock-output-names = "i2s_cdclk0";
	samsung,idma-addr = <0x03000000>;
	samsung,idma-addr = <0x03000000>;
	pinctrl-names = "default";
	pinctrl-names = "default";
	pinctrl-0 = <&i2s0_bus>;
	pinctrl-0 = <&i2s0_bus>;
+9 −0
Original line number Original line Diff line number Diff line
@@ -61,9 +61,12 @@
		reg = <0x03830000 0x100>;
		reg = <0x03830000 0x100>;
		clocks = <&clock_audss EXYNOS_I2S_BUS>;
		clocks = <&clock_audss EXYNOS_I2S_BUS>;
		clock-names = "iis";
		clock-names = "iis";
		#clock-cells = <1>;
		clock-output-names = "i2s_cdclk0";
		dmas = <&pdma0 12>, <&pdma0 11>, <&pdma0 10>;
		dmas = <&pdma0 12>, <&pdma0 11>, <&pdma0 10>;
		dma-names = "tx", "rx", "tx-sec";
		dma-names = "tx", "rx", "tx-sec";
		samsung,idma-addr = <0x03000000>;
		samsung,idma-addr = <0x03000000>;
		#sound-dai-cells = <1>;
		status = "disabled";
		status = "disabled";
	};
	};


@@ -372,8 +375,11 @@
		reg = <0x13960000 0x100>;
		reg = <0x13960000 0x100>;
		clocks = <&clock CLK_I2S1>;
		clocks = <&clock CLK_I2S1>;
		clock-names = "iis";
		clock-names = "iis";
		#clock-cells = <1>;
		clock-output-names = "i2s_cdclk1";
		dmas = <&pdma1 12>, <&pdma1 11>;
		dmas = <&pdma1 12>, <&pdma1 11>;
		dma-names = "tx", "rx";
		dma-names = "tx", "rx";
		#sound-dai-cells = <1>;
		status = "disabled";
		status = "disabled";
	};
	};


@@ -382,8 +388,11 @@
		reg = <0x13970000 0x100>;
		reg = <0x13970000 0x100>;
		clocks = <&clock CLK_I2S2>;
		clocks = <&clock CLK_I2S2>;
		clock-names = "iis";
		clock-names = "iis";
		#clock-cells = <1>;
		clock-output-names = "i2s_cdclk2";
		dmas = <&pdma0 14>, <&pdma0 13>;
		dmas = <&pdma0 14>, <&pdma0 13>;
		dma-names = "tx", "rx";
		dma-names = "tx", "rx";
		#sound-dai-cells = <1>;
		status = "disabled";
		status = "disabled";
	};
	};


+22 −5
Original line number Original line Diff line number Diff line
@@ -7,6 +7,7 @@
 * published by the Free Software Foundation.
 * published by the Free Software Foundation.
*/
*/


#include <dt-bindings/sound/samsung-i2s.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/input/input.h>
#include "exynos4412.dtsi"
#include "exynos4412.dtsi"


@@ -37,14 +38,13 @@
		pinctrl-names = "default";
		pinctrl-names = "default";
		status = "okay";
		status = "okay";
		clocks = <&clock_audss EXYNOS_I2S_BUS>,
		clocks = <&clock_audss EXYNOS_I2S_BUS>,
			 <&clock_audss EXYNOS_DOUT_AUD_BUS>;
			 <&clock_audss EXYNOS_DOUT_AUD_BUS>,
		clock-names = "iis", "i2s_opclk0";
			 <&clock_audss EXYNOS_SCLK_I2S>;
		clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
	};
	};


	sound: sound {
	sound: sound {
		compatible = "samsung,odroidx2-audio";
		compatible = "simple-audio-card";
		samsung,i2s-controller = <&i2s0>;
		samsung,audio-codec = <&max98090>;
		assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
		assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
				<&clock_audss EXYNOS_MOUT_I2S>,
				<&clock_audss EXYNOS_MOUT_I2S>,
				<&clock_audss EXYNOS_DOUT_SRP>,
				<&clock_audss EXYNOS_DOUT_SRP>,
@@ -55,6 +55,20 @@
				<0>,
				<0>,
				<192000000>,
				<192000000>,
				<19200000>;
				<19200000>;

		simple-audio-card,format = "i2s";
		simple-audio-card,bitclock-master = <&link0_codec>;
		simple-audio-card,frame-master = <&link0_codec>;

		simple-audio-card,cpu {
			sound-dai = <&i2s0 0>;
			system-clock-frequency = <19200000>;
		};

		link0_codec: simple-audio-card,codec {
			sound-dai = <&max98090>;
			clocks = <&i2s0 CLK_I2S_CDCLK>;
		};
	};
	};


	mmc@12550000 {
	mmc@12550000 {
@@ -373,6 +387,9 @@
			reg = <0x10>;
			reg = <0x10>;
			interrupt-parent = <&gpx0>;
			interrupt-parent = <&gpx0>;
			interrupts = <0 0>;
			interrupts = <0 0>;
			clocks = <&i2s0 CLK_I2S_CDCLK>;
			clock-names = "mclk";
			#sound-dai-cells = <0>;
		};
		};
	};
	};


+5 −3
Original line number Original line Diff line number Diff line
@@ -49,9 +49,11 @@
};
};


&sound {
&sound {
	compatible = "samsung,odroidu3-audio";
	simple-audio-card,name = "Odroid-U3";
	samsung,model = "Odroid-U3";
	simple-audio-card,widgets =
	samsung,audio-routing =
		"Headphone", "Headphone Jack",
		"Speakers", "Speakers";
	simple-audio-card,routing =
		"Headphone Jack", "HPL",
		"Headphone Jack", "HPL",
		"Headphone Jack", "HPR",
		"Headphone Jack", "HPR",
		"Headphone Jack", "MICBIAS",
		"Headphone Jack", "MICBIAS",
+6 −2
Original line number Original line Diff line number Diff line
@@ -23,8 +23,12 @@
};
};


&sound {
&sound {
	samsung,model = "Odroid-X2";
	simple-audio-card,name = "Odroid-X2";
	samsung,audio-routing =
	simple-audio-card,widgets =
		"Headphone", "Headphone Jack",
		"Microphone", "Mic Jack",
		"Microphone", "DMIC";
	simple-audio-card,routing =
		"Headphone Jack", "HPL",
		"Headphone Jack", "HPL",
		"Headphone Jack", "HPR",
		"Headphone Jack", "HPR",
		"IN1", "Mic Jack",
		"IN1", "Mic Jack",
Loading