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

Commit 89c8ae73 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge tag 'asoc-v3.15-3' of...

Merge tag 'asoc-v3.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next

ASoC: Updates for v3.15

A few more updates for the merge window:

 - Fixes for the simple-card DAI format DT mess.
 - A new driver for Cirrus cs42xx8 devices.
 - DT support for a couple more devices.
 - A revert of a previous buggy fix for soc-pcm, plus a few more fixes
   and cleanups.
parents 2df6742f e090d5b6
Loading
Loading
Loading
Loading
+6 −3
Original line number Original line Diff line number Diff line
@@ -11,14 +11,17 @@ Mandatory properties:
 * marvell,audio-controller: a phandle that points to the audio
 * marvell,audio-controller: a phandle that points to the audio
   controller of the Armada 370 SoC.
   controller of the Armada 370 SoC.


 * marvell,audio-codec: a phandle that points to the analog audio
 * marvell,audio-codec: a set of three phandles that points to:
   codec connected to the Armada 370 SoC.

    1/ the analog audio codec connected to the Armada 370 SoC
    2/ the S/PDIF transceiver
    3/ the S/PDIF receiver


Example:
Example:


	sound {
	sound {
	      compatible = "marvell,a370db-audio";
	      compatible = "marvell,a370db-audio";
	      marvell,audio-controller = <&audio_controller>;
	      marvell,audio-controller = <&audio_controller>;
	      marvell,audio-codec = <&audio_codec>;
	      marvell,audio-codec = <&audio_codec &spdif_out &spdif_in>;
	      status = "okay";
	      status = "okay";
	};
	};
+28 −0
Original line number Original line Diff line number Diff line
CS42448/CS42888 audio CODEC

Required properties:

  - compatible : must contain one of "cirrus,cs42448" and "cirrus,cs42888"

  - reg : the I2C address of the device for I2C

  - clocks : a list of phandles + clock-specifiers, one for each entry in
    clock-names

  - clock-names : must contain "mclk"

  - VA-supply, VD-supply, VLS-supply, VLC-supply: power supplies for the device,
    as covered in Documentation/devicetree/bindings/regulator/regulator.txt

Example:

codec: cs42888@48 {
	compatible = "cirrus,cs42888";
	reg = <0x48>;
	clocks = <&codec_mclk 0>;
	clock-names = "mclk";
	VA-supply = <&reg_audio>;
	VD-supply = <&reg_audio>;
	VLS-supply = <&reg_audio>;
	VLC-supply = <&reg_audio>;
};
+96 −0
Original line number Original line Diff line number Diff line
Renesas R-Car sound

Required properties:
- compatible			: "renesas,rcar_sound-gen1" if generation1
				  "renesas,rcar_sound-gen2" if generation2
- reg				: Should contain the register physical address.
				  required register is
				   SRU/ADG/SSI      if generation1
				   SRU/ADG/SSIU/SSI if generation2
- rcar_sound,ssi		: SSI subnode
- rcar_sound,scu		: SCU subnode
- rcar_sound,dai		: DAI subnode

SSI subnode properties:
- interrupts			: Should contain SSI interrupt for PIO transfer
- shared-pin			: if shared clock pin

DAI subnode properties:
- playback			: list of playback modules
- capture			: list of capture  modules

Example:

rcar_sound: rcar_sound@0xffd90000 {
	#sound-dai-cells = <1>;
	compatible = "renesas,rcar_sound-gen2";
	reg =	<0 0xec500000 0 0x1000>, /* SCU */
		<0 0xec5a0000 0 0x100>,  /* ADG */
		<0 0xec540000 0 0x1000>, /* SSIU */
		<0 0xec541000 0 0x1280>; /* SSI */

	rcar_sound,src {
		src0: src@0 { };
		src1: src@1 { };
		src2: src@2 { };
		src3: src@3 { };
		src4: src@4 { };
		src5: src@5 { };
		src6: src@6 { };
		src7: src@7 { };
		src8: src@8 { };
		src9: src@9 { };
	};

	rcar_sound,ssi {
		ssi0: ssi@0 {
			interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>;
		};
		ssi1: ssi@1 {
			interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>;
		};
		ssi2: ssi@2 {
			interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>;
		};
		ssi3: ssi@3 {
			interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>;
		};
		ssi4: ssi@4 {
			interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>;
		};
		ssi5: ssi@5 {
			interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>;
		};
		ssi6: ssi@6 {
			interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>;
		};
		ssi7: ssi@7 {
			interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>;
		};
		ssi8: ssi@8 {
			interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>;
		};
		ssi9: ssi@9 {
			interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>;
		};
	};

	rcar_sound,dai {
		dai0 {
			playback = <&ssi5 &src5>;
			capture  = <&ssi6>;
		};
		dai1 {
			playback = <&ssi3>;
		};
		dai2 {
			capture  = <&ssi4>;
		};
		dai3 {
			playback = <&ssi7>;
		};
		dai4 {
			capture  = <&ssi8>;
		};
	};
};
+6 −0
Original line number Original line Diff line number Diff line
@@ -43,6 +43,12 @@ Optional CPU/CODEC subnodes properties:
					  clock node (= common clock), or "system-clock-frequency"
					  clock node (= common clock), or "system-clock-frequency"
					  (if system doens't support common clock)
					  (if system doens't support common clock)


Note:
 * For 'format', 'frame-master', 'bitclock-master', 'bitclock-inversion' and
   'frame-inversion', the simple card will use the settings of CODEC for both
   CPU and CODEC sides as we need to keep the settings identical for both ends
   of the link.

Example:
Example:


sound {
sound {
+1 −1
Original line number Original line Diff line number Diff line
@@ -453,7 +453,7 @@ TP_STATUS_COPY : This flag indicates that the frame (and associated
                        enabled previously with setsockopt() and 
                        enabled previously with setsockopt() and 
                        the PACKET_COPY_THRESH option. 
                        the PACKET_COPY_THRESH option. 


                        The number of frames than can be buffered to 
                        The number of frames that can be buffered to
                        be read with recvfrom is limited like a normal socket.
                        be read with recvfrom is limited like a normal socket.
                        See the SO_RCVBUF option in the socket (7) man page.
                        See the SO_RCVBUF option in the socket (7) man page.


Loading