1
ALSA / ASoC:如何正确加载设备/驱动程序?
我正在使用Buildroot为NXP LPC3250微控制器构建嵌入式Linux(2.6.39.2)系统。 现在,我正在尝试启动和运行ALSA / ASoC,但是在使模块协同工作方面存在一些问题。(我认为!) 一些重要的背景: 我正在测试的板是Embedded Artists 3250 V2开发板。V2与V1的不同之处在于,它没有LCD屏幕,但包含 I2S音频编解码器:NXP UDA1380。LPCLinux版本的内核包含对EA3250 V1的主板支持。还有一个名为Phytec 3250的不同开发板,其中包含相同的UDA1380编解码器芯片。LPCLinux发行版还支持Phytec板以及音频编解码器芯片。据我所知,Phytec 3250开发板在I2C地址0x18上具有UDA1380编解码器。在我的EA3250 V2板上,音频编解码器位于I2C地址0x1a上。(我已经验证了芯片已通电,并且可以使用I2C工具包与之通信。它可以响应i2cdetect,并且可以使用i2cget从芯片正确读取寄存器。) 修改源: 我需要编辑Phytec 3250驱动程序文件以更改编解码器芯片的地址。我编辑了lpc3xxx-uda1380.c的这一部分: static struct snd_soc_dai_link phy3250_uda1380_dai[] = { { .name = "uda1380", .stream_name = "UDA1380 Duplex", #if defined(CONFIG_SND_LPC32XX_USEI2S1) .cpu_dai_name = "lpc3xxx-i2s1", #else .cpu_dai_name = "lpc3xxx-i2s0", #endif .codec_dai_name = "uda1380-hifi", .init = phy3250_uda1380_init, .platform_name …