Skip to contentSkip to conversation

eukrea-tlv320: add support for our i.MX25 board

PATCH In review Eric Bénard 3 participants 14 messages Jun 17, 2010 – Jun 25, 2010

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 eukrea-tlv320: add support for our i.MX25 board

* tdm slot has to be configured to get sound working on i.MX25

---
 sound/soc/imx/Kconfig         |    2 +-
 sound/soc/imx/eukrea-tlv320.c |    3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)
sound/soc/imx/Kconfig +1 -1
index fd292f1..fd616ae 100644
@@ -31,7 +31,7 @@ config SND_SOC_PHYCORE_AC97
 
 config SND_SOC_EUKREA_TLV320
 	bool "Eukrea TLV320"
-	depends on MACH_EUKREA_MBIMX27_BASEBOARD
+	depends on MACH_EUKREA_MBIMX27_BASEBOARD || MACH_EUKREA_MBIMXSD_BASEBOARD
 	select SND_MXC_SOC_SSI
 	select SND_SOC_TLV320AIC23
 	help
sound/soc/imx/eukrea-tlv320.c +2 -1
index 968380a..45f5e4b 100644
@@ -60,6 +60,7 @@ static int eukrea_tlv320_hw_params(struct snd_pcm_substream *substream,
 		pr_err("%s: failed setting codec sysclk\n", __func__);
 		return ret;
 	}
+	snd_soc_dai_set_tdm_slot(cpu_dai, 0xffffffc, 0xffffffc, 2, 0);
 
 	ret = snd_soc_dai_set_sysclk(cpu_dai, IMX_SSP_SYS_CLK, 0,
 				SND_SOC_CLOCK_IN);
@@ -100,7 +101,7 @@ static int __init eukrea_tlv320_init(void)
 {
 	int ret;
 
-	if (!machine_is_eukrea_cpuimx27())
+	if (!machine_is_eukrea_cpuimx27() && !machine_is_eukrea_cpuimx25sd())
 		/* return happy. We might run on a totally different machine */
 		return 0;
 
Signature · 6 lines
1.6.3.3

_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Acked-by on v1 1/1
#1 lore raw
Quoted 34 lines · Eric Bénard

* tdm slot has to be configured to get sound working on i.MX25

---
 sound/soc/imx/Kconfig         |    2 +-
 sound/soc/imx/eukrea-tlv320.c |    3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)
sound/soc/imx/Kconfig +1 -1
index fd292f1..fd616ae 100644
@@ -31,7 +31,7 @@ config SND_SOC_PHYCORE_AC97
 
 config SND_SOC_EUKREA_TLV320
 	bool "Eukrea TLV320"
-	depends on MACH_EUKREA_MBIMX27_BASEBOARD
+	depends on MACH_EUKREA_MBIMX27_BASEBOARD || MACH_EUKREA_MBIMXSD_BASEBOARD
 	select SND_MXC_SOC_SSI
 	select SND_SOC_TLV320AIC23
 	help
sound/soc/imx/eukrea-tlv320.c +1 -0
index 968380a..45f5e4b 100644
@@ -60,6 +60,7 @@ static int eukrea_tlv320_hw_params(struct snd_pcm_substream *substream,
 		pr_err("%s: failed setting codec sysclk\n", __func__);
 		return ret;
 	}
+	snd_soc_dai_set_tdm_slot(cpu_dai, 0xffffffc, 0xffffffc, 2, 0);
 
 	ret = snd_soc_dai_set_sysclk(cpu_dai, IMX_SSP_SYS_CLK, 0,
 				SND_SOC_CLOCK_IN);

sound/soc/imx/eukrea-tlv320.c static int __init eukrea_tlv320_init(void) · line 107

