From: shawn.guo@linaro.org (Shawn Guo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 01/17] ASoC: imx: move eukrea audmux call into ASoC machine driver
Date: Mon, 5 Mar 2012 22:30:49 +0800 [thread overview]
Message-ID: <1330957865-19085-2-git-send-email-shawn.guo@linaro.org> (raw)
In-Reply-To: <1330957865-19085-1-git-send-email-shawn.guo@linaro.org>
It moves eukrea audmux configuration call from board file into ASoC
machine driver eukrea-tlv320, so that it gets aligned wm1133-ev1 and
mx27vis-aic32x4, and more importantly it will ease the moving of audmux
into sound/soc/imx as a platform driver later.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
---
arch/arm/mach-imx/eukrea_mbimx27-baseboard.c | 20 ------------
arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c | 17 ----------
arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c | 17 ----------
sound/soc/imx/eukrea-tlv320.c | 40 +++++++++++++++++++++--
4 files changed, 36 insertions(+), 58 deletions(-)
diff --git a/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c b/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c
index 5db3e14..5f2f91d 100644
--- a/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c
+++ b/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c
@@ -32,7 +32,6 @@
#include <mach/common.h>
#include <mach/iomux-mx27.h>
#include <mach/hardware.h>
-#include <mach/audmux.h>
#include "devices-imx27.h"
@@ -306,25 +305,6 @@ void __init eukrea_mbimx27_baseboard_init(void)
mxc_gpio_setup_multiple_pins(eukrea_mbimx27_pins,
ARRAY_SIZE(eukrea_mbimx27_pins), "MBIMX27");
-#if defined(CONFIG_SND_SOC_EUKREA_TLV320) \
- || defined(CONFIG_SND_SOC_EUKREA_TLV320_MODULE)
- /* SSI unit master I2S codec connected to SSI_PINS_4*/
- mxc_audmux_v1_configure_port(MX27_AUDMUX_HPCR1_SSI0,
- MXC_AUDMUX_V1_PCR_SYN |
- MXC_AUDMUX_V1_PCR_TFSDIR |
- MXC_AUDMUX_V1_PCR_TCLKDIR |
- MXC_AUDMUX_V1_PCR_RFSDIR |
- MXC_AUDMUX_V1_PCR_RCLKDIR |
- MXC_AUDMUX_V1_PCR_TFCSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) |
- MXC_AUDMUX_V1_PCR_RFCSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) |
- MXC_AUDMUX_V1_PCR_RXDSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4)
- );
- mxc_audmux_v1_configure_port(MX27_AUDMUX_HPCR3_SSI_PINS_4,
- MXC_AUDMUX_V1_PCR_SYN |
- MXC_AUDMUX_V1_PCR_RXDSEL(MX27_AUDMUX_HPCR1_SSI0)
- );
-#endif
-
imx27_add_imx_uart1(&uart_pdata);
imx27_add_imx_uart2(&uart_pdata);
#if !defined(MACH_EUKREA_CPUIMX27_USEUART4)
diff --git a/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c b/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c
index 66e8726..2cf603e 100644
--- a/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c
+++ b/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c
@@ -31,7 +31,6 @@
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <mach/mx25.h>
-#include <mach/audmux.h>
#include "devices-imx25.h"
@@ -241,22 +240,6 @@ void __init eukrea_mbimxsd25_baseboard_init(void)
ARRAY_SIZE(eukrea_mbimxsd_pads)))
printk(KERN_ERR "error setting mbimxsd pads !\n");
-#if defined(CONFIG_SND_SOC_EUKREA_TLV320)
- /* SSI unit master I2S codec connected to SSI_AUD5*/
- mxc_audmux_v2_configure_port(0,
- MXC_AUDMUX_V2_PTCR_SYN |
- MXC_AUDMUX_V2_PTCR_TFSDIR |
- MXC_AUDMUX_V2_PTCR_TFSEL(4) |
- MXC_AUDMUX_V2_PTCR_TCLKDIR |
- MXC_AUDMUX_V2_PTCR_TCSEL(4),
- MXC_AUDMUX_V2_PDCR_RXDSEL(4)
- );
- mxc_audmux_v2_configure_port(4,
- MXC_AUDMUX_V2_PTCR_SYN,
- MXC_AUDMUX_V2_PDCR_RXDSEL(0)
- );
-#endif
-
imx25_add_imx_uart1(&uart_pdata);
imx25_add_imx_fb(&eukrea_mximxsd_fb_pdata);
imx25_add_imx_ssi(0, &eukrea_mbimxsd_ssi_pdata);
diff --git a/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c b/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c
index 0f0af02..fd8bf8a 100644
--- a/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c
+++ b/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c
@@ -38,7 +38,6 @@
#include <mach/hardware.h>
#include <mach/common.h>
#include <mach/iomux-mx35.h>
-#include <mach/audmux.h>
#include "devices-imx35.h"
@@ -252,22 +251,6 @@ void __init eukrea_mbimxsd35_baseboard_init(void)
ARRAY_SIZE(eukrea_mbimxsd_pads)))
printk(KERN_ERR "error setting mbimxsd pads !\n");
-#if defined(CONFIG_SND_SOC_EUKREA_TLV320)
- /* SSI unit master I2S codec connected to SSI_AUD4 */
- mxc_audmux_v2_configure_port(0,
- MXC_AUDMUX_V2_PTCR_SYN |
- MXC_AUDMUX_V2_PTCR_TFSDIR |
- MXC_AUDMUX_V2_PTCR_TFSEL(3) |
- MXC_AUDMUX_V2_PTCR_TCLKDIR |
- MXC_AUDMUX_V2_PTCR_TCSEL(3),
- MXC_AUDMUX_V2_PDCR_RXDSEL(3)
- );
- mxc_audmux_v2_configure_port(3,
- MXC_AUDMUX_V2_PTCR_SYN,
- MXC_AUDMUX_V2_PDCR_RXDSEL(0)
- );
-#endif
-
imx35_add_imx_uart1(&uart_pdata);
imx35_add_ipu_core(&mx3_ipu_data);
imx35_add_mx3_sdc_fb(&mx3fb_pdata);
diff --git a/sound/soc/imx/eukrea-tlv320.c b/sound/soc/imx/eukrea-tlv320.c
index 1c1fdd1..bfcb6d9 100644
--- a/sound/soc/imx/eukrea-tlv320.c
+++ b/sound/soc/imx/eukrea-tlv320.c
@@ -23,6 +23,7 @@
#include <sound/pcm.h>
#include <sound/soc.h>
#include <asm/mach-types.h>
+#include <mach/audmux.h>
#include "../codecs/tlv320aic23.h"
#include "imx-ssi.h"
@@ -97,12 +98,43 @@ static struct platform_device *eukrea_tlv320_snd_device;
static int __init eukrea_tlv320_init(void)
{
int ret;
-
- if (!machine_is_eukrea_cpuimx27() && !machine_is_eukrea_cpuimx25sd()
- && !machine_is_eukrea_cpuimx35sd()
- && !machine_is_eukrea_cpuimx51sd())
+ int int_port = 0, ext_port;
+
+ if (machine_is_eukrea_cpuimx27()) {
+ mxc_audmux_v1_configure_port(MX27_AUDMUX_HPCR1_SSI0,
+ MXC_AUDMUX_V1_PCR_SYN |
+ MXC_AUDMUX_V1_PCR_TFSDIR |
+ MXC_AUDMUX_V1_PCR_TCLKDIR |
+ MXC_AUDMUX_V1_PCR_RFSDIR |
+ MXC_AUDMUX_V1_PCR_RCLKDIR |
+ MXC_AUDMUX_V1_PCR_TFCSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) |
+ MXC_AUDMUX_V1_PCR_RFCSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) |
+ MXC_AUDMUX_V1_PCR_RXDSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4)
+ );
+ mxc_audmux_v1_configure_port(MX27_AUDMUX_HPCR3_SSI_PINS_4,
+ MXC_AUDMUX_V1_PCR_SYN |
+ MXC_AUDMUX_V1_PCR_RXDSEL(MX27_AUDMUX_HPCR1_SSI0)
+ );
+ } else if (machine_is_eukrea_cpuimx25sd() ||
+ machine_is_eukrea_cpuimx35sd() ||
+ machine_is_eukrea_cpuimx51sd()) {
+ ext_port = machine_is_eukrea_cpuimx25sd() ? 4 : 3;
+ mxc_audmux_v2_configure_port(int_port,
+ MXC_AUDMUX_V2_PTCR_SYN |
+ MXC_AUDMUX_V2_PTCR_TFSDIR |
+ MXC_AUDMUX_V2_PTCR_TFSEL(ext_port) |
+ MXC_AUDMUX_V2_PTCR_TCLKDIR |
+ MXC_AUDMUX_V2_PTCR_TCSEL(ext_port),
+ MXC_AUDMUX_V2_PDCR_RXDSEL(ext_port)
+ );
+ mxc_audmux_v2_configure_port(ext_port,
+ MXC_AUDMUX_V2_PTCR_SYN,
+ MXC_AUDMUX_V2_PDCR_RXDSEL(int_port)
+ );
+ } else {
/* return happy. We might run on a totally different machine */
return 0;
+ }
eukrea_tlv320_snd_device = platform_device_alloc("soc-audio", -1);
if (!eukrea_tlv320_snd_device)
--
1.7.5.4
next prev parent reply other threads:[~2012-03-05 14:30 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-05 14:30 [PATCH v2 00/17] ASoC: add imx-sgtl5000 machine driver working with fsl_ssi Shawn Guo
2012-03-05 14:20 ` Mark Brown
2012-03-05 14:44 ` Shawn Guo
2012-03-05 14:35 ` Mark Brown
2012-03-05 14:30 ` Shawn Guo [this message]
2012-03-05 17:46 ` [PATCH v2 01/17] ASoC: imx: move eukrea audmux call into ASoC machine driver Mark Brown
2012-03-05 17:55 ` Matt Sealey
2012-03-05 20:36 ` Mark Brown
2012-03-05 19:27 ` Sascha Hauer
2012-03-05 23:45 ` Shawn Guo
2012-03-06 0:06 ` Mark Brown
2012-03-05 14:30 ` [PATCH v2 02/17] ASoC: imx: move phycore " Shawn Guo
2012-03-05 14:30 ` [PATCH v2 03/17] ARM: imx: merge audmux-v1 and audmux-v2 Shawn Guo
2012-03-05 14:30 ` [PATCH v2 04/17] ARM: imx: convert audmux to a platform driver Shawn Guo
2012-03-05 14:30 ` [PATCH v2 05/17] ASoC: imx: move audmux driver into sound/soc/imx Shawn Guo
2012-03-05 14:30 ` [PATCH v2 06/17] ASoC: imx: rename audmux prefix mxc to imx Shawn Guo
2012-03-05 14:30 ` [PATCH v2 07/17] ASoC: imx: separate imx-pcm bits from imx-ssi driver Shawn Guo
2012-03-05 14:30 ` [PATCH v2 08/17] ASoC: imx: add an explicit Kconfig option for " Shawn Guo
2012-03-05 14:30 ` [PATCH v2 09/17] ASoC: fsl: separate SSI and DMA Kconfig options Shawn Guo
2012-03-07 20:20 ` Timur Tabi
2012-03-08 13:08 ` Shawn Guo
2012-03-05 14:30 ` [PATCH v2 10/17] ASoC: imx: merge sound/soc/imx into sound/soc/fsl Shawn Guo
2012-03-05 17:39 ` Sascha Hauer
2012-03-05 23:46 ` Shawn Guo
2012-03-06 5:46 ` Shawn Guo
2012-03-05 14:30 ` [PATCH v2 11/17] ASoC: fsl: create fsl_utils to accommodate the common functions Shawn Guo
2012-03-05 14:49 ` Mark Brown
2012-03-05 15:48 ` Timur Tabi
2012-03-05 16:15 ` Mark Brown
2012-03-06 6:27 ` Shawn Guo
2012-03-05 14:31 ` [PATCH v2 12/17] ASoC: fsl: check property 'compatible' for the machine name Shawn Guo
2012-03-05 14:31 ` [PATCH v2 13/17] ASoC: fsl: make fsl_ssi driver compilable on ARM/IMX Shawn Guo
2012-03-05 14:31 ` [PATCH v2 14/17] ASoC: fsl: remove the fatal error checking on codec-handle Shawn Guo
2012-03-05 14:31 ` [PATCH v2 15/17] ASoC: fsl: let fsl_ssi work with imx pcm and machine drivers Shawn Guo
2012-03-05 14:31 ` [PATCH v2 16/17] ASoC: fsl: add dt support for imx-audmux Shawn Guo
2012-03-06 12:49 ` Mark Brown
2012-03-06 13:13 ` Shawn Guo
2012-03-05 14:31 ` [PATCH v2 17/17] ASoC: fsl: add imx-sgtl5000 machine driver Shawn Guo
2012-03-05 14:46 ` Mark Brown
2012-03-06 7:39 ` Shawn Guo
2012-03-06 12:02 ` Mark Brown
2012-03-06 13:34 ` Shawn Guo
2012-03-06 13:35 ` Mark Brown
2012-03-05 17:42 ` Sascha Hauer
2012-03-05 18:09 ` Matt Sealey
2012-03-05 19:32 ` Sascha Hauer
2012-03-05 20:44 ` Mark Brown
2012-03-05 21:08 ` Timur Tabi
2012-03-06 15:50 ` Shawn Guo
2012-03-07 8:37 ` Sascha Hauer
2012-03-07 21:05 ` [PATCH v2 00/17] ASoC: add imx-sgtl5000 machine driver working with fsl_ssi Timur Tabi
2012-03-07 21:08 ` Mark Brown
2012-03-07 23:03 ` Timur Tabi
2012-03-08 11:51 ` Mark Brown
2012-03-08 12:33 ` Shawn Guo
2012-03-08 12:36 ` Tabi Timur-B04825
2012-03-07 23:18 ` Timur Tabi
2012-03-08 12:02 ` Mark Brown
2012-03-08 12:37 ` Shawn Guo
2012-03-08 13:11 ` Shawn Guo
2012-03-08 14:45 ` Tabi Timur-B04825
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=1330957865-19085-2-git-send-email-shawn.guo@linaro.org \
--to=shawn.guo@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
/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;
as well as URLs for NNTP newsgroup(s).