mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Dmitry Lavnikevich <d.lavnikevich@sam-solutions.com>
To: <shawn.guo@freescale.com>, <kernel@pengutronix.de>,
	<robh+dt@kernel.org>, <pawel.moll@arm.com>,
	<mark.rutland@arm.com>, <ijc+devicetree@hellion.org.uk>,
	<galak@codeaurora.org>, <linux@arm.linux.org.uk>,
	<perex@perex.cz>, <tiwai@suse.de>
Cc: <linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<=devicetree@vger.kernel.org>, <alsa-devel@alsa-project.org>,
	Dmitry Lavnikevich <d.lavnikevich@sam-solutions.com>
Subject: [PATCH v2 2/4] ARM: dts: pbab01: enable I2S audio on phyFLEX-i.MX6 boards
Date: Fri, 12 Sep 2014 19:04:30 +0300	[thread overview]
Message-ID: <1410537872-17274-3-git-send-email-d.lavnikevich@sam-solutions.com> (raw)
In-Reply-To: <1410537872-17274-1-git-send-email-d.lavnikevich@sam-solutions.com>

Audio on phyFLEX boards is presented by tlv320aic3007 codec connected
over SSI interface.

Signed-off-by: Dmitry Lavnikevich <d.lavnikevich@sam-solutions.com>
---
 arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi | 93 +++++++++++++++++++++++++++-
 arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi | 15 +++++
 2 files changed, 106 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi
index f1bdcae5b97d..44cbcc61aff1 100644
--- a/arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi
@@ -13,6 +13,69 @@
 	chosen {
 		linux,stdout-path = &uart4;
 	};
+
+	regulators {
+		sound_1v8: regulator@2 {
+			compatible = "regulator-fixed";
+			reg = <2>;
+			regulator-name = "i2s-audio-1v8";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-always-on;
+		};
+
+		sound_3v3: regulator@3 {
+			compatible = "regulator-fixed";
+			reg = <3>;
+			regulator-name = "i2s-audio-3v3";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-always-on;
+		};
+	};
+
+	tlv320_mclk: oscillator {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <19200000>;
+		clock-output-names = "tlv320-mclk";
+	};
+
+	sound {
+		compatible = "simple-audio-card";
+		simple-audio-card,name = "imx6-phyflex-tlv320aic3007";
+		simple-audio-card,format = "i2s";
+		simple-audio-card,bitclock-master = <&dailink_master>;
+		simple-audio-card,frame-master = <&dailink_master>;
+		simple-audio-card,widgets =
+			"Microphone", "Mic Jack",
+			"Line", "Line In",
+			"Line", "Line Out",
+			"Speaker", "Speaker",
+			"Headphone", "Headphone Jack";
+		simple-audio-card,routing =
+			"Line Out", "LLOUT",
+			"Line Out", "RLOUT",
+			"Speaker", "SPOP",
+			"Speaker", "SPOM",
+			"Headphone Jack", "HPLOUT",
+			"Headphone Jack", "HPROUT",
+			"MIC3L", "Mic Jack",
+			"MIC3R", "Mic Jack",
+			"Mic Jack", "Mic Bias",
+			"LINE1L", "Line In",
+			"LINE1R", "Line In";
+
+		simple-audio-card,cpu {
+			sound-dai = <&ssi2>;
+		};
+
+		dailink_master: simple-audio-card,codec {
+			sound-dai = <&codec>;
+			clocks = <&tlv320_mclk>;
+		};
+	};
+
 };
 
 &fec {
@@ -27,12 +90,38 @@
 	status = "okay";
 };
 
+&ssi2 {
+	fsl,mode = "i2s-slave";
+	status = "okay";
+	#sound-dai-cells = <0>;
+};
+
+&audmux {
+	status = "okay";
+
+	ssi2 {
+		fsl,audmux-port = <1>;
+		fsl,port-config = <0xa5000000 0x00008000>;
+	};
+	pins5 {
+		fsl,audmux-port = <4>;
+		fsl,port-config = <0x00000000 0x00002000>;
+	};
+};
+
 &i2c2 {
 	status = "okay";
 
-	tlv320@18 {
-		compatible = "ti,tlv320aic3x";
+	codec: tlv320@18 {
+		compatible = "ti,tlv320aic3007";
+		#sound-dai-cells = <0>;
 		reg = <0x18>;
+		ai3x-micbias-vg = <2>;
+
+		AVDD-supply = <&sound_3v3>;
+		IOVDD-supply = <&sound_3v3>;
+		DRVDD-supply = <&sound_3v3>;
+		DVDD-supply = <&sound_1v8>;
 	};
 
 	stmpe@41 {
diff --git a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
index a927e88ccc98..1c4464dcb497 100644
--- a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
@@ -58,6 +58,12 @@
 	};
 };
 
+&audmux {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_audmux>;
+	status = "disabled";
+};
+
 &ecspi3 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_ecspi3>;
@@ -319,6 +325,15 @@
 				MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000
 			>;
 		};
+
+		pinctrl_audmux: audmuxgrp {
+			fsl,pins = <
+				MX6QDL_PAD_DISP0_DAT16__AUD5_TXC	0x130b0
+				MX6QDL_PAD_DISP0_DAT18__AUD5_TXFS	0x130b0
+				MX6QDL_PAD_DISP0_DAT17__AUD5_TXD	0x110b0
+				MX6QDL_PAD_DISP0_DAT19__AUD5_RXD	0x130b0
+			>;
+		};
 	};
 };
 
