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

Commit 81b6863c authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branches 'asoc/topic/pxa', 'asoc/topic/qcom',...

Merge remote-tracking branches 'asoc/topic/pxa', 'asoc/topic/qcom', 'asoc/topic/rcar', 'asoc/topic/rk3036' and 'asoc/topic/rockchip' into asoc-next
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
Inno audio codec for RK3036

Inno audio codec is integrated inside RK3036 SoC.

Required properties:
- compatible : Should be "rockchip,rk3036-codec".
- reg : The registers of codec.
- clock-names : Should be "acodec_pclk".
- clocks : The clock of codec.
- rockchip,grf : The phandle of grf device node.

Example:

	acodec: acodec-ana@20030000 {
		compatible = "rk3036-codec";
		reg = <0x20030000 0x4000>;
		rockchip,grf = <&grf>;
		clock-names = "acodec_pclk";
		clocks = <&cru ACLK_VCODEC>;
	};
+82 −0
Original line number Diff line number Diff line
@@ -7,8 +7,11 @@ Required properties:
				  "renesas,rcar_sound-gen3" if generation3
				  Examples with soctypes are:
				    - "renesas,rcar_sound-r8a7778" (R-Car M1A)
				    - "renesas,rcar_sound-r8a7779" (R-Car H1)
				    - "renesas,rcar_sound-r8a7790" (R-Car H2)
				    - "renesas,rcar_sound-r8a7791" (R-Car M2-W)
				    - "renesas,rcar_sound-r8a7793" (R-Car M2-N)
				    - "renesas,rcar_sound-r8a7794" (R-Car E2)
				    - "renesas,rcar_sound-r8a7795" (R-Car H3)
- reg				: Should contain the register physical address.
				  required register is
@@ -34,6 +37,8 @@ Required properties:
				  see below for detail.
- #sound-dai-cells		: it must be 0 if your system is using single DAI
				  it must be 1 if your system is using multi  DAI

Optional properties:
- #clock-cells			: it must be 0 if your system has audio_clkout
				  it must be 1 if your system has audio_clkout0/1/2/3
- clock-frequency		: for all audio_clkout0/1/2/3
@@ -244,3 +249,80 @@ rcar_sound: sound@ec500000 {
		};
	};
};

Example: simple sound card

	rsnd_ak4643: sound {
		compatible = "simple-audio-card";

		simple-audio-card,format = "left_j";
		simple-audio-card,bitclock-master = <&sndcodec>;
		simple-audio-card,frame-master = <&sndcodec>;

		sndcpu: simple-audio-card,cpu {
			sound-dai = <&rcar_sound>;
		};

		sndcodec: simple-audio-card,codec {
			sound-dai = <&ak4643>;
			clocks = <&audio_clock>;
		};
	};

&rcar_sound {
	pinctrl-0 = <&sound_pins &sound_clk_pins>;
	pinctrl-names = "default";

	/* Single DAI */
	#sound-dai-cells = <0>;

	status = "okay";

	rcar_sound,dai {
		dai0 {
			playback = <&ssi0 &src2 &dvc0>;
			capture  = <&ssi1 &src3 &dvc1>;
		};
	};
};

&ssi1 {
	shared-pin;
};

Example: simple sound card for TDM

	rsnd_tdm: sound {
		compatible = "simple-audio-card";

		simple-audio-card,format = "left_j";
		simple-audio-card,bitclock-master = <&sndcodec>;
		simple-audio-card,frame-master = <&sndcodec>;

		sndcpu: simple-audio-card,cpu {
			sound-dai = <&rcar_sound>;
			dai-tdm-slot-num = <6>;
		};

		sndcodec: simple-audio-card,codec {
			sound-dai = <&xxx>;
		};
	};

Example: simple sound card for Multi channel

&rcar_sound {
	pinctrl-0 = <&sound_pins &sound_clk_pins>;
	pinctrl-names = "default";

	/* Single DAI */
	#sound-dai-cells = <0>;

	status = "okay";

	rcar_sound,dai {
		dai0 {
			playback = <&ssi0 &ssi1 &ssi2 &src0 &dvc0>;
		};
	};
};
+2 −2
Original line number Diff line number Diff line
@@ -4,8 +4,8 @@ Renesas Sampling Rate Convert Sound Card specifies audio DAI connections of SoC

Required properties:

- compatible				: "renesas,rsrc-card,<board>"
					  Examples with soctypes are:
- compatible				: "renesas,rsrc-card{,<board>}"
					  Examples with boards are:
					    - "renesas,rsrc-card"
					    - "renesas,rsrc-card,lager"
					    - "renesas,rsrc-card,koelsch"
+2 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ Required properties:
- clock-names: should contain followings:
   - "i2s_hclk": clock for I2S BUS
   - "i2s_clk" : clock for I2S controller
- rockchip,playback-channels: max playback channels, if not set, 8 channels default.
- rockchip,capture-channels: max capture channels, if not set, 2 channels default.

Example for rk3288 I2S controller:
@@ -31,5 +32,6 @@ i2s@ff890000 {
	dma-names = "tx", "rx";
	clock-names = "i2s_hclk", "i2s_clk";
	clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>;
	rockchip,playback-channels = <8>;
	rockchip,capture-channels = <2>;
};
+4 −0
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ config SND_SOC_ALL_CODECS
	select SND_SOC_GTM601
	select SND_SOC_HDAC_HDMI
	select SND_SOC_ICS43432
	select SND_SOC_INNO_RK3036
	select SND_SOC_ISABELLE if I2C
	select SND_SOC_JZ4740_CODEC
	select SND_SOC_LM4857 if I2C
@@ -492,6 +493,9 @@ config SND_SOC_HDAC_HDMI
config SND_SOC_ICS43432
	tristate

config SND_SOC_INNO_RK3036
	tristate "Inno codec driver for RK3036 SoC"

config SND_SOC_ISABELLE
        tristate

Loading