我正在使用 Buildroot 为 NXP LPC3250 微控制器构建嵌入式 Linux (2.6.39.2) 系统。
现在,我正在尝试启动并运行 ALSA/ASoC,但在让模块协同工作时遇到了一些问题。(我认为!)
我正在测试的板是Embedded Artists 3250 V2 开发板。V2 与 V1 的不同之处在于它没有 LCD 屏幕,但包含I2S 音频编解码器:NXP UDA1380。对 EA3250 V1 的电路板支持包含在内核的LPCLinux版本中。还有一个不同的开发板,称为Phytec 3250,其中包含相同的 UDA1380 编解码器芯片。LPCLinux 发行版还支持 Phytec 板以及音频编解码器芯片。据我所知,Phytec 3250 板在 I2C 地址0x18上具有 UDA1380 编解码器。在我的 EA3250 V2 板上,音频编解码器位于 I2C 地址0x1a。(我已经验证芯片已通电,我可以使用 I2C-tools 包与它通信。它响应 i2cdetect,我可以使用 i2cget 从芯片正确读取寄存器。)
我需要编辑 Phytec 3250 驱动程序文件来更改编解码器芯片的地址。我编辑了lpc3xxx-uda1380.c 的这一部分:
static struct snd_soc_dai_link phy3250_uda1380_dai[] = {
{
.name = …Run Code Online (Sandbox Code Playgroud)