ALSA / ASoC:デバイス/ドライバーを正しくロードする方法は?
Buildrootを使用して、NXP LPC3250マイクロコントローラー用の組み込みLinux(2.6.39.2)システムを構築しています。 現在、ALSA / ASoCを起動して実行しようとしていますが、モジュールを一緒に機能させるのにいくつか問題があります。(おもう!) 重要な背景: 私がテストしているボードは、Embedded Artists 3250 V2開発ボードです。V2は、LCD画面がないという点でV1とは異なりますが、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 = "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 = …