On Fri, 2010-06-25 at 16:51 +1200, Ryan Mallon wrote:
On 06/25/2010 11:38 AM, Ryan Mallon wrote:
On 06/25/2010 11:12 AM, Mark Brown wrote:
Do you actually see sound cards appearing? The log message at boot is purely informational, cards can probe at any time.
Define DEBUG at the top of soc-audio.c if the card never appears at all then look at the log messages - they will say why the card is not being instantiated.
Hmm. If I define DEBUG at the top of sound/soc/soc-core.c I get this (boots fine without DEBUG, but have no sound cards):
The crash was caused because I wasn't setting codec_drv in the snd_soc_dai_link for the Snapper CL15 (updated patch below). I still have no sound cards. I get the following in dmesg:
tlv320aic23 0-001a: probe tlv320aic23 0-001a: codec register tlv320aic23 26 tlv320aic23 0-001a: dai register tlv320aic23 0 Registered DAI 'tlv320aic23.0' Registered codec 'tlv320aic23.26' i2c-core: driver [tlv320aic23] registered ep93xx-pcm-audio ep93xx-pcm-audio: platform register ep93xx-audio -1 Registered platform 'ep93xx-audio' ep93xx-i2s ep93xx-i2s: dai register ep93xx-i2s -1 Registered DAI 'ep93xx-i2s.-1' soc-audio soc-audio: CODEC tlv320aic23 not registered soc-audio soc-audio: Registered card 'Snapper CL15' ALSA device list: No soundcards found.
I don't understand why the tlv320 codec is not being registered. Any ideas?
Since we now support N codecs, some codecs will now require an ID field to distinguish them from others. e.g. a board with two WM8750 codecs would have codecs at I2C addresses 0x1a and 0x1b, hence will require each codec to be identified on the DAI link.
Can you try this patch below. From the output it looks like your tlv320aic23 is at I2C address 26.
diff --git a/sound/soc/ep93xx/snappercl15.c b/sound/soc/ep93xx/snappercl15.c index aeb822d..72b7913 100644 --- a/sound/soc/ep93xx/snappercl15.c +++ b/sound/soc/ep93xx/snappercl15.c @@ -94,6 +94,7 @@ static struct snd_soc_dai_link snappercl15_dai = { .cpu_dai_drv = &ep93xx_i2s_dai, .codec_dai_drv = &tlv320aic23_dai, .codec_drv = &soc_codec_dev_tlv320aic23, + .codec_id = 26, .platform_drv = &ep93xx_soc_platform, .init = snappercl15_tlv320aic23_init, .ops = &snappercl15_ops,
~Ryan
Fix build errors and warnings for ep93xx/snapper cl15 asoc multi-component support
Signed-off-by: Ryan Mallon ryan@bluewatersys.com
Thanks. Applied.
Liam