[alsa-devel] simple-audio-card vs. platform question
Ricard Wanderlof
ricard.wanderlof at axis.com
Tue Jan 27 13:01:58 CET 2015
I'm trying to set up a simple device tree framework so I can do some
development on an I2S driver. I'm trying to use simple-audio-card, but I
keep running into the problem that once soc_bind_dai_link() gets called,
dai_link->platform is set to NULL (because it is not initialized by
simple-card.c when there is a DT node), while dai_link->platform_of_node
has been set to dai_link->cpu_of_node in asoc_simple_card_parse_of().
This results in the following code in soc-core:soc_bind_dai_link() to set
platform to NULL,
/* if there's no platform we match on the empty platform */
platform_name = dai_link->platform_name;
if (!platform_name && !dai_link->platform_of_node)
platform_name = "snd-soc-dummy";
/* find one from the set of registered platforms */
list_for_each_entry(platform, &platform_list, list) {
if (dai_link->platform_of_node) {
if (platform->dev->of_node !=
dai_link->platform_of_node)
continue;
} else {
if (strcmp(platform->component.name, platform_name))
continue;
}
rtd->platform = platform;
}
if (!rtd->platform) {
dev_err(card->dev, "ASoC: platform %s not registered\n",
dai_link->platform_name);
return -EPROBE_DEFER;
}
with -EPROBE_DEFER as a result.
I can't figure out either how to set up a platform (=DMA) driver in this
environment. Perhaps the case of having a CPU DAI, DMA driver and codec
DAI is not supported by simple-audio-card?
On other hand, the way it looks there is no way the resulting setup can
get through soc_bind_dai_link() unless there is a platform and associated
driver.
This indicates to me that I'm doing something seriously wrong in my setup,
but having looked at various DT configurations in arch/arm/boot/dts in
this case, as well as the documentation in
Documentation/devicetree/bindings/sound/simple-card.txt I can't figure how
to set it up any other way.
/Ricard
--
Ricard Wolf Wanderlöf ricardw(at)axis.com
Axis Communications AB, Lund, Sweden www.axis.com
Phone +46 46 272 2016 Fax +46 46 13 61 30
More information about the Alsa-devel
mailing list