-- 
2.1.0


  parent reply	other threads:[~2014-09-12 16:04 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-10 13:46 [PATCH 0/5] Add Phytec pbab01 audio support Dmitry Lavnikevich
2014-09-10 13:46 ` [PATCH 1/5] ARM: dts: pbab01: move i2c pins and frequency configuration into pfla02 Dmitry Lavnikevich
2014-09-11  8:47   ` Philipp Zabel
2014-09-12 15:55     ` Dmitry Lavnikevich
2014-09-10 13:46 ` [PATCH 2/5] ASoC: fsl: add imx-tlv320aic3x machine driver Dmitry Lavnikevich
2014-09-10 14:19   ` Lothar Waßmann
2014-09-10 14:27   ` [alsa-devel] " Markus Pargmann
2014-09-10 18:14     ` Nicolin Chen
2014-09-11  6:40       ` Markus Pargmann
2014-09-11 12:41         ` Dmitry Lavnikevich
2014-09-10 18:07   ` Nicolin Chen
2014-09-10 13:46 ` [PATCH 3/5] ARM: imx_v6_v7_defconfig: enable imx-tlv320aic3x by default Dmitry Lavnikevich
2014-09-10 13:46 ` [PATCH 4/5] ARM: dts: pbab01: enable I2S audio on phyFLEX-i.MX6 boards Dmitry Lavnikevich
2014-09-10 13:46 ` [PATCH 5/5] ASoC: tlv320aic3x: fix PLL D configuration Dmitry Lavnikevich
2014-09-12 16:04 ` [PATCH v2 0/5] Add Phytec pbab01 audio support Dmitry Lavnikevich
2014-09-12 16:04   ` [PATCH v2 1/4] ARM: dts: pbab01: move i2c pins and frequency configuration into pfla02 Dmitry Lavnikevich
2014-09-12 16:04   ` Dmitry Lavnikevich [this message]
2014-09-12 16:14     ` [PATCH v2 2/4] ARM: dts: pbab01: enable I2S audio on phyFLEX-i.MX6 boards Alexander Shiyan
2014-09-15 12:04       ` Dmitry Lavnikevich
2014-09-12 16:26     ` Alexander Shiyan
2014-09-12 16:40       ` [alsa-devel] " Fabio Estevam
2014-09-15 12:07         ` Dmitry Lavnikevich
2014-09-16  1:46           ` Shawn Guo
2014-09-12 16:04   ` [PATCH v2 3/4] ARM: imx_v6_v7_defconfig: enable tlv320aic3x and simple-audio-card by default Dmitry Lavnikevich
2014-09-12 16:04   ` [PATCH v2 4/4] ASoC: tlv320aic3x: fix PLL D configuration Dmitry Lavnikevich
2014-09-16  8:08   ` [PATCH v3 0/4] Add Phytec pbab01 audio support Dmitry Lavnikevich
2014-09-16  8:08     ` [PATCH v3 1/4] ARM: dts: pbab01: move i2c pins and frequency configuration into pfla02 Dmitry Lavnikevich
2014-09-16  8:08     ` [PATCH v3 2/4] ARM: dts: pbab01: enable I2S audio on phyFLEX-i.MX6 boards Dmitry Lavnikevich
2014-10-01 12:11       ` Fabio Estevam
2014-10-01 13:40         ` Dmitry Lavnikevich
2014-10-01 13:45           ` Fabio Estevam
2014-10-01 13:52             ` Dmitry Lavnikevich
2014-09-16  8:08     ` [PATCH v3 3/4] ARM: imx_v6_v7_defconfig: enable tlv320aic3x audio codec by default Dmitry Lavnikevich
2014-09-16  8:09     ` [PATCH v3 4/4] ASoC: tlv320aic3x: fix PLL D configuration Dmitry Lavnikevich
2014-10-03 13:18     ` [PATCH v4 0/4] Add Phytec pbab01 audio support Dmitry Lavnikevich
2014-10-03 13:18       ` [PATCH v4 1/4] ARM: dts: pbab01: move i2c pins and frequency configuration into pfla02 Dmitry Lavnikevich
2014-10-03 13:18       ` [PATCH v4 2/4] ARM: dts: pbab01: enable I2S audio on phyFLEX-i.MX6 boards Dmitry Lavnikevich
2014-10-03 13:18       ` [PATCH v4 3/4] ARM: imx_v6_v7_defconfig: enable tlv320aic3x audio codec by default Dmitry Lavnikevich
2014-10-03 13:18       ` [PATCH v4 4/4] ASoC: tlv320aic3x: fix PLL D configuration Dmitry Lavnikevich
2014-10-03 15:08         ` Mark Brown
2014-10-22  9:08       ` [PATCH v4 0/3 RESEND] Add Phytec pbab01 audio support Dmitry Lavnikevich
2014-10-22  9:08         ` [PATCH v4 RESEND 1/3] ARM: dts: pbab01: move i2c pins and frequency configuration into pfla02 Dmitry Lavnikevich
2014-10-22  9:11         ` [PATCH v4 RESEND 3/3] ARM: imx_v6_v7_defconfig: enable tlv320aic3x audio codec by default Dmitry Lavnikevich
2014-10-22  9:12         ` [PATCH v4 RESEND 2/3] ARM: dts: pbab01: enable I2S audio on phyFLEX-i.MX6 boards Dmitry Lavnikevich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1410537872-17274-3-git-send-email-d.lavnikevich@sam-solutions.com \
    --to=d.lavnikevich@sam-solutions.com \
    --cc==devicetree@vger.kernel.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=perex@perex.cz \
    --cc=robh+dt@kernel.org \
    --cc=shawn.guo@freescale.com \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®