Quoted 8 lines
sound/soc/imx/eukrea-tlv320.c +1 -1
@@ -100,7 +101,7 @@ static int __init eukrea_tlv320_init(void)
 {
 	int ret;
 
-	if (!machine_is_eukrea_cpuimx27())
+	if (!machine_is_eukrea_cpuimx27() && !machine_is_eukrea_cpuimx25sd())
 		/* return happy. We might run on a totally different machine */
 		return 0;
 
Signature · 8 lines
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk

_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
#3 lore raw

Hi Mark,

Quoted 8 lines · Mark Brown
Quoted 3 lines · Eric Bénard

* tdm slot has to be configured to get sound working on i.MX25

Applied but I had to hand apply the Kconfig update, please check that it applied correctly.

Yes this seems fine, sorry I wasn't rebased against the right tree.

This Kconfig seems to have unecessary things into it :
- config SND_MXC_SOC_SSI :
not used in the kernel
- 1st board :
depends on SND_IMX_SOC
select SND_MXC_SOC_SSI
- 2nd board :
select SND_MXC_SOC_SSI
but doesn't depends on SND_IMX_SOC
- 3rd board :
select SND_IMX_SOC

Do you have any idea what SND_MXC_SOC_SSI is used for ?

Please find attached a patch which should clean this Kconfig. If it's ok for you, I'll submit it the right way.

Eric

Quoted 1 line

From e177e758ad220e5f77d8321731e89f5b8b5da337 Mon Sep 17 00:00:00 2001

From: =?utf-8?q?Eric=20B=C3=A9nard?= <[email protected]>
Date: Fri, 18 Jun 2010 09:06:45 +0200
Subject: [PATCH] soc/imx: clean Kconfig
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

---
 sound/soc/imx/Kconfig |   10 ++--------
 1 files changed, 2 insertions(+), 8 deletions(-)
sound/soc/imx/Kconfig +2 -8
index 6ef57e0..35e6cf6 100644
@@ -8,22 +8,17 @@ config SND_IMX_SOC
 	  Say Y or M if you want to add support for codecs attached to
 	  the i.MX SSI interface.
 
-config SND_MXC_SOC_SSI
-	tristate
-
 config SND_MXC_SOC_WM1133_EV1
 	tristate "Audio on the the i.MX31ADS with WM1133-EV1 fitted"
 	depends on SND_IMX_SOC && MACH_MX31ADS_WM1133_EV1 && EXPERIMENTAL
 	select SND_SOC_WM8350
-	select SND_MXC_SOC_SSI
 	help
 	  Enable support for audio on the i.MX31ADS with the WM1133-EV1
 	  PMIC board with WM8835x fitted.
 
 config SND_SOC_PHYCORE_AC97
 	tristate "SoC Audio support for Phytec phyCORE (and phyCARD) boards"
-	depends on MACH_PCM043 || MACH_PCA100
-	select SND_MXC_SOC_SSI
+	depends on SND_IMX_SOC && (MACH_PCM043 || MACH_PCA100)
 	select SND_SOC_WM9712
 	help
 	  Say Y if you want to add support for SoC audio on Phytec phyCORE
@@ -31,8 +26,7 @@ config SND_SOC_PHYCORE_AC97
 
 config SND_SOC_EUKREA_TLV320
 	bool "Eukrea TLV320"
-	depends on MACH_EUKREA_MBIMX27_BASEBOARD || MACH_EUKREA_MBIMXSD_BASEBOARD
-	select SND_IMX_SOC
+	depends on SND_IMX_SOC && (MACH_EUKREA_MBIMX27_BASEBOARD || MACH_EUKREA_MBIMXSD_BASEBOARD)
 	select SND_SOC_TLV320AIC23
 	help
 	  Enable I2S based access to the TLV320AIC23B codec attached
Signature · 1 line
1.6.3.3

_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

#4 lore raw
Quoted 3 lines · Eric Bénard

This Kconfig seems to have unecessary things into it :
- config SND_MXC_SOC_SSI :
not used in the kernel

That's supposed to be being used to build the SSI driver as a separate module.

Quoted 1 line

- 1st board :

It'd be helpful to use actual names to make your mails legible, otherwise it's like Outlook style mail.

Quoted 8 lines

depends on SND_IMX_SOC
select SND_MXC_SOC_SSI
- 2nd board :
select SND_MXC_SOC_SSI
but doesn't depends on SND_IMX_SOC
- 3rd board :
select SND_IMX_SOC

Quoted 4 lines

Do you have any idea what SND_MXC_SOC_SSI is used for ?

Please find attached a patch which should clean this Kconfig. If it's ok for you, I'll submit it the right way.

This isn't the best approach, converting things so SND_IMX_SOC is a menu and we don't need to reference that at all from the individual items would be nicer since it saves having to do per-board handling.

#5 lore raw
Quoted 8 lines · Mark Brown
Quoted 3 lines · Eric Bénard

This Kconfig seems to have unecessary things into it :
- config SND_MXC_SOC_SSI :
not used in the kernel

That's supposed to be being used to build the SSI driver as a separate module.

ok, we can suppose that if someone introduce the possibility to build the SSI driver as a separate module, he will add the right Kconfig option.

Quoted 5 lines
Quoted 1 line

- 1st board :

It'd be helpful to use actual names to make your mails legible, otherwise it's like Outlook style mail.

I don't understand what you mean here. What is "Outlook style mail" ?

Quoted 6 lines
Quoted 2 lines

Please find attached a patch which should clean this Kconfig. If it's ok for you, I'll submit it the right way.

This isn't the best approach, converting things so SND_IMX_SOC is a menu and we don't need to reference that at all from the individual items would be nicer since it saves having to do per-board handling.

OK, if I understood correctly what you mean here, the following patch should be better.

Thanks,
Eric

#6 lore raw
Quoted 8 lines · Eric Bénard
Quoted 2 lines · Mark Brown

That's supposed to be being used to build the SSI driver as a separate module.

ok, we can suppose that if someone introduce the possibility to build the SSI driver as a separate module, he will add the right Kconfig option.

This should just be a matter of a simple Makefile edit.

Quoted 6 lines
Quoted 4 lines
Quoted 1 line

- 1st board :

It'd be helpful to use actual names to make your mails legible, otherwise it's like Outlook style mail.

I don't understand what you mean here. What is "Outlook style mail" ?

Replying by adding text at the top of a message without trimming any context.

#7 lore raw
Quoted 12 lines · Mark Brown
Quoted 8 lines · Eric Bénard
Quoted 2 lines · Mark Brown

That's supposed to be being used to build the SSI driver as a separate module.

ok, we can suppose that if someone introduce the possibility to build the SSI driver as a separate module, he will add the right Kconfig option.

This should just be a matter of a simple Makefile edit.

this should be simple but unless yoou accept it as an untested change, it would require testing when built as a module and I don't have the bandwitdh to do this testing.

Quoted 10 lines
Quoted 6 lines
Quoted 4 lines
Quoted 1 line

- 1st board :

It'd be helpful to use actual names to make your mails legible, otherwise it's like Outlook style mail.

I don't understand what you mean here. What is "Outlook style mail" ?

Replying by adding text at the top of a message without trimming any context.

there was no top posting in my email and the only goal of 1st/2nd/3rd board enumeration was to provide a simple context showing the fact that 3 MXC boards are handling the Kconfig options in 3 different ways (providing the exact CONFIG name of each boards didn't seems to me as a necessary information for readers to understand this fact in this context).

Eric

#8 lore raw
In reply to Mark Brown

Hi Mark,

Quoted 7 lines · Mark Brown
Quoted 3 lines · Eric Bénard

ok, we can suppose that if someone introduce the possibility to build the SSI driver as a separate module, he will add the right Kconfig option.

This should just be a matter of a simple Makefile edit.

OK, I gave this a quick try and it doesn't seem actually possible to compile imx-ssi.c as a module without changing some code to separate ssi and pcm parts which are actually mixed in imx-ssi.c.
So actually, selecting SND_IMX_SOC as a module produces snd-soc.imx.ko which integrates the SSI driver + the PCM drivers.

So actually the 3 following configurations are possible (and tested on my i.MX27 board) with the patch I sent for Kconfig :
- imx soc driver in kernel, board driver in kernel
- imx soc driver in kernel, board driver (snd-soc-eukrea-tlv320.ko) as a module
- imx soc driver (snd-soc-imx.ko) and board driver (snd-soc-eukrea-tlv320.ko) as 2 modules.

Also thanks for suggesting this Makefile edit, this allowed me to fix sound support for my board when soc is compiled as a module ;-)

Eric

#9 lore raw

PATCH 1/1 soc/imx: clean Kconfig

In reply to Mark Brown
---
 sound/soc/imx/Kconfig |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)
