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

Commit 25305dcf authored by Mark Brown's avatar Mark Brown
Browse files

Merge tag 'asoc-v4.2-2' into asoc-next

ASoC: Further updates for v4.2

There's a bunch of additional updates and fixes that came in since my
orignal pull request here, including DT support for rt5645 and fairly
large serieses of cleanups and improvements to tas2552 and rcar.

# gpg: Signature made Mon 22 Jun 2015 10:24:48 BST using RSA key ID 5D5487D0
# gpg: Oops: keyid_from_fingerprint: no pubkey
# gpg: Good signature from "Mark Brown <broonie@sirena.org.uk>"
# gpg:                 aka "Mark Brown <broonie@debian.org>"
# gpg:                 aka "Mark Brown <broonie@kernel.org>"
# gpg:                 aka "Mark Brown <broonie@tardis.ed.ac.uk>"
# gpg:                 aka "Mark Brown <broonie@linaro.org>"
# gpg:                 aka "Mark Brown <Mark.Brown@linaro.org>"
parents 89fc594b c99d49a8
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
MT8173 with MAX98090 CODEC

Required properties:
- compatible : "mediatek,mt8173-max98090"
- mediatek,audio-codec: the phandle of the MAX98090 audio codec

Example:

	sound {
		compatible = "mediatek,mt8173-max98090";
		mediatek,audio-codec = <&max98090>;
	};
+13 −0
Original line number Diff line number Diff line
MT8173 with RT5650 RT5676 CODECS

Required properties:
- compatible : "mediatek,mt8173-rt5650-rt5676"
- mediatek,audio-codec: the phandles of rt5650 and rt5676 codecs

Example:

	sound {
		compatible = "mediatek,mt8173-rt5650-rt5676";
		mediatek,audio-codec = <&rt5650 &rt5676>;
	};
+45 −0
Original line number Diff line number Diff line
Mediatek AFE PCM controller

Required properties:
- compatible = "mediatek,mt8173-afe-pcm";
- reg: register location and size
- interrupts: Should contain AFE interrupt
- clock-names: should have these clock names:
		"infra_sys_audio_clk",
		"top_pdn_audio",
		"top_pdn_aud_intbus",
		"bck0",
		"bck1",
		"i2s0_m",
		"i2s1_m",
		"i2s2_m",
		"i2s3_m",
		"i2s3_b";

Example:

	afe: mt8173-afe-pcm@11220000  {
		compatible = "mediatek,mt8173-afe-pcm";
		reg = <0 0x11220000 0 0x1000>;
		interrupts = <GIC_SPI 134 IRQ_TYPE_EDGE_FALLING>;
		clocks = <&infracfg INFRA_AUDIO>,
			<&topckgen TOP_AUDIO_SEL>,
			<&topckgen TOP_AUD_INTBUS_SEL>,
			<&topckgen TOP_APLL1_DIV0>,
			<&topckgen TOP_APLL2_DIV0>,
			<&topckgen TOP_I2S0_M_CK_SEL>,
			<&topckgen TOP_I2S1_M_CK_SEL>,
			<&topckgen TOP_I2S2_M_CK_SEL>,
			<&topckgen TOP_I2S3_M_CK_SEL>,
			<&topckgen TOP_I2S3_B_CK_SEL>;
		clock-names = "infra_sys_audio_clk",
				"top_pdn_audio",
				"top_pdn_aud_intbus",
				"bck0",
				"bck1",
				"i2s0_m",
				"i2s1_m",
				"i2s2_m",
				"i2s3_m",
				"i2s3_b";
	};
+60 −0
Original line number Diff line number Diff line
* Qualcomm Technologies APQ8016 SBC ASoC machine driver

This node models the Qualcomm Technologies APQ8016 SBC ASoC machine driver

Required properties:

- compatible		: "qcom,apq8016-sbc-sndcard"

- pinctrl-N		: One property must exist for each entry in
			  pinctrl-names.  See ../pinctrl/pinctrl-bindings.txt
			  for details of the property values.
- pinctrl-names		: Must contain a "default" entry.
- reg			: Must contain an address for each entry in reg-names.
- reg-names		: A list which must include the following entries:
				* "mic-iomux"
				* "spkr-iomux"
- qcom,model		: Name of the sound card.

Dai-link subnode properties and subnodes:

Required dai-link subnodes:

- cpu					: CPU   sub-node
- codec					: CODEC sub-node

Required CPU/CODEC subnodes properties:

-link-name		: Name of the dai link.
-sound-dai		: phandle and port of CPU/CODEC
-capture-dai		: phandle and port of CPU/CODEC

Example:

sound: sound {
	compatible = "qcom,apq8016-sbc-sndcard";
	reg = <0x07702000 0x4>, <0x07702004 0x4>;
	reg-names = "mic-iomux", "spkr-iomux";
	qcom,model = "DB410c";

	/* I2S - Internal codec */
	internal-dai-link@0 {
		cpu { /* PRIMARY */
			sound-dai = <&lpass MI2S_PRIMARY>;
		};
		codec {
			sound-dai = <&wcd_codec 0>;
		};
	};

	/* External Primary or External Secondary -ADV7533 HDMI */
	external-dai-link@0 {
		link-name = "ADV7533";
		cpu { /* QUAT */
			sound-dai = <&lpass MI2S_QUATERNARY>;
		};
		codec {
			sound-dai = <&adv_bridge 0>;
		};
	};
};
+72 −0
Original line number Diff line number Diff line
RT5650/RT5645 audio CODEC

This device supports I2C only.

Required properties:

- compatible : One of "realtek,rt5645" or "realtek,rt5650".

- reg : The I2C address of the device.

- interrupts : The CODEC's interrupt output.

Optional properties:

- hp-detect-gpios:
  a GPIO spec for the external headphone detect pin. If jd-mode = 0,
  we will get the JD status by getting the value of hp-detect-gpios.

- realtek,in2-differential
  Boolean. Indicate MIC2 input are differential, rather than single-ended.

- realtek,dmic1-data-pin
  0: dmic1 is not used
  1: using IN2P pin as dmic1 data pin
  2: using GPIO6 pin as dmic1 data pin
  3: using GPIO10 pin as dmic1 data pin
  4: using GPIO12 pin as dmic1 data pin

- realtek,dmic2-data-pin
  0: dmic2 is not used
  1: using IN2N pin as dmic2 data pin
  2: using GPIO5 pin as dmic2 data pin
  3: using GPIO11 pin as dmic2 data pin

-- realtek,jd-mode : The JD mode of rt5645/rt5650
   0 : rt5645/rt5650 JD function is not used
   1 : Mode-0 (VDD=3.3V), two port jack detection
   2 : Mode-1 (VDD=3.3V), one port jack detection
   3 : Mode-2 (VDD=1.8V), one port jack detection

Pins on the device (for linking into audio routes) for RT5645/RT5650:

  * DMIC L1
  * DMIC R1
  * DMIC L2
  * DMIC R2
  * IN1P
  * IN1N
  * IN2P
  * IN2N
  * Haptic Generator
  * HPOL
  * HPOR
  * LOUTL
  * LOUTR
  * PDM1L
  * PDM1R
  * SPOL
  * SPOR

Example:

codec: rt5650@1a {
	compatible = "realtek,rt5650";
	reg = <0x1a>;
	hp-detect-gpios = <&gpio 19 0>;
	interrupt-parent = <&gpio>;
	interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
	realtek,dmic-en = "true";
	realtek,en-jd-func = "true";
	realtek,jd-mode = <3>;
};
 No newline at end of file
Loading