sound/soc/imx/Kconfig +6 -8
index 6ef57e0..2f0d6d3 100644
@@ -1,4 +1,4 @@
-config SND_IMX_SOC
+menuconfig SND_IMX_SOC
 	tristate "SoC Audio for Freescale i.MX CPUs"
 	depends on ARCH_MXC
 	select SND_PCM
@@ -8,14 +8,12 @@ config SND_IMX_SOC
 	  Say Y or M if you want to add support for codecs attached to
 	  the i.MX SSI interface.
 
-config SND_MXC_SOC_SSI
-	tristate
+if SND_IMX_SOC
 
 config SND_MXC_SOC_WM1133_EV1
 	tristate "Audio on the the i.MX31ADS with WM1133-EV1 fitted"
-	depends on SND_IMX_SOC && MACH_MX31ADS_WM1133_EV1 && EXPERIMENTAL
+	depends on MACH_MX31ADS_WM1133_EV1 && EXPERIMENTAL
 	select SND_SOC_WM8350
-	select SND_MXC_SOC_SSI
 	help
 	  Enable support for audio on the i.MX31ADS with the WM1133-EV1
 	  PMIC board with WM8835x fitted.
@@ -23,17 +21,17 @@ config SND_MXC_SOC_WM1133_EV1
 config SND_SOC_PHYCORE_AC97
 	tristate "SoC Audio support for Phytec phyCORE (and phyCARD) boards"
 	depends on MACH_PCM043 || MACH_PCA100
-	select SND_MXC_SOC_SSI
 	select SND_SOC_WM9712
 	help
 	  Say Y if you want to add support for SoC audio on Phytec phyCORE
 	  and phyCARD boards in AC97 mode
 
 config SND_SOC_EUKREA_TLV320
-	bool "Eukrea TLV320"
+	tristate "Eukrea TLV320"
 	depends on MACH_EUKREA_MBIMX27_BASEBOARD || MACH_EUKREA_MBIMXSD_BASEBOARD
-	select SND_IMX_SOC
 	select SND_SOC_TLV320AIC23
 	help
 	  Enable I2S based access to the TLV320AIC23B codec attached
 	  to the SSI4 interface
+
+endif	# SND_IMX_SOC
Signature · 6 lines
1.6.3.3

_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
#10 lore raw

Re: [PATCH] soc/imx: clean Kconfig

Hi Mark,

Quoted 47 lines · Eric Bénard
---
  sound/soc/imx/Kconfig |   14 ++++++--------
  1 files changed, 6 insertions(+), 8 deletions(-)
sound/soc/imx/Kconfig +3 -6
index 6ef57e0..2f0d6d3 100644
@@ -1,4 +1,4 @@
-config SND_IMX_SOC
+menuconfig SND_IMX_SOC
  	tristate "SoC Audio for Freescale i.MX CPUs"
  	depends on ARCH_MXC
  	select SND_PCM
@@ -8,14 +8,12 @@ config SND_IMX_SOC
  	  Say Y or M if you want to add support for codecs attached to
  	  the i.MX SSI interface.
 
-config SND_MXC_SOC_SSI
-	tristate
+if SND_IMX_SOC
 
  config SND_MXC_SOC_WM1133_EV1
  	tristate "Audio on the the i.MX31ADS with WM1133-EV1 fitted"
-	depends on SND_IMX_SOC&&  MACH_MX31ADS_WM1133_EV1&&  EXPERIMENTAL
+	depends on MACH_MX31ADS_WM1133_EV1&&  EXPERIMENTAL
  	select SND_SOC_WM8350
-	select SND_MXC_SOC_SSI
  	help
  	  Enable support for audio on the i.MX31ADS with the WM1133-EV1
  	  PMIC board with WM8835x fitted.
@@ -23,17 +21,17 @@ config SND_MXC_SOC_WM1133_EV1
  config SND_SOC_PHYCORE_AC97
  	tristate "SoC Audio support for Phytec phyCORE (and phyCARD) boards"
  	depends on MACH_PCM043 || MACH_PCA100
-	select SND_MXC_SOC_SSI
  	select SND_SOC_WM9712
  	help
  	  Say Y if you want to add support for SoC audio on Phytec phyCORE
  	  and phyCARD boards in AC97 mode
 
  config SND_SOC_EUKREA_TLV320

sound/soc/imx/Kconfig config SND_MXC_SOC_WM1133_EV1 · line 37

Quoted 10 lines
sound/soc/imx/Kconfig +3 -2
-	bool "Eukrea TLV320"
+	tristate "Eukrea TLV320"
  	depends on MACH_EUKREA_MBIMX27_BASEBOARD || MACH_EUKREA_MBIMXSD_BASEBOARD
-	select SND_IMX_SOC
  	select SND_SOC_TLV320AIC23
  	help
  	  Enable I2S based access to the TLV320AIC23B codec attached
  	  to the SSI4 interface
+
+endif	# SND_IMX_SOC

is this patch OK or should I rework it ?

Thanks,
Eric
_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

#11 lore raw

Re: [PATCH] soc/imx: clean Kconfig

Quoted 1 line · Eric Bénard

is this patch OK or should I rework it ?

Liam needs to review it.

Acked-by
#12 lore raw

Re: [PATCH] soc/imx: clean Kconfig

Quoted 5 lines · Mark Brown
Quoted 1 line · Eric Bénard

is this patch OK or should I rework it ?

Liam needs to review it.

Eric, sorry I missed this one.

Signature · 8 lines
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk

_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
#13 lore raw

Re: [PATCH] soc/imx: clean Kconfig

In reply to Eric Bénard
Quoted 1 line · Eric Bénard

Applied but please try to use a standard subject line for your patches and avoid listing large numbers of CCs in the body of the mail that's sent out, these things mean that I need to hand-modify your changelog after